Вопрос

Мы обычно обращаемся к черным спискам IPS iptables. Отказ Но в Amazon EC2, если соединение проходит через балансировщик упругости нагрузки, удаленный адрес будет заменен адресом балансировщика нагрузки, рендеринг iptables бесполезный. В случае http, по-видимому, единственный способ узнать реальный удаленный адрес - смотреть на заголовок HTTP HTTP_X_FORWARDED_FOR. Отказ Для меня блокирующие IPS на уровне веб-приложения не являются эффективным способом.

Какова лучшая практика для защиты от нападения DOS в этом сценарии?

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

Это было полезно?

Решение

Я думаю, что вы описали все текущие варианты. Возможно, вы захотите перезвонить на некоторых нитях форума AWS, чтобы проголосовать за решение - инженеры и руководство Amazon открыты для предложений для улучшений эльба.

Другие советы

Если вы развертываете свой ELB и экземпляры, используя VPC вместо EC2-Classic, вы можете использовать группы безопасности и Network ACL для ограничения доступа к ELB.

http://docs.aws.azomazon.com/elasticalloadbalance/latest/devolyserguide/usvpc_applysg.html.

Обычно запустить сервер приложений за обратным прокси. Ваш обратный прокси - это слой, который вы можете использовать для добавления защиты DOS перед трафиком доходит до вашего сервера приложений. Для Nginx вы можете посмотреть на модуль ограничения скорости как то, что могло бы помочь.

Вы можете настроить хост EC2 и запустить HAProxy там самостоятельно (это то, что Amazon использует в любом случае!). Затем вы можете применить ваши iPtables-фильтры в этой системе.

Вот инструмент, который я сделал для тех, кто ищет использовать Fail2ban на AWS с Apache, Elb и ACL: https://github.com/anthonyartin/aws-acl-fail2ban.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top