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
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
|