Ставишь Snort "./configure --with-mysql" и Oinkmaster для наката обновлений в правилах.
Регистрируешься на Snort.Org для получения секретного URLа, вставляешь его в oinkmaster.conf
Ставишь ACID, http://acidlab.sourceforge.net/
Запускаешь ДВА (2 копии, 2 штуки, дважды) Snorta
Один для сбора логов в SQL для причесывания их ACIDом:
"/usr/local/bin/snort -D -c /etc/rules/snort.conf"
Другой для ведения текстовых логов /var/log/snort/alert и /var/log/snort/portscan.log:
"/usr/local/bin/snort -D -c /etc/rules/snort.conf -A full"
Другим способом заставить Snort вести и SQL лог и текстовый лог я не смог.
Обе копии Snorta используют один и тот же snort.conf
в snort.conf в соответствующих местах:
# это в SQL
output database: alert, mysql, user=blabla password=blabla dbname=blabla host=blabla
# в файло, ACID его тоже парсит, вместе с SQL базой
preprocessor sfportscan: proto { all } \
memcap { 10000000 } \
sense_level { medium } \
logfile { /var/log/snort/portscan.log }
Файло "/var/log/snort/alert" наполняется той копией Snorta, которая с ключом "-A full"
HOME_NET - твоя подсетка в CIDR нотации
Казлы - !$HOME_NET
Ставишь файервол. Для Фри - ipfw. Type="OPEN"
И НАБЛЮДАЕШЬ. Потому что если ты рубанул RBL листом попытку доставить тебе спам или каким либо wrapper'ом кого-либо послал в ... или через ipfilter кто не пролез, то он завалит тебя шквалом ICMP пакетов: "само я оттудова совершенно не местное настоящим уведомляю что у вас мои пакеты в ... послали...". Отрубаешь ненужные правила. Потому что Snort дает предупреждения на выход FTP юзера из пределов мыслимого для него Snortom chroot'а, сообщает, что твой реферер атакован, - сам увидишь. В общем понаблюдав через ACID за активностью, отруби "фонящие" правила.
Занеси отрубленные правила в раздел disabledsid файла oinkmaster.conf иначе при следующем накате oinkmaster.pl их снова повключает.
Теперь самое веселое. Ставь Guardian!
http://www.chaotic.org/guardian/
И запущай его командой
guardian.pl -c /etc/guardian.conf
Теперь ты не только сможешь одним щелчком через ACID отправлять на нужный abuse@ полный отчет-заклад, но и отрезать айпишник тупорылого хацькера!
Он тебе: /cgi-bin/! Ты ему: свАбоден! иди пАнюхай чё-нибудь!
В guardian.ignore и guardian.target вбей все свои айпишники.
!!!! Для начала ставь TimeLimit 300 - ибо поначалу ты (и твои юзеры) будешь сам попадать туда почем зря оттого, что у тебя, например, Apache, а набор правил для IIS задействован и Snort будет выдавать предупреждения за самую законную активность и отрубать "хацькеров" через фаервол.
Когда прочистишь набор правил Snorta, можешь и увеличить TimeLimit, но раньше - ни-ни!
Вот и все.