Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: мля атака =(
Hello!
On Thu, Dec 09, 2010 at 12:07:32AM +0300, -=HaRius=- wrote:
> наверное пинать будете не в тему рассылки, но сжальтесь!!!
>
> с 12 часов лежимс =(
>
> че делать уже идеи кончались
> перекрутил sysctl уже во все стороны
> сервак начал немного ползать, но как только
> nginx запускаю в консоль сразу начинает валится
>
> Dec 8 23:56:08 mail kernel: interrupt storm detected on "irq257:";
> throttling interrupt source
> Dec 8 23:56:08 mail kernel: Limiting open port RST response from 169 to 50
> packets/sec
> Dec 8 23:56:09 mail kernel: interrupt storm detected on "irq257:";
> throttling interrupt source
> Dec 8 23:56:09 mail kernel: Limiting open port RST response from 230 to 50
> packets/sec
Я правильно понимаю, что irq257 - сетевуха? Если она
сколько-нибудь приличная, то попробовать потюнить буфера/задержки
прерываний. Ну или просто поднять hw.intr_storm_threshold, чтобы
по крайней мере сеть пыталась работать.
> в логах полно:
>
> 80.138.138.94 - - [08/Dec/2010:23:32:16 +0300] "GET / HTTP/1.1" 0 0 "-" "IE
> 7.0"
[...]
> что сделано
> 1. fail2ban натравлен на поиск агента "IE 7.0" - блочит, но не спасает
> 2. временно location = / { return 200; } - не спасает
> 3. if ($http_user_agent = "IE 7.0" ) { return 412;}
>
> if ($http_referer = "") { return 412;} - тож не стасает
Ну уж тогда return 444;.
> 4. sysctl - накручен
>
> sysctl -n kern.ipc.numopensockets
> 90228
reset_timedout_connection on;
Хотя 90k - это в общем не много.
>
> # netstat -Lan
> Current listen queue sizes (qlen/incqlen/maxqlen)
> Proto Listen Local Address
> tcp4 0/0/128 *.4949
> tcp4 0/0/4096 88.212.196.18.443
> tcp4 0/0/4096 88.212.196.18.80
> tcp4 0/0/128 *.22
> tcp4 0/0/500 *.25
> tcp4 0/0/5 88.212.196.18.5666
> tcp4 0/0/20 127.0.0.1.53
> tcp4 0/0/511 127.0.0.1.80
> Some tcp sockets may have been created or deleted.
> unix 0/0/1 /var/run/fail2ban/fail2ban.sock
> unix 0/0/4 /var/run/devd.pipe
Ну просто таки тишина и покой. Впрочем, это вероятно следствие
"throttling interrupt source".
> # netstat -m
> 1377/36183/37560 mbufs in use (current/cache/total)
> 754/33038/33792/33792 mbuf clusters in use (current/cache/total/max)
А говорите sysctl накручен. У вас mbuf cluster'ов с гулькин фиг.
sysctl kern.ipc.nmbclusters=262144
В nginx'е можно ещё поуменьшать буфера на сокетах (listen ...
rcvbuf=... sndbuf=...), дабы немного поэкономить память если её не
хватает.
> 36/1628 mbuf+clusters out of packet secondary zone in use (current/cache)
> 0/0/0/16896 4k (page size) jumbo clusters in use (current/cache/total/max)
> 0/0/0/8448 9k jumbo clusters in use (current/cache/total/max)
> 0/0/0/4224 16k jumbo clusters in use (current/cache/total/max)
> 1852K/75121K/76974K bytes allocated to network (current/cache/total)
> 0/17954981/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
> 0/0/0 requests for jumbo clusters denied (4k/9k/16k)
> 0/0/0 sfbufs in use (current/peak/max)
> 0 requests for sfbufs denied
> 0 requests for sfbufs delayed
> 1377 requests for I/O initiated by sendfile
> 0 calls to protocol drain routines
>
> как еще бороться ?????
Ну и vmstat -z посмотрите для комплекта, там лучше видно чего не
хватает.
Но при таком количестве mbuf cluster'ов при таком количестве
сокетов - странно что оно вообще работает, должно всё в
zonelimit'е висеть беспробудно.
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|