Модуль nginx против DDoS-атак

 Выпущен модуль testcookie-nginx-module к веб-серверу nginx, который может использоваться для распознавания ботов и, соответственно, отражения DDoS-атак. Распознавание осуществляется по простому принципу — ботом признаётся любой клиент, который не умеет исполнять JavaScript (есть «белый список» для IP-адресов поисковых ботов). Конечно, можно сделать бота с JavaScript-движком, но на практике такие DDoS-атаки встречаются нечасто.



Разработчик Эльдар Заитов подробно рассказывает о возможностях нового модуля. Он объясняет, что JavaScript задействуется на последнем этапе обороны, а поначалу отсеиваются самые «тупые» боты, которые не понимают редиректов и cookies, то есть самый типичный случай DDoS-атаки методом HTTP-флуда, сообщает xakep.ru.

Модуль умеет ставить cookies стандартным способом через HTTP-заголовок Set-Cookie, после установки перенаправляет пользователя, используя код ответа 301 и заголовок Location или используя код ответа 200 и HTML тег Meta «refresh». Он также может считать количество попыток поставить cookies и отправлять пользователя по заданному URL после превышения максимального количества неудачных попыток.

Алгоритм работы модуля показан на схеме. 

 

 В случае, если боты понимают редиректы и cookies, то новый модуль nginx может использовать произвольные шаблоны для ответа фильтра, например, можно выставить cookies через JavaScript. А самое интересное, что против возможных автоматических парсеров со стороны бота используется шифрование переменных в шаблоне симметричным криптоалгоритмом с дальнейшей расшифровкой через JavaScript на стороне клиента (используя SlowAES).

В данном случае алгоритм работы выглядит так.

 

 

Подписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.