У меня вопрос, который является продолжением этого: Примеры, когда AWS Security Group недостаточно в качестве брандмауэра?. Первоначально ответ на этот вопрос имел для меня смысл, и я работал с предположением, что брандмауэр, являющийся группой безопасности AWS, на данный момент достаточно хорош для моей инфраструктуры приложений (AWS VPC с общедоступными / частными подсетями + Интернет-шлюз + устройство NAT + Эластичный балансировщик нагрузки).
Однако сегодня утром, когда я проснулся и проверил журналы своего сервера, я увидел, что получил ок. тысяча спам-запросов GET за ночь по несуществующим путям, в результате чего с моего сервера было получено 404 ответа. Просьбы продолжали поступать и не подавали признаков прекращения. IP-адреса для запросов были разными, но в определенном диапазоне. Итак, я обновил правила для входящих сетевых списков ACL на моем Elastic Load Balancer и добавил одно, чтобы ЗАПРЕТИТЬ доступ к IP-адресам из этого диапазона. На этом этапе запросы перестали попадать на мой сервер приложений.
Я не знаю, пытался ли злоумышленник отправить меня в DOS или это просто стандартный спам. Я получал запросы, подобные этому, то тут, то там каждые несколько часов, за последние несколько недель с тех пор, как моя система вышла в сеть, но количество / частота этих запросов я никогда не видел. Я относительно новичок в работе с серверами. Я счастлив, что смог заблокировать атаку, чтобы продолжить загружать мои серверы приложений, но мне интересно, был ли у меня брандмауэр веб-приложений (реализованный как сэндвич WAF: Load Balancer-WAF-Load Balancer) , если бы я позаботился обо всей ситуации.
Поскольку я новичок в этой сфере, ответ для меня неясен, когда я читаю здесь маркетинговые детали различных продуктов WAF: https://aws.amazon.com/marketplace/search/results/ref=srh_navgno_search_box?page=1&searchTerms=web+application+firewall. Я действительно ищу практический совет о том, нужен ли мне WAF в моей инфраструктуре (т.е. я не могу полагаться на группы безопасности AWS для защиты моей системы от спама / DDOS) и какие основные функции мне нужны в продукте. Заранее спасибо!
P.S. Мое приложение НЕ построено на SQL, поэтому я не беспокоюсь об атаках с использованием SQL-инъекций.
Если вам нужно что-то, что будет проверять содержание HTTP-запросов и делая выводы из этого, решая, блокировать ли запрос или нет (возможно, на основе запросов за определенный период времени), тогда да, вам нужно что-то другое, кроме групп безопасности AWS. Группы безопасности фактически представляют собой просто правила брандмауэра типа iptables, позволяющие разрешить / запретить отдельные подключения только на основе IP-адресов источника / назначения + портов.
Выбор подходящего типа WAF - гораздо более серьезный вопрос. Вы можете пойти куда угодно, от использования чего-то, установленного непосредственно на вашем веб-сервере (например, mod_security на Apache), до отдельного устройства. Решение о том, что использовать, полностью зависит от характера угроз, от которых вы хотите защитить себя.