The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Установка snort совместно с acid и snortsam на FreeBSD (freebsd snort security)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: freebsd, snort, security,  (найти похожие документы)
From: HFSC <[email protected]> Newsgroups: mail Date: Mon, 24 Jul 2003 14:31:37 +0000 (UTC) Subject: Установка snort совместно с acid и snortsam на FreeBSD Оригинал: http://alpha.sytes.net/~holdman/snortsam.html Установка 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. pw useradd snort -d /nonexistent -s /sbin/nologin pw groupadd snort Устанавливаем snort. cd /usr/ports/security/snort && make install Создаем базу snort: cd work/snort-* Открываем файл create_mysql и добавляем в начало CREATE DATABASE snort; USE snort; Создаем базу snort: mysql -u root -ppass < create_mysql Коннектимся и выставляем права доступа: 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 Копируем образец конфига: cp /usr/local/etc/snort.conf-sample /usr/local/etc/snort.conf Открываем и правим snort.conf: Меняем "VAR_HOME_NET any" на "VAR_HOME_NET адрес_сети". Меняем "var EXTERNAL_NET any" на "var EXTERNAL_NET !$HOME_NET". Меняем "var RULE_PATH ../share/snort" на "var RULE_PATH /usr/local/share/snort/rules". В разделе плагинов добавляем строку для snortsam в формате: output alert_fwsam:[хост]:[порт]/[пароль]. В моем случае snortsam запущен на одной машине где и snort output alert_fwsam: 127.0.0.1:898/snortsam Добавляем строку для acid: output database: alert, mysql, user=snort password=snort dbname=snort host=127.0.0.1 Устанавливаем oinkmaster. 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. Запускаем snortsam: snortsam /usr/local/etc/snortsam.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.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, Serge Volkov (?), 17:02, 29/07/2004 [ответить]  
  • +/
    Доброго времени суток...
    У меня все установилось вроде нормально...
    только вот когда я пытаюсь пропачит snort-2.1.3
    рекомендованными пачами snortsam, при сборке выдаеться вот такое:
    march=pentiumpro -Wall -c 'test -f 'spp_bo.c' || echo './''spp_bo.c
    cc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../src -I../../src/sfutil  -I../../src/output-plugins -I../../src/detection-plugins -I../../src/preprocessors -I../../src/preprocessors/flow -I../../src/preprocessors/portscan  -I../../src/preprocessors/flow/int-snort  -I../../src/preprocessors/HttpInspect/include   -I/usr/local/include  -O2 -pipe -march=pentiumpro -Wall -c 'test -f 'spp_frag2.c' || echo './''spp_frag2.c
    *** Error code 1
    Stop in /usr/ports/security/snort/work/snort-2.1.3/src/preprocessors.
    *** Error code 1
    Stop in /usr/ports/security/snort/work/snort-2.1.3/src/preprocessors.
    *** Error code 1
    Stop in /usr/ports/security/snort/work/snort-2.1.3/src.
    *** Error code 1
    Stop in /usr/ports/security/snort/work/snort-2.1.3.
    *** Error code 1
    Stop in /usr/ports/security/snort/work/snort-2.1.3.
    *** Error code 1
    Stop in /usr/ports/security/snort.

    без патча все проходить нормально и работает.
    Подскажите, может я чтот неправильно делаю?

     
     
  • 2, Николай (??), 15:30, 03/03/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Доброго времени суток...
    >У меня все установилось вроде нормально...
    >только вот когда я пытаюсь пропачит snort-2.1.3
    >рекомендованными пачами snortsam, при сборке выдаеться вот такое:

    Позволь процетировать тебе автора:
    " Качаем бинарник snort'a с поддержкой mysql и snortsam с
    http://www.snortsam.net/files/snort-2.0-plugin/compiled/freebsd/snort-2.0-mys
    Проще говоря лезешь на сайт Снортсама, берешь оттуда бинарник под твой снорт, меняешь им оригинальный бинарник - и вуаля.....

     
     
  • 3, ObServer (?), 11:36, 12/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Скрипт запустить несмог:(

    # ./rules_update.sh
    ./rules_update.sh: Permission denied.


    Сделал всё вручную, но ругается на этом шаге...

    # su -fm snort -c '/usr/local/bin/oinkmaster -o /usr/local/share/snort/rules -b /var/backups/snort -r'
    Loading /usr/local/etc/oinkmaster.conf

    /usr/local/bin/oinkmaster: Error: the output directory "/usr/local/share/snort/rules" doesn't exist or isn't readable by you.

    Oink, oink. Exiting...
    #
    ЧТО ДЕЛАТЬ? ГДЕ КОПНУТЬ?

     
     
  • 4, frikazoid (?), 19:09, 11/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Скрипт запустить несмог:(
    >
    ># ./rules_update.sh
    >./rules_update.sh: Permission denied.
    >
    >
    >Сделал всё вручную, но ругается на этом шаге...
    >
    ># su -fm snort -c '/usr/local/bin/oinkmaster -o /usr/local/share/snort/rules -b /var/backups/snort -r'
    >Loading /usr/local/etc/oinkmaster.conf
    >
    >/usr/local/bin/oinkmaster: Error: the output directory "/usr/local/share/snort/rules" doesn't exist or isn't readable by
    >you.
    >
    >Oink, oink. Exiting...
    >#
    >ЧТО ДЕЛАТЬ? ГДЕ КОПНУТЬ?

    попробуй так

    su -fm root -c '/usr/local/bin/oinkmaster -o /usr/local/share/snort/rules -b /var/backups/snort -r'

     

  • 5, Валентин (??), 15:21, 11/06/2008 [ответить]  
  • +/
    Вот такая проблема с Snort
    Ошибка вот такая
    Initializing Network Interface rl0
    ERROR:OpenPcap() FSM compilation failed:syntax error
    PCAP command:start
    Fatal Error,Quitting
    Еще и грузит проц,а потом вываливается с процесов
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру