Правильное использование белых списков 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-адреса одновременно или я должен добавить их вручную один за другим..

2 ответа

Я не могу комментировать, насколько разумно жестко кодировать сетевые блоки вашей CDN, потому что я предполагаю, что вы продумали это и имеете способ обеспечить обновление, если они развернут системы в новом центре данных. Однако я отмечу, что вам нужно разделять запятыми эти CIDR-нотационные сетевые блоки, а не разделять их пробелами.:)

Также: ваш текущий вызов будет работать после очистки синтаксиса, но если вы не укажете номер правила после -I INPUT, он будет добавлен в конце вашей цепочки, где у вас, вероятно, уже есть правило запрета по умолчанию. Другими словами: это правило ничего не будет делать там, где его собирается поместить команда.

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

Вместо того, чтобы пытаться поместить их все в одну строку, у вас должна быть одна строка на диапазон 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

К счастью, у них есть списки, доступные в виде простых текстовых файлов, которые вы можете время от времени извлекать и включать в сценарий построения межсетевого экрана.

Другие вопросы по тегам