Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Slow Read DoS attack
09.01.2012 17:12, Maxim Dounin пишет:
Hello!
On Mon, Jan 09, 2012 at 02:10:08PM +0400, Андрей Бойко wrote:
Добрый день.
09.01.2012 06:48, Maxim Dounin пишет:
Hello!
On Sun, Jan 08, 2012 at 06:08:36PM +0400, Андрей Бойко wrote:
Добрый день.
Прочитал топик на хабре
http://habrahabr.ru/blogs/infosecurity/135817/, проверил - все
ложится на раз.
Есть мысли, как это забороть? Или это не проблема nginx?
Это скорее проблема настроек, чем nginx'а. Данная "атака"
имитирует большое количество медленно читающих ответ клиентов, и
вполне логично, что если клиентов больше, чем разрешено держать
соединений nginx'у, то будет проблема.
На уровне nginx'а можно бороться двумя способами:
1) Разрешить nginx'у держать больше соединений, увеличив
worker_connections, благо это дёшево. Главное - не забыть
соответственно настроить операционную систему.
2) Ограничить количество соединений с одного ip-адреса через
limit_conn.
Максим, вариант 1 вряд ли подходит, у меня worker_connections
100000 и система настроена соответственно.
И при этом ложится от "slowhttptest -c 1000 -X ..."? Значит,
система не настроена.
С учётом того, что slowhttptest использует select() и больше
FD_SETSIZE (обычно 1024) соединений открыть не может, для того
чтобы положить настроенную систему с worker_connections 100000 (и
одним рабочим процессом) - понадобится сотня экземпляров
slowhttptest'а. А с учётом того, портов всего 64k, эти экземпляры
должны быть как минимум на двух разных ip-адресах.
Вариант 2 вроде как работает, при ограничении в 500r/s ложиться
перестало. Надо еще попробовать на более объемном файле.
Спасибо за ответ.
От атаки с одной машины (aka развлекающихся пионеров) должно
вполне хватать (1). Ищите, что у вас недонастроено.
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Спасибо, поищу. В общем-то логично.
--
Андрей Бойко.
тел. +7 (903) 144-11-65
тел. +7 (495) 755-71-27
skype boykoav
icq 472-82-39
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|