Установка и настройка системы обнаружения вторжений Snort
Введение
Snort - это система обнаружения вторжений(атак), способная выполнять анализ трафика в режиме реального времени с целью обнаружения попыток взлома системы.
Base - это WEB интерфейс для просмотра событий поступающих от Snort.
Задача:
- У вас имеется сеть состоящая из нескольких серверов. Вам необходимо настроить на каждом из них систему обнаружения вторжений Snort, таким образом, чтобы данные об обнаруженных атаках записывались в БД (Mysql,PostgreSQL).
- Настроить WEB интерфейс Base(Basic Analysis and Security Engine) для просмотра событий с сенсоров.
Предполагается, что:
- IP адрес сервера на котором будет работать БД Mysql и WEB сервер 10.0.0.1,
- IP адрес системного инженера которому разрешен просмотр событий 10.0.0.254.
- Используемая БД - MySQL.
Настройка MySQL
На сервере с IP адресом 10.0.0.1 Установите пакет snort.
Запустите сервер Mysql командой:
service mysqld start
После старта Mysql сервера введите в коммандной строке:
mysql
Создайте базу данных с именем snort:
mysql> create database snort; Query OK, 1 row affected (0.00 sec)
Создайте пользователя snortuser c паролем snortpass
mysql> grant all on snort.* to snortuser identified by 'snortpass'; Query OK, 0 rows affected (0.01 sec)
Выйдите из интерфейса Mysql
mysql> \q
Перейдите в каталог /usr/share/doc/snort-XXX, где XXX - ваша версия snort.
Выполните команду:
mysql snort <create_mysql
Тем самым мы создали все необходимые таблицы в БД snort.
Настройка BASE
BASE - это продолжение развития проекта ACID.
Скачайте последнюю версию BASE с сайта www.snort.org (на данный момент последняя версия 1.2.7).
Распакуйте содержимое архива BASE в каталог /var/www/base
Сделайте владельцем этого каталога и его содержимого пользователя и группу apache:
chown -R apache.apache /var/www/base
В каталоге /etc/httpd/conf.d создайте файл base.conf следующего содержания:
Alias /base/ /var/www/base/ <Directory /var/www/base> AllowOverride None </Directory>
Установите пакет php-adodb. Взять его можно из репозитория Fedora Extras.
Перезапустите сервер apache командой:
service httpd restart
В любом WEB броузере наберите httpd://10.0.0.1/base/
Вы должны увидеть страницу начального конфигурирования BASE
Нажмите Continue
Выберите язык "Russian" и введите путь до ADODB который по умолчанию устанавливается в каталог /var/www/adodb
Выберите тип БД MySQL и введите:
Database name: snort <br>
Database host: 10.0.0.1 <br>
Database port: 3306 <br>
Database name: Snort <br>
Database User Name: snortuser <br>
Database User Password: snortpass <br>
Если Вы хотите установить пароль при входе на страницу просморта событий BASE поставьте галочку в пункте "Use Authentication System" и задайте имя пользователя и пароль.
В появившемся окне нажмите кнопку "Create BASE AG"
Первоначальное конфигурирование BASE законченно.
Настройка сенсора Snort
Установите на защищаемый сервер пакет snort и snort-mysql.
Перейдите в каталог /etc/snort и отредактируйте файл snort.conf добавив/изменив следующие строки:
output database: log, mysql, user=snortuser password=snortpass dbname=snort host=10.0.0.1 var RULE_PATH /etc/snort/rules
Теперь нам необходимо скачать актуальные правила(rules) для Snort.
wget http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_pr/snortrules-pr-2.4.tar.gz
Распакуем содержимое файла snortrules-pr-2.4.tar.gz в каталог /etc/snort, в этом каталоге должен создаться каталог rules содержащий правила Snort.
Теперь нам необходимо поправить стартовый скрипт /etc/init.d/snortd Найдите в нем строку
daemon /usr/sbin/snort $ALERTMODE $BINARY_LOG $NO_PACKET_LOG $DUMP_APP -D $PRINT_INTERFACE $INTERFACE -u $USER -g $GROUP $CONF -l $LOGDIR $PASS_FIRST $BPFFILE $BPF
Замените ее на :
daemon /usr/sbin/snort -D $PRINT_INTERFACE -u $USER -g $GROUP $CONF
Запустите Snort:
service snortd start
Проверка работоспособности
Просканируйте сервер на котором Вы установили сенсор Snort сканером nmap. Допустим IP адрес сервера 10.0.0.2 тогда выполните:
nmap -sS 10.0.0.2
Войдите в интерфейс BASE httpd://10.0.0.1/base/
При правильной настройке вы должны увидеть примерно следующее:
Фролов Денис
