Категорії
Security WWW

Защищаем Web сервера от DDoS’a

В статье будет описаны средства защиты от DDoS’a для популярных веб-серверов apache и nginx. Естественно, что это не 100% панацея и всё зависит от самих атак. Но всё же, для большинства атак подойдёт

1) Apache

Для apache существует модуль mod_evasive, который ограничивает количество входящих соединений.

Пример:

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 300
</IfModule>

Примечание:

Этот модуль при превышении определенного числа запросов к сайту с одного IP-адреса, временно блокирует атакующего, выдавая в ответ на запросы ошибку 403 Forbidden. При незначительных атаках на сайт это позволяет снизить нагрузку.
Но при более серьезных атаках такой метод защиты не спасет, так как даже на запросы с «заблокированного» адреса вебсерверу необходимо генерировать ответ (403 Forbidden) на каждый запрос, что при большом количестве запросов приводит к быстрому расходованию ресурсов.
Выход в данной ситуации — блокирование IP-адреса атакующего на уровне фаервола. Тем более, mod_evasive может вызывать внешний скрипт.

2) Nginx

Для nginx’a можно появился (начиная с версии 0.7.21) модуль ngx_http_limit_req_module, в котором есть директивы limit_req_zone,
limit_req, limit_req_log_level
вводящие разного рода ограничения на количество запросов/соединений.

Пример:

limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
limit_req zone=one burst=10;

Пояснение:

Nginx должен каждую секунду пропускать по 5 запросов максимум, при этом остальные дожидаются в очереди, а если в очереди становится больше 10 запросов, то все, что приходит сверху, отклоняется с 503-й ошибкой. Причём 5r/s означает, то запросы будут обрабатываться со скоростью не больше одного запроса каждые 200ms.

Ещё неплохой вариант защиты – это применение модулей testcookies, naxsi.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff