Я относительно новичок в использовании командной строки, поэтому я по понятным причинам нервничаю из-за того, что возился с таблицами IP-адресов и случайно делаю что-то не так, что, следовательно, открывает уязвимости в брандмауэре.
Итак, я подумал, что спрошу здесь, правильно ли я использую мою команду, прежде чем на самом деле пытаться добавить это правило белого списка IP через ssh.
iptables -I INPUT -p tcp -m multiport --dports http,https -s 204.93.240.0/24 204.93.177.0/24 199.27.128.0/21 173.245.48.0/20 103.22.200.0/22 141.101.64.0/18 108.162.192.0/18 190.93.240.0/20 188.114.96.0/20 -j ACCEPT
Это правильное использование? Не совсем уверен, можно ли добавить все эти IP-адреса сразу или мне придется добавлять их вручную один за другим ..
Вместо того, чтобы пытаться поместить их все в одну строку, вам следует иметь одну строку на Диапазон IP-адресов. К сожалению, похоже, что CloudFlare рекомендует именно это.
Итак, полный список будет выглядеть так:
iptables -A INPUT -p tcp -m multiport --dports http,https -s 204.93.240.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports http,https -s 204.93.177.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports http,https -s 199.27.128.0/21 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports http,https -s 173.245.48.0/20 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports http,https -s 103.22.200.0/22 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports http,https -s 141.101.64.0/18 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports http,https -s 108.162.192.0/18 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports http,https -s 190.93.240.0/20 -j ACCEPT
ip6tables -A INPUT -p tcp -m multiport --dports http,https -s 2400:cb00::/32 -j ACCEPT
ip6tables -A INPUT -p tcp -m multiport --dports http,https -s 2606:4700::/32 -j ACCEPT
К счастью, у них есть списки, доступные в виде простых текстовых файлов, которые вы можете время от времени извлекать и включать в сценарий построения межсетевого экрана.
Я не могу комментировать, насколько разумно жестко закодировать сетевые блоки вашего CDN, потому что я предполагаю, что вы продумали это и у вас есть способ убедиться, что вы обновлены, если они развертывают системы в новом центре обработки данных. Однако я отмечу, что вам нужно разделять запятыми эти сетевые блоки с пометкой CIDR, а не разделять их пробелами. :)
Также: ваш текущий вызов будет работать после очистки синтаксиса, но если вы не укажете номер правила после -I INPUT
, он будет добавлен в конец вашей цепочки, где у вас, вероятно, уже есть правило запрета по умолчанию. Другими словами: это правило ничего не сделает там, где эта команда его поместит.
Лучший способ справиться с этим - найти и отредактировать файл правил, а затем перезагрузить его.