Я знаю, что определенный диапазон IP-адресов вызывает проблемы с моим сервером, 172.64.*.*
каков наилучший способ заблокировать доступ к моему экземпляру Amazon EC2? Есть ли способ сделать это с помощью групп безопасности или лучше сделать это с помощью брандмауэра на самом сервере?
27
Ответы:
Заблокируйте трафик на сервере и брандмауэре, если это возможно, на всякий случай.
Группы безопасности хороши тем, что они являются внешними по отношению к вашему хосту, поэтому данные никогда не доходят до вас. Однако они не так настраиваемы, как большинство серверных брандмауэров.
К сожалению, группы безопасности EC2 могут «разрешать» услуги только с помощью политики запрета по умолчанию. Таким образом, если вы пытаетесь заблокировать доступ к общедоступной «разрешенной» службе для небольшого диапазона IP-адресов, создание правила разрешения для «остальной части Интернета» немного сложнее, чем просто блокирование диапазона IP-адресов. Как вы указали хороший большой кусок, список диапазонов сети, не включающий 172.64.0.0/16, не слишком длинный:
Этот список должен быть добавлен для вашего порта (ов). Затем вы можете удалить правило «разрешить все» для этого порта. Если у вас есть несколько портов, которые вы хотите сделать для этого, которые не являются смежными, их список нужно будет вводить несколько раз. Если у вас несколько групп безопасности, это может быстро вырасти до неуправляемости.
Локальный межсетевой экран также будет работать.
iptables
доступно на Amazon AMI по умолчанию и во всех дистрибутивах LinuxПосле добавления ваших правил вам необходимо сохранить их и убедиться, что
iptables
служба запускается при загрузке.Файл конфигурации для сохранения будет зависеть от дистрибутивов.
Использование VPC
Если вы используете VPC для своих экземпляров, вы можете указать «Network ACLS», который работает в вашей подсети. Сетевые ACL-списки позволяют вам писать и разрешать, и запрещать правила, поэтому я бы порекомендовал сделать это так.
источник
iptables
не работает, так что вы имеете в виду большие подсети разрешает в группе безопасности?Простейший способ остановить трафик (при условии использования VPC) - добавить его в ACL сети VPC этого экземпляра и запретить весь трафик с этого IP-адреса.
Следует помнить, что номер запрещающего правила должен быть меньше первого разрешенного номера правила.
источник
Я дважды сталкивался с проблемой и понял, что моя ситуация в EC2 немного другая:
iptables
не работает, если ваши серверы находятся в кластере за эластичным балансировщиком нагрузки (ELB) - IP-адрес, о котором знает экземпляр, это адрес ELB.Если ваш ELB настроен в более современной конфигурации, посмотрите этот ответ SO: /programming/20123308/how-to-configure-aws-elb-to-block-sure-ip-addresses-known -spammers
В нашем случае у нас не все было хорошо настроено, поэтому мне пришлось использовать Apache, который может искать
X-FORWARDED-FOR
заголовок и блокировать IP-адреса из этого.Добавьте это к вашей конфигурации apache (возможно, в блоке VirtualHost):
Это проверит заголовок, который установлен ELB
Сохраните конфигурацию, протестируйте
apache2ctl -t
для debian / ubuntu (илиapachectl -t
для RHEL), затем перезапустите apache.Это просто отправляет
403 Forbidden
ответ обратноисточник
Блокировка трафика с одного диапазона IP / IP в AWS
Вот краткое руководство: http://chopmo.dk/posts/2015/06/13/blocking-traffic-in-aws.html
источник