Re: защита от DoS-атак с помощю модуля http_limit_req

Алексей Сундуков public-mail на alekciy.ru
Вс Янв 24 09:36:19 MSK 2010


А разве nodelay не приведет к тому, что запрос будет обрабатываться
сразу без задержки? Соответственно получаем не 1r/s.

2010/1/24 Gena Makhomed <gmm at csdoc.com>:
> Здравствуйте, All!
>
> небольшую DoS-атаку на сервер, порядка 5-10 запросов в секунду
> ограничил таким простым способом:
>
> http {
>    limit_req_zone $binary_remote_addr zone=backend:10m rate=1r/s;
>    limit_req_log_level notice;
> server {
>    server_name virtual.server.under.the.impact.of.dos;
>    location / {
>        limit_req zone=backend burst=64 nodelay;
>        proxy_pass http://127.0.0.1/;
>    }
> }
>
> теперь вместо 5-10 запросов в секунду с одного IP
> на backend уходит не более одного запроса в секунду.
>
> вопрос: каким способом лучше всего будет ограничить
> оставшийся раз в секунду запрос от бота к backend`у ?
>
> очевидный метод - включить и настроить кеширование http,
> - снимется нагрузка с backend`а, но останется паразитный
> исх.трафик, который тратить тратить канал и ресурсы сервера.
>
> блокировать этот конкретный ip в firewall`е -
> нет смысла, бот приходит с укртелекомовского
> ADSL пула, и может легко сменить свой IP.
>
> PS в документации на сайте есть небольшая неточность,
> директивы limit_req_log_level и limit_conn_log_level
> есть не только в 0.8.18+ но и в 0.7.63+ с 26.10.2009
>
> --
> Best regards,
>  Gena
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>


Подробная информация о списке рассылки nginx-ru