Система обнаружения вторжения не серверах (HIDS) — OSSEC

25 Янв
2012

Так получилось, что в организации, где я работаю в настоящее время, вопросами обеспечения информационной безопасности до недавнего времени мало уделялось внимания. В последнее время случилось несколько инцидентов, связанных со взломом почтового сервера, сайта. Было принято решение проработать возможные решения по повышению уровня ИБ. Помимо других средств и мер защиты, решено было внедрить Host-Based IDS. Так как бюджет на нужды ИБ, как всегда, небольшой, решено было проработать open source решения, и выбор после недолгих поисков пал продукт под названием ossec.

Что есть ossec? OSSEC — HIDS-системой (Система обнаружения вторжений, инсталлируемая на хосты сети). Возможны несколько вариантов установки данной системы:
— локальный – вы устанавливаете ossec на локальном сервере(хосте) и продукт мониторит подозрительную активность на нем.
— сетевой – вы устанавливаете сервер ossec, на которые будут стекаться информация от агентов или по syslog.

Подробнее с данной системой можно ознакомиться на официальном сайте проекта www.ossec.net.

Кому интересно, как производится базовая установка и настройка системы добро пожаловать под кат.

В этой статье я хотел бы остановиться на установке и настройке сервера ossec, web-интерфейса для него, а также устаноки агентов на сервера под управлением ОС семейства Linux. Установку ossec проводил на x86 сервер под управлением CentOS release 6.2.

1. Установка и настройка сервера:
Я устанавливал ossec из скаченных rpm-файлов с www6.atomicorp.com/channels/atomic/.
Можно также подключить rpm-репозиторий (как подключить, указано на сайте проекта) и менеджером пакетов скачать и установить ossec.
yum install inotify-tools-devel inotify-tools – необходимые для установки ossec пакеты.
rpm -ivh ossec-hids-2.6-5.el6.art.i686.rpm – установка ossec
rpm -ivh ossec-hids-server-2.6-5.el6.art.i686.rpm – установка ossec-сервера

2. Файлы настройки и бинарники, а также файлы логирования продукта по умолчанию располагаются в директории /var/ossec.
Редактируем конфиг/var/ossec/etc/ossec.conf:
Указываем, параметры smtp:
<email_notification>yes</email_notification>
<email_to>am.popov@pes.spb.ru</email_to>
<smtp_server>smtp.buh.pes.spb.ru</smtp_server>
<email_from>ossecm@pes.spb.ru</email_from>


Уменьшаем частоту сканирования файлов:


7200
Редактируем список адресов, к которым возможно применение функции active responce:

<white_list>127.0.0.1</white_list>
<white_list>192.168.2.1</white_list>
……….


Описываем, оповещения какого уровня записывать в файл лога, а какие отсылать по email.

<log_alert_level>1</log_alert_level>
<email_alert_level>5</email_alert_level>


Остальные настройки остаются по умолчанию, в дальнейшем их можно расширять и дополнять, изменять и экспериментировать.
Запускаем ossec — Service ossec-hids start или /var/ossec/bin/ossec-control start. Не забываем добавить ossec в автозапуск.

3. На серверах, на которых предполагается установка клиентов:
yum install inotify-tools
Из rpm-пакетов установить агента ossec не удалось (постоянно не хватало каких-то библиотек, которые при серверной установке почему-то не требовались). Подключением репозитория atomic тоже не удалось решить проблему, так как в репозиториях почему-то не удалось обнаружить ossec-agent, а вот установка из исходников, скаченных с сайта проекта, установка прошла на ура.
tar xzvf ossec-hids-2.6.tar.gz
cd ossec-hids-2.6
./install.sh. Выводится интерактивный терминал, где можно выбрать русский язык и установить агент, указав в процессе установки ip-адрес сервера.
/var/ossec/bin/ossec-control start

4. Каждый агент для получения доступа к серверу должен указать свой уникальный ключ. Для создания такого ключа или удаления агента, на сервере используется менеджер агентов.
/var/ossec/bin/manage-agents.
В интерактивном режиме выбираем «А», следуя инструкциям добавляем агента. Чтобы просмотреть сгенерированный криптографический ключ в конце вводим «Е» и указываем id-агента, присвоенный агенту на предыдущих шагах. Копируем с окна терминального подключения полученный ключ.
На клиенте:
/var/ossec/bin/manage-agents, выбираем «I» и вставляем ключ агента.
Перезапускаем демон: /var/ossec/bin/ossec-control start

5. Не забываем открыть доступ к серверу ossec по udp 1514.
iptables -I INPUT 3 -s 10.200.0.0/16 -p udp —dport 1514 -m state —state NEW -j ACCEPT
Проверяем на сервере список активных агентов:
bin/list_agents –c – должен быть указан ранее добавленный агент(ы).
image

6. Можно после этого посмотреть файл лога ossec, так уже должны появиться оповещения о контрольных суммах файлов, которые включены в проверку и так далее.
Файл текущего лога располагается в /var/ossec/logs/logs/alerts/alerts.log

7. Перейдем к настройке web-интерфейса, так как смотреть через консоль не особо удобно. Но хочу отметить, что web-интерфейс, достаточно простенький и не реализует кучу функций для просмотра и поиска. Установку производим из исходников.
tar xzvf ossec-wui-0.3.tar.gz

Проверяем наличие Apache и php (>= 4.1 или >= 5.0)
mv ossec-wui-0.3 /var/www/- копируем в дефолтную директорию Apache

Запускаем скрипт ossec-wui-0.3/setup.sh. Логин и пароль, которые будут введены, будут в дальнейшем использоваться для доступа к web-интерфейсу.
cd ossec-wui-0.3/

Добавлям в /etc/group пользователя apache в группу ossec.

Меняем разрешения на папку ossec-wui-0.3/tmp: chmod 770 tmp/ -R и группу имеющую доступ к каталогу chgrp apache tmp/ -R.

Разрешаем доступ по http к серверу.
iptables -I INPUT 3 -s 10.200.16.54 -p tcp —dport 80 -m state —state NEW -j ACCEPT.

В /etc/httpd/conf/httpd.conf добавляем:
Alias /ossec «/var/www/ossec-wui-0.3/»
<Directory /var/www/ossec-wui-0.3/>
Options none
AllowOverride All
Order Deny,Allow
Allow from all


8. Стоит отметить, что система ossec относится к системам безопасности, но при этом, на официальном сайте продукта написано, что необходимо отключить или настроить selinux для работы WUI, но при этом параметры настройки selinux не приводятся.

Естественно я решил настроить selinux и вообще не являюсь сторонником того, что selinux стоит отключать.
restorecon -R ossec-wui-0.3/
проверить ls –Z ossec-wui-0.3/

В разрешениях selinux должен быть следующий вывод: unconfined_u:object_r:httpd_sys_content_t:s0
Для доступа с web-страницы к алертам, собираемым ossec, изменяем метки selinux следующих файлов.
chcon —type=httpd_sys_content_t -R /var/ossec/logs/alerts/2012/
chcon —type=httpd_sys_content_t -R /var/ossec/queue/syscheck/
chcon —type=httpd_sys_content_t -R /var/ossec/stats/

Запускаем Apache: service httpd start.

Проверяем доступность WUI: http:///ossec/.

image

Кстати, в ossec-wui-0.3.tar.gz, есть скрипт setup.sh, который при выполнении задать ограничение по доступу к WUI с использованием .htaccess.

9. При перезапуске ossec-сервера выскакивала ошибка, и сервисы не запускались. В логах была информация, что ossec-analysisd не может прочитать файл etc/internal_options.conf.
Изменил группу, владеющую файлом на ossec: chgrp ossec etc/internal_options.conf, ошибка исчезла, демон запустился.

10. Чтобы проверить исправность отправки почты ossec целесообразно уменьшить уровень сообщений, отправляемых ossec с дефолтного 7 на 3 или 2. Затем лучше вернуть уровень на делфотный, так как количество отрпавляемых сообщений может быть избыточным.

Данная статья не претендует на полное и всеобъемлемущее описание ossec, но думаю поможет в установке и настройке системы тем, кто планирует делать это с нуля. В следующей статье опишу порядок сбора alert по syslog с активного сетевого оборудования, возможности ossec по активному противодействию угрозам.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх