Отлов ботнета

Yuri Ryazantsev yuri at unix.ru
Sat Sep 8 01:54:57 MSD 2007


On Sat, 8 Sep 2007 00:29:40 +0300
Alexey Bobok <alexey.bobok at gmail.com> wrote:

> Здравствуйте, Alexey.
> 
> а там курить нечего.
> pass proto tcp to $ext_if port $service_ports flags S/SA keep state
> (source-track, max-src-states 30, max-src-nodes 100)

А если перед последней скобкой поставить 

, overload <bad_hosts> flush global

то в таблицу bad_hosts будут писаться IP ботов, которые можно сразу
блокировать вначале:

block  in quick from { <bad_hosts> } to any

Чтобы последующие соединения от них не отягощали.
Чистить эту таблицу можно при помощи /usr/ports/security/expiretable.

Таким образом после превышения соединений бот будет курить в сторонке
некоторое время. Пример:

/usr/local/sbin/expiretable -t 2h bad_hosts

удаляет записи старше 2 часов. Можно ставить в крон.

> максимум 30
> соединений с максимум 100 хостов. 3000 соединений машинка потянет -
> не вопрос. нжыникс тоже. Апач врядли :))  в такой конфигурации у меня
> 3-4 килохоста в день работает. и кстати легкий оффтоп: если делаете
> вертикальный кластер, когда нжыникс на внешнем адресе, а апач на lo0
> в пределах одного тазика - не забывайте в pf.conf говорить:
> set skip on lo0
> иначе могут вылазить 504 ошибки. у ПФа трабл с обработкой лупбек
> содеинений.
> 
> > только придётся в жёсткой форме покурить по нему мануал ...
> > а так штука мощная
> 
> > 08.09.07, Alexey Karagodov<karagodov at gmail.com> написал(а):
> >> кол-во подключений с одного ИП ИМХО лучше BSD/pf-ом делать
> >>
> >> 08.09.07, Alexey Bobok<alexey.bobok at gmail.com> написал(а):
> >> >
> >> >
> >> >
> >> > может проще фаерволом или нжыниксом порезать кол-во соединений с
> >> > одного IP-адреса ? К примеру не более 30 соединений для одного
> >> > IP (на случай если с той стороны НАТ и из офиса 2-3 человека
> >> > ломятся)
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > >
> >> >
> >> > Приветствую.
> >> >
> >> > У меня DDOS'ят сервак и временным решением пока-что вышло
> >> > поставить авторизацию и боты ее не проходят, юзеры - от части.
> >> >
> >> > Хочу сделать вылов Ip адресов ботов и бросать их в iptables
> >> > TARPIT.
> >> >
> >> > Как выяснить, кто бот, а кто нет?
> >> >
> >> > Есть идея делать nginx'ом http redirect и тем, кто прошел
> >> > редирект ставить переменнную и редиректить обратно.
> >> >
> >> > Кто не прошел редирект - бот.
> >> >
> >> > Потом сравнивать тех, кто запрашивал что-либо и кто прошел
> >> > цепочку редиректов и банить ботов.
> >> >
> >> >
> >> >
> >> >
> >> > Какие идеи?
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> >
> >> > С уважением,
> >> >
> >> >  Алексей Бобок
> >> > mailto:alexey.bobok at gmail.com
> >>
> 
> 
> 

-- 
Yuri Ryazantsev <yuri at unix.ru>    | RIPE: YR1-RIPE
UNIX System Network Administrator | RIPN: YAR1-RIPN

Gnu PGP:  1024D/D91BA14E





More information about the nginx-ru mailing list