Анти-DDoS¶
Анти-DDoS – настройка защиты от DDoS-атак. Защита от DDoS-атак является дополнением к функционалу защиты с применением правил ModSecurity. Поэтому часть настроек, необходимая защите Анти-DDoS, отнесена к настройкам F2B.
Защита от DDoS-атак основана на расчете трафика по системе баллов. Клиент осуществляет запросы к веб-приложению, в том числе переходы на страницы веб-приложения. Задается начальное значение баллов у клиента. Задается цена запроса. Дополнительно можно задать цены API-запросов по типам. Рассчитывается, сколько клиент истратил баллов на запросы. Когда при очередном запросе у клиента недостаточно баллов, сработает защита от DDoS-атак. Реакция защиты зависит от выбранного режима работы.
По кнопке Анти-DDoS открывается окно с параметрами защиты.
Для задания цен перехода требуется сначала включить опцию справа, тогда поле перейдет в режим редактирования и можно будет задать цену перехода, как это показано на рисунке выше для поля Отложенное изменение баллов.
Режим работы – режим защиты от DDoS-атак уровня приложений. Список значений:
Отключен – ограниченный режим, защита от DDoS-атак уровня приложений отключена.
Тихий режим – режим, при котором, если у клиента за сеанс использования файлов куки недостаточно баллов на очередной запрос, то защита считает это нарушением. Параметр Кол-во нарушений лимитов anti_ddos для блокировки клиента ограничений F2B регулирует, сколько раз клиент может допустить нарушение. При превышении нарушений по умолчанию выдается ошибка с кодом 418 и периодом блокировки доступа к веб-приложению, заданным параметром Время в секундах ограничений F2B.
Режим доступен, если задано поле Начальное значение баллов у клиента.
Внимательный режим – режим, в котором при первом запросе или, если у клиента недостаточно баллов на очередной запрос, открывается сервис капчи и только после успешного решения капчи выполняется запрос. После успешного решения капчи количество баллов клиента восстанавливается. Защита считает недостаток баллов нарушением.
Параметр Кол-во нарушений лимитов anti_ddos для перевода клиента в строгий режим ограничений F2B задает, через сколько нарушений клиент будет переведен в строгий режим, когда на каждый запрос клиенту будет предлагаться решить капчу.
Также защита ограничивает число нарушений параметром Кол-во нарушений лимитов anti_ddos для блокировки клиента ограничений F2B. Т.е. когда у клиента n раз было недостаточно баллов, то защита каждый раз просила клиента решить капчу, а на (n+1)-й раз – выдаст ошибку с кодом 418 и периодом блокировки доступа к веб-приложению, заданным параметром Время в секундах ограничений F2B.
Режим доступен, если настроена капча (раздел Настройка капчи).
Параноидальный режим – режим, в котором при первом запросе, каждые n секунд, а также, когда у клиента недостаточно баллов на очередной запрос, открывается сервис капчи, только после успешного решения капчи выполняется запрос. Количество баллов клиента восстанавливается после успешного решения капчи. Период n секунд задается в конфигурации «Weblock.».
Режим доступен, если настроена капча (раздел Настройка капчи).
Начальное значение баллов у клиента – целое число >=0. Если задано 0, то защита будет реагировать с первого запроса.
Цена перехода на путь методом GET – количество баллов за переход на страницу веб-приложения или за GET-запрос. Целое число >=1. Цена запроса, вернувшего ошибку с кодом 500, 502-504, равна 0.
Цена перехода на путь методом POST – количество баллов за POST-запрос API. При включенной опции задается целое число >=1.
Цена перехода на путь методом PATCH – количество баллов за PATCH-запрос API. При включенной опции задается целое число >=1.
Цена перехода на путь методом PUT – количество баллов за PUT-запрос API. При включенной опции задается целое число >=1.
Цена перехода на путь методом DELETE – количество баллов за DELETE-запрос API. При включенной опции задается целое число >=1.
Цена перехода на путь методом ERROR – количество баллов за запрос, вернувший ошибку с кодом 400 и выше, за исключением кодов 500, 502 - 504. При включенной опции задается целое число >=1.
Цена перехода на путь другими методами – количество баллов за запрос API. При включенной опции задается целое число >=1.
Количество килобайт, равное одному баллу – цена исходящего трафика сервера, по умолчанию 1 килобайт.
Минимальный объем (байт) ответа сервера – размер в байтах HTTP-ответа (заголовок и тело), при превышении которого запрос влияет на баллы защиты Анти-DDoS. Для отключения подсчета баллов по трафику, надо указать значение 2147483647 байт, которое задается по умолчанию.
Отложенное изменение баллов – положительное значение увеличивает баллы клиента, отрицательное значение баллы уменьшает. Момент изменения баллов клиента, выбирается автоматически защитой Анти-DDoS.
Пример. Расчет допустимого количества запросов на основании заданной системы баллов.
Начальное значение баллов у клиента 8
Цена перехода на путь методом GET 2
Цена перехода на путь методом POST 5
Тогда клиент сможет открыть 4 страницы на сайте или выполнить 1 POST-запрос.
Конец примера.