Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Атака и 400 Bad Request
Hello!
On Thu, Jan 12, 2012 at 03:23:32PM +0200, Дмитрий Леоненко wrote:
> Максим, как можно поймать "нехороших компьютеров", которые делают вот такое:
>
> 17:20:20.685740 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack
> 21243000, win 63510, length 0
> 17:20:20.685763 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack
> 21247380, win 62780, length 0
> 17:20:20.685772 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack
> 21251760, win 62415, length 0
[...]
> 17:20:20.692992 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack
> 21358340, win 62780, length 0
> 17:20:20.693281 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq
> 21400680:21456160, ack 1, win 123, length 55480
> 17:20:20.694312 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack
> 21365640, win 61685, length 0
> 17:20:20.694343 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack
> 21368560, win 63145, length 0
> 17:20:20.694361 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq
> 21400680:21456160, ack 1, win 123, length 55480
> 17:20:20.695541 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq
> 21456160:21520400, ack 1, win 123, length 64240
> 17:20:20.695684 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack
> 21374400, win 63145, length 0
[...]
> в логе ни одной записи по этому ip а траффика от него идет мегабитами... не
> пойму как их отлавливать
Выглядит как вполне обычное скачивание большого ответа. Запись в
access log'е появится после завершения отправки ответа.
Трафик именно *от* него идёт мегабитами, или *к* нему?
Maxim Dounin
>
> 2012/1/12 Maxim Dounin <mdounin@xxxxxxxxxx>
>
> > Hello!
> >
> > On Thu, Jan 12, 2012 at 12:59:46PM +0200, Дмитрий Леоненко wrote:
> >
> > > Приветствую!
> > >
> > > Вчера ко мне пришло много-много траффика на 80 порт с бесполезными
> > данными
> > > в запросе, то есть просто мусор.
> > > Траффика исходящего было дофига и как я понял весь он состоял из ответов
> > > nginx об плохом запросе 400 Bad request.
> > > Я настроил так
> > > log_format fail2ban '$time_local $remote_addr == $request == $status
> > ==
> > > $http_referer == $http_user_agent';
> > >
> > > в логи сыпит дофига запросов вида:
> > >
> > > 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == -
> > > 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == -
> > > 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == -
> > > 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == -
> > >
> > >
> > > С помощью fail2ban добавлял в ipset на блокировку всех с такими
> > запросами.
> > > За часов 10 набежало в ipset:
> > >
> > > > # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l
> > > > 6687
> > >
> > >
> > > Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по
> > > какой-то причине?
> >
> > Современные браузеры (e.g. Chrome) любят открывать
> > "дополнительные" соединения, и закрывать их без каких-либо
> > запросов, если работы для них не нашлось. Так что легитимные
> > трафик там вполне может быть.
> >
> > Лучше читать error_log, там должны быть сообщения "client sent
> > invalid ..." (правда на уровне info).
> >
> > Maxim Dounin
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru@xxxxxxxxx
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|