Re: Сброс соединений в nginx

Alexey V. Karagodov kav at karagodov.name
Fri May 22 18:48:31 MSD 2009


как вариант:

[root at srv001 ~]# cat /etc/crontab
...
0 0 * * * root /usr/local/etc/cron/pf-forbidden-smtp
...

[root at srv001 ~]# cat /usr/local/etc/cron/pf-forbidden-smtp
#!/usr/local/bin/bash

cat /srv/CommuniGate/CGP*/statistics.dat | grep '^\"SMTP \[.*\]\"=[0-9] 
[0-9][0-9][0-9]*;$' | sed 's/^\"SMTP \[\(.*\)\]\"=[0-9][0-9][0-9] 
[0-9]*;$/\1/g' > /usr/local/etc/pf-forbidden-smtp.lst
/etc/rc.d/pf reload

[root at srv001 ~]# cat /usr/local/etc/pf.conf
...
table <forbidden> persist file "/usr/local/etc/pf-forbidden-smtp.lst"  
file "/usr/local/etc/pf-forbidden-http.lst"

block drop quick from <forbidden>
block drop quick to <forbidden>
...

On 22.05.2009, at 18:14, Konstantin Belov wrote:

> Алексей wrote:
>> Здравствуйте,
>>
>> Я сейчас фильтрую DDoS атаку, на основе  
>> некоторых параметров отсеиваю
>> ботов. Сейчас у меня установлена return  
>> 503; для ботов, это безусловно
>> помогает но когда ботов слишком  
>> много и они начинают посылать от 3к
>> запросов в секунду nginx начинает  
>> ощутимо тормозить и нагружать
>> процессор. Что можно сделать чтобы он  
>> не обрабатывал соединения а
>> завершал их если запрос  
>> соответствует условиям? IP ботов  
>> конечно
>> добавляются в фаерволл но перед этим  
>> они обрабатываются nginx'om и
>> когда идёт 15к запросов/сек nginx  
>> начинает очень сильно тормозить и
>> приходиться ждать пока IP добавятся в  
>> фаерволл и nginx разгрузится.
>>
>> Подскажите что можно предпринять.
>>
> Лучше логировать IP и самых активных  
> блочить фаерволом.
> ipfw2 во freebsd отлично с этим справляется  
> (списки доходили до 40-50к уникальных ip)
>



More information about the nginx-ru mailing list