URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 11837
[ Назад ]

Исходное сообщение
"OpenNews: Выявление аномальной сетевой активности при помощи IPAudit"

Отправлено opennews , 17-Июл-05 23:40 
В статье "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. Потому, что к нему есть ACID и Guardian."
Отправлено Бхагавата , 17-Июл-05 23:40 
Ипудит - чушь.

"Snort. Потому, что к нему есть ACID и Guardian."
Отправлено spb_nick , 18-Июл-05 11:40 
Может подскажете ссылочку с чего начать со Snort'ом?

"Snort.Org (ХВАК унутре)"
Отправлено Бхагавата , 19-Июл-05 01:51 
Ставишь 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, но раньше - ни-ни!

Вот и все.


"Совсем забыл! Важно"
Отправлено Бхагавата , 19-Июл-05 02:03 
Для Фри.
Скрипт, который "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


"Совсем забыл! Важно"
Отправлено spb_nick , 19-Июл-05 15:32 
Ух-ты! Развеееернуто :) Спасибо большое :)!

"Это только основы шпиянажа "
Отправлено Бхагавата , 20-Июл-05 01:04 
>Ух-ты! Развеееернуто :) Спасибо большое :)!

за плохими ребятами. Неочевидных, но полезных приколов в связке snort-acid-ipfw еще очень много. И в исходниках много чего надо подровнять. На статью нет времени. Так что давай ты. Изучай предмет и пиши хороший ФАК.


"Выявление аномальной сетевой активности при помощи IPAudit"
Отправлено Admin , 18-Июл-05 11:51 
Snort FAQ!

"Выявление аномальной сетевой активности при помощи IPAudit"
Отправлено scum , 20-Июл-05 15:57 
Кстати, можно сделать так, что 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 в вышеуказанном примере).


"Ага. Спасибо."
Отправлено Бхагавата , 21-Июл-05 00:06 
Спасибо.