Slow Read DoS attack

Андрей Бойко kaa на berloga.ru
Пн Янв 9 13:14:37 UTC 2012



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 at nginx.org
> 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