В статье "Introduction to IPAudit (http://www.securityfocus.com/infocus/1842)" рассказано как установить и настроить пакет IPAudit (http://ipaudit.sourceforge.net/) , использующий libpcap для прослушивания трафика, в целях выявления аномалий, например, DoS/DDoS атак, эпидемий сетевых червей, возникновения нетипичного увеличения трафика и т.д..URL: http://www.securityfocus.com/infocus/1842
Новость: https://www.opennet.ru/opennews/art.shtml?num=5776
Ипудит - чушь.
Может подскажете ссылочку с чего начать со Snort'ом?
Ставишь 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, но раньше - ни-ни!
Вот и все.
Для Фри.
Скрипт, который "guardian_block.sh" запускай из bash, ибо там есть RANDOM, а номер вот этого срульза из rc.firewall:# Prototype setups.
#
case ${firewall_type} in
[Oo][Pp][Ee][Nn])
setup_loopback
${fwcmd} add 35000 pass all from any to any
;;сделай равным 35000.
Иначе все срульзы, заведенные Guardian'ом будут иметь черт какие номера. Одинаковые - некорректное удаление нарушителя по истечении времени из листа, или сядут ниже "всем всё" и не будут работать. А так будет то, что надо: срульзы нарушителей в диапазоне 1000-33000, "всем всё" - 35000.
"guardian_block.sh"
#!/usr/local/bin/bash
toguess="$(expr 1000 + $RANDOM)"
source=$1
interface=$2
/sbin/ipfw -q add $toguess deny ip from $source to any
Ух-ты! Развеееернуто :) Спасибо большое :)!
>Ух-ты! Развеееернуто :) Спасибо большое :)!за плохими ребятами. Неочевидных, но полезных приколов в связке snort-acid-ipfw еще очень много. И в исходниках много чего надо подровнять. На статью нет времени. Так что давай ты. Изучай предмет и пиши хороший ФАК.
Snort FAQ!
Кстати, можно сделать так, что 1 снорт и логи пишет, и в базу кладет и т.д.
Для этого нужно создать свое "композитное" правило с помощью директивы ruletype. Вот выдержка из мануала:This example will create a rule type that will log to syslog and a MySQL database:
ruletype redalert
{
type alert
output alert_syslog: LOG_AUTH LOG_ALERT
output database: log, mysql, user=snort dbname=snort host=localhost
}Теперь останется с помощью какого нибудь sed заменить все директивы log и/или alert в правилах на новую (redalert в вышеуказанном примере).
Спасибо.