From: HFSC <leech@alpha.sytes.net>
Newsgroups: mail
Date: Mon, 24 Jul 2003 14:31:37 +0000 (UTC)
Subject: Установка snort совместно с acid и snortsam на FreeBSD
Установка snort совместно с acid и snortsam на FreeBSD.
Snort - мощный и гибкий инструмент для обнаружения различного вида
атак.
Snortsam - плагин для snort, обеспечивающий блокировку атак, имеет
намного большие возможности чем широко используемый guardian. Основной
отличие - может обслуживать множество фаерволов+snort с отдельной
машины. Подробнее можно почитать на http://www.snortsam.net
Oinkmaster - скрипт для обновления правил snort.
Acid - php-поисковая машина, работающая с базой данных Snort'a.
Предполагается что уже установлены mysql и apache. Их установка и
настройка здесь описыватся не будет. Так как snortsam использует
модуль для ipf (или pf), на машине должен быть установлен ipf как
основной фаервол если версия FreeBSD ниже 5.1 или же ipf или pf в
случае FreeBSD 5.1.
Для начала необходимо создать юзера от которого будет работать snort.
Коннектимся и выставляем права доступа: mysql -u root -ppass
mysql>GRANT ALL PRIVILEGES ON snort.* TO snort@localhost IDENTIFIED BY 'snort';
mysql>GRANT ALL PRIVILEGES ON snort.* TO acid@localhost IDENTIFIED BY 'acid';
Качаем бинарник snort'a с поддержкой mysql и snortsam с
http://www.snortsam.net/files/snort-2.0-plugin/compiled/freebsd/snort-2.0-mysql-sam.tar.gz
Распаковываем и заменяем старый бинарник snort'a:
tar -xzvpf snort-2.0-mysql-sam.tar.gz -C /usr/local/bin
cd /usr/ports/security/oinkmaster && make install clean
В /usr/local/etc/oinkmaster.conf ставим
url = http://www.snort.org/dl/rules/snortrules-stable.tar.gz
и skipfile sid-block.map
mkdir -m 700 /var/backups/snort && chown snort /var/backups/snort
Создаем скрипт rules_update.sh и запускаем его.
#!/bin/sh
if [ ! -d /usr/local/share/snort/rules ] ; then
mkdir -m 700 /usr/local/share/snort/rules
chown snort /usr/local/share/snort/rules
fi
cd /var/backups/snort
su -fm snort -c '/usr/local/bin/oinkmaster -o
/usr/local/share/snort/rules -b /var/backups/snort -r'
Если все нормально и правила обновились, делаем
ln -s /usr/local/share/snort/rules/sid-msg.map /usr/local/etc
Создаем файл /usr/local/etc/sid-block.msg и вносим туда записи в
формате
sid: who[how], time;
Файл sid-block.map нужен чтобы избежать редактирования правил
непосредственно,т.к. oinkmaster удалит все ваши изменения.
sid надо взять из файла sid-msg.map.
who может быть - src,dst
direction может быть - in, out, either, both, this, conn
time может быть
'days','months','weeks','years','minutes','seconds','hours, значение 0
означает бесконечный.
Подробнее на http://www.snortsam.net/files/snortsam-v2_multi-threaded/FAQ
Образец файла sid-block.map
121: src, 1 day
122: src, 1 day
123: src, 1 day
Устанавливаем acid.
cd /usr/port/security/acid && make install
По умолчанию acid ставится в /usr/local/www/acid
Создаем таблицы acid'a в базе snort:
Открываем work/acid/create_acid_tbls_mysql.sql и добавляем в начало
"USE snort;"
Выполняем mysql -u root -ppass < work/acid/create_acid_tbls_mysql.sql
Открываем /usr/local/www/acid/acid_conf.php и ставим свои пути к либам
и параметры для доступа к базе snort.
Устанавливаем snortsam.
Качаем с http://www.snortsam.net распаковываем и выполняем makesnortsam.sh.
Создаем файл /usr/local/etc/snortsam.conf.
Основные опции snortsam.
defaultkey password - пароль по умолчанию для всех машин. Если пароль
указанный в snortsam.conf не совпадает с паролем,указанным в
snort.conf, все запросы с данного фаервола игнорируются.
port number - порт на котором будет слушать snortsam (по умолчанию
898).
accept host/mask, password - список машин с которых snortsam будет
ждать запросов. Допускается указание одного хоста на линию.
keyinterval time - интервал запроса/обновления ключа. Можно указывать
hours,days,months,weeks,years (по умолчанию 4 часа).
dontblock host/mask - Перечисление машин,которые не должны
блокироваться.
override host/mask,time - позволяет изменять время блокировки для
указанного адреса,чем указано в правилах snort.
rollbackhosts amount - snortsam будет хранить записи о заблокированых
адресах на указанное число раз, при превышении порога блокировки,
блокировка снимается, дабы не перегружать фаервол.
rollbackthreshold amount / time - задает порог блокировки, при
превышении порога включается правило rollbackhosts.
rollbacksleeptime time - если превышен порог блокировки, игнорировать
запросы от snort на указанное время.
skipinterval time - игнорировать повторяющиеся запросы на блокировку
на указанное время (по умолчанию 10 секунд).
skiphosts amount - запоминать число машин для проверки повторяющихся
запросов на блокировку.
logfile file - snortsam будет писать в указанный файл.
loglevel level - от 0 до 3 . Для начала поставьте 3.
include file - указание на дополнительный конфигурационный файл.
disableseqnocheck - отключает проверку пакетов .
fwsamipflip - не допускает блокировку машины на которой запущен
snortsam.
fwexec path_to_firewall - если snortsam запущен непосредственно на
фаерволе,вызывать программу-фаервол напрямую.
fwsam host - при блокировке отсылается шифрованный пакет на указанную
машину (один хост на линию).
nothreads - не использовать треды.
ipf interface loglevel - использование ipf плагина для блокировки.
loglevel по умолчанию local7.info.
email smtpserver recipient sender - уведомление о блокировках по
почте.
Подробнее об опциях snortsam можно почитать в README.conf.
Проверяем snort: snort -i interface -c /usr/local/etc/snort.conf -T
Должны быть следущие строки:
INFO => [Alert_FWsam](AlertFWsamSetup) Using sid-map file:
/usr/local/etc/sid-block.map
INFO => [Alert_FWsam](FWsamCheckIn) Connected to host 127.0.0.1.
Accepted connection from 127.0.0.1
Had to use initial key!
database: compiled support for ( mysql )
database: configured to use mysql
database: user = snort
database: password is set
database: database name = snort
database: host = 127.0.0.1
database: detail level = fast
database: sensor name = 80.235.50.112
database: sensor id = 17
database: schema version = 106
database: using the "alert" facility
1438 Snort rules read...
1438 Option Chains linked into 187 Chain Headers
0 Dynamic rules
Если все в порядке,запускаем snort.
snort -D -i interface -c /usr/local/etc/snort.conf -u snort -g snort -Np
Смотрим в лог snortsam. Должно быть чтото типа...
127.0.0.1, 3, snortsam, Accepted connection from 127.0.0.1.
127.0.0.1, 3, snortsam, Adding sensor 127.0.0.1 to list.
774 Прочтений • [Установка snort совместно с acid и snortsam на FreeBSD (freebsd snort security)] [08.05.2012] [Комментариев: 0]