Назад | Перейти на главную страницу

Правильное использование белых списков IP-адресов cloudflare в iptables

Я относительно новичок в использовании командной строки, поэтому я по понятным причинам нервничаю из-за того, что возился с таблицами 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, он будет добавлен в конец вашей цепочки, где у вас, вероятно, уже есть правило запрета по умолчанию. Другими словами: это правило ничего не сделает там, где эта команда его поместит.

Лучший способ справиться с этим - найти и отредактировать файл правил, а затем перезагрузить его.