Назад | Перейти на главную страницу

Защита от проблемных парсеров \ умеренных DDoS-атак с серверов AWS

в настоящее время у нас есть проблема, когда кто-то с множеством разных IP-адресов, принадлежащих AWS, выполняет парсинг \ делает много запросов в секунду на наш общедоступный сервер. Пользовательские агенты рандомизированы, и не существует шаблона, с помощью которого можно было бы блокировать соединения. Мы попытались заблокировать целые диапазоны IP-адресов AWS (что сработало), но это привело к нарушению работы некоторых используемых нами сервисов (загрузки S3 и т. Д.). Единственная константа - это то, что реферер всегда установлен на 'google.com', что, очевидно, нам не нужно. заблокировать, потому что не было бы возможности получить доступ к нашему сайту из поиска Google.

Любые идеи?

Моя первая мысль заключалась в том, чтобы просмотреть ваши журналы для рефереров 'google.com', затем написать сценарий поиска whois на IP-адресах для проверки IP-адресов, поступающих из IP-пространства AWS, а затем отклонить их на входящем порте 80/443 TCP на вашем брандмауэр.

Чтобы дать вам представление:

whois <ip> | grep Amazon
if [ $? -eq 0 ]; then
  <command to add IP to firewall reject/drop policy>
fi

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