Нужно ограничение запросов в keep-alive соединении

Pavel V. pavel2000 at ngs.ru
Thu Feb 8 15:38:21 MSK 2007


Здравствуйте, nginx-ru.

Имеется ли возможность указать Nginx закрывать keep-alive соединение
после обработки некоторого числа запросов ?

На сервер периодически производятся DOS-атаки.
Число соединений к серверу ограничивается iptables следующим образом:

-A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 15 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -m hashlimit --hashlimit 2/sec --hashlimit-mode srcip --hashlimit-name port80 --hashlimit-burst 20 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j LOG
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j DROP

Но это не мешает установить некоторое число соединений и слать в них
огромное число запросов.

Результат (статистику на сегодня, 90 Kb) можно увидеть на  http://clamav.tomsk.ru/nginx/

Статистика собирается через stub_status. Возможна ли ситуация, что
запрос (например в силу некорректности) отображается в выводе
stub_status, а в лог не записывается ?

В логах nginx ожидаемого мной числа записей лога запросов не нахожу
(часть location проксируется на бакэнд и лог поэтому отключен).

Какие еще есть методы борьбы с атаками ?

-- 
С уважением,
 Pavel V Rochnyack         mailto:pavel2000 at ngs.ru
 ICQ: 12 29 7 27 27






More information about the nginx-ru mailing list