Я хочу заблокировать ВСЕ входящий трафик с IP-адресов Amazon AWS.
Здесь они публикуют список своих IP-адресов в формате json: http://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html
У меня есть выделенный сервер под управлением Ubuntu 14.04 LTS.
Есть ли способ сделать это с помощью iptables? Можно ли каким-то образом сгруппировать правила, чтобы их можно было периодически заменять, не затрагивая несвязанные правила? Или, возможно, есть другой, лучший способ подойти к этому?
Спасибо!
Я использовал информацию, предоставленную alienth, для создания сценария bash для блокировки всего трафика AWS. Вы можете получить его на GitHub: https://github.com/corbanworks/aws-blocker
Вы можете создать новую цепочку iptables, которую можно отдельно очищать и обновлять.
$ iptables -N AWS
$ iptables -I INPUT 1 -j AWS
Отсюда просто добавьте все диапазоны IP-адресов в цепочку AWS. Чтобы обновить правила, просто iptables -F AWS
и заселить заново. Например:
$ iptables -F AWS
$ iptables -A AWS -s 50.19.0.0/16 -j REJECT
Если вы хотите автоматизировать это, вам нужно выяснить, насколько достоверны IP-данные, предоставляемые AWS. При извлечении файла JSON убедитесь, что вы правильно подтвердили сертификат SSL. По-прежнему существует вероятность того, что AWS может выпустить искаженный файл, в результате чего автоматический скрипт iptables блокирует то, что вы не хотите блокировать.
Я загрузил самый последний список IP-адресов AWS по состоянию на 21.08.2019 и очистил его, чтобы вы могли просто скопировать и вставить его в любой список или таблицу запрещенных IP-адресов: https://textuploader.com/1t5o0
Ненавижу AWS, от них исходят только тролли и боты, ни один нормальный человек, занимающийся серфингом в сети, не будет использовать свои IP-адреса. Я получаю около 8000 посещений в день на моем сайте, и как только я добавил этот список в свой брандмауэр WHM Deny, мой сервер / сайт перестал получать волны плохого трафика и скачки на сервере, которые замедляли мой сайт, не случайно.