OSSEC (Open Source Host-based Intrusion Detection System) – это хостовая система обнаружения вторжений. Если у вас появилась задача проверки контроля целостности файлов на ваших серверах, логирования различных действий на серверах, получения событий безопасности с ваших серверов (а также любых других) и оповещений об этих событиях, вывода различных отчетов и многое другое, то HIDS OSSEC — отличное решение под эти задачи. OSSEC может работать локально, по схеме агент + сервер и в гибридном режиме (агент->сервер->сервер). Мы будем рассматривать схему агент + сервер и работу в гибридном режиме.
Установка OSSEC
Настройка конфигурационного файла OSSEC
Добавление агентов
Настройка конфигурационного файла для агентов
Email оповещения
Работа с агентами и получение отчетов
Вывод данных в другие системы
Работа OSSEC в гибридном режиме
Установим на ОС Ubuntu 14.04 Установим необходимые пакеты для установки OSSEC:
Скачиваем OSSEC с офф.сайта:
Запустим установочный скрипт ./install.sh. Выбираем язык (en). Отвечаем на вопросы:
Ждем завершения установки.
По умолчанию OSSEC установится в каталог /var/ossec/. Директории с бинарными файлами — /var/ossec/bin/. Директории с конфигурационными файлами — /var/ossec/etc/. Директории с логами — /var/ossec/logs/. Для работы агентов с сервером необходимо открыть порт 1514udp.
Откроем конфиг файл.
nano /var/ossec/etc/ossec.conf.
Секция global.
В этой секции мы настроим email оповещения:
Секция syscheck. В этой секции находятся параметры проверки целостности файлов:
Разберем дополнительные параметры проверки целостности файлов. Если нам необходимо запускать проверку в определенное время, то можно воспользоваться параметром scan_time или scan_day:
Если нам необходим постоянный контроль целостности, каких-либо файлов, на этот случай существует параметр realtime:
Постоянный контроль конкретных файлов включить нельзя, необходимо указать каталог, где этот файл находится. Также можно включить запуск проверки при старте ОС:
Если нам потребуется включить оповещения о появлении новых фалов в каталогах, можно воспользоваться параметром alert_new_files:
В секции rootcheck указываются файлы с сигнатурами руткитов.
В секциях localfile указывается лог файлы, которые ossec будет мониторить.
На основе декодеров и правил, которые находятся в /var/ossec/etc/decoders.xml и /var/ossec/rules/, OSSEC будет обрабатывать события из этих лог файлов. По умолчанию OSSEC имеет довольно большое количество правил, подключать/отключать их можно в секции rules. Если этих правил вам не хватает или некоторые из них устарели, никто вам не мешает изменять их или писать свои.
В секциях command и active-response находятся конфигурации режима IPS. Можно настроить реагирование на какое-либо событие. В /var/ossec/active-response/bin/ находятся дефолтные скрипты, которые можно применить при наступлении какого-либо события. При нехватке этих скриптов можно добавить свои.
Установим OSSEC агент из этого же дистрибутива, только при установке выберем режим agent.
3.1- What's the IP Address or hostname of the OSSEC HIDS server? Укажем IP-адрес нашего OSSEC сервера. Снова включим модуль проверки целостности и поиска руткитов. Ждем завершения установки.Теперь необходимо связать ossec агент с нашим сервером. Для этого существует два способа.
Идем на сервер и запускаем менеджер работы с агентами:
Выбираем A (A)dd an agent (A). Далее пишем имя нашего агента. Указываем ip адрес нашего агента. Выбираем идентификатор агента, можно оставить id который предлагает OSSEC.
Confirm adding it?(y/n):y
Подтверждаем добавление агента. Далее выбираем (E)xtract key for an agent. Указываем id нашего нового агента. Копируем base64 строку и нажимаем Enter. Выбираем Q выход из менеджера работы с агентами. Рестартим сервер для успешного добавления агента:
Далее идем на наш агент и заходим в менеджер работы с агентами:
Выбираем (I)mport key from the server для добавления ключа который мы скопировали. Вставляем ключ и подверждаем добавление агента и выходим. Далее можно запускать наш агент.
Должно прийти уведомление по почте о том, что новый агент подключен. Идем на сервер, чтобы проверить подключился ли агент.
Мы должны увидеть в списке ваш агент со статусом Active. Также в /var/ossec/logs/alerts.alerts.log мы должны увидеть событие.
New ossec agent connected.
Агент успешно добавлен.
Идем на сервер. Генерируем сертификат для нашего сервера:
Запускаем демон, который будет ожидать регистрации агентов по порту 1515:
Переходим на машину с агентом:
Добавляем агент
Стартуем агент /etc/init.d/ossec start. Переходим обратно на сервер и смотрим, появился ли наш агент:
Мы должны увидеть нового агента, имя агента будет совпадать с hostname. Для успешного подключения агента необходимо рестартнуть OSSEC сервер. Этот способ добавления очень удобен, т.к не требует от администратора сервера OSSEC многих действий по работе с ключами. Для работы этого режима, как на сервере, так и на агенте, необходимо производить установку OSSEC с пакетом libssl-dev.
Настройка конфигурационного файла для агентов мало чем отличается от настройки этого файла для сервера. Там также есть секции syschek, rootkit, localfile и прочие. Но удобнее держать один конфигурационный файл для агентов на сервере, а агенты будут сами подхватывать этот конфиг.файл и его изменения.
Для этого нам необходимо на сервере в /var/ossec/etc/shared/ создать файл agent.conf – это и будет наш общий конфигурационный файл. В этом файле можно делать разные конфигурации для наших агентов, которые можно разбить по нескольким типам:
— Имя агента. Можно сделать конфигурацию для нескольких агентов и перечислить их имена.
— Профиль сервера. Можно сделать конфиграции для групп серверов(например веб-серверы, базы данных и т.д):
— Тип ОС. Можно сделать конфигурации в зависимости от типа ОС:
Для проверки соблюдения синтаксиса в конфиг.файле для агентов можно воспользоваться:
В итоге в /var/ossec/etc/ossec.conf на агенте можно оставить несколько строк:
Остальную часть конфигурации агент подхватит с сервера.
Настройки для работы email оповещений мы уже указали в секции global конфигурационного файла OSSEC сервера. В каждом событии из правил ossec есть уровень критичности, если мы хотим получать email оповещения не ниже какого-то определенного уровня, мы можем это настроить в секции alerts:
Также мы можем настроить email оповещения для событий из каких-либо определенных групп сообщений(группы указаны в правилах ossec).
Если мы захотим получать sms сообщения, то в ossec для этого есть спец формат.
Получения списка всех агентов:
Получение информации о агенте, интересна здесь контрольная сумма файла конфигурации. Ее можно сравнить с конфигурацией на сервере:
Если контрольные суммы не совпадают, значит агент не подхватил конфиг с сервера.
Перезапуск агента, обычно необходимо для применения изменений в конфиге для агентов.
Принудительный запуск проверки целостности и поиска руткитов на всех агентах:
Тоже самое, но только для определенного агента:
Обнуление счетчиков контрольных сумм файлов:
Для получения отчетов в консоли можно пользоваться этим:
Примеры:
Можно получать отчеты о смене контрольных сумм файлов определенного агента или какого либо файла.
Кроме вывода событий в файлы alerts и в виде email оповещений, в OSSEC можно настроить вывод событий в другие системы или в БД.
Для вывода событий в SIEM Prelude необходимо перед установкой OSSEC server установить пакет libprelude-dev и и добавить поддержку prelude
Сделаем вывод из ossec в PreludeManager. Для этого откроем /var/ossec/etc/ossec.conf. В секцию global добавляем строку <prelude_output>yes</prelude_output>.
Теперь подключим OSSEC к prelude. Запускаем в одном терминале:
The «p9dfqy34» password will be requested by «prelude-admin register»
in order to connect. Please remove the quotes before using it.
Generating 1024 bits Diffie-Hellman key for anonymous authentication…
Waiting for peers install request on 0.0.0.0:5553…
Waiting for peers install request on :::5553...
В другом терминале добавляем OSSEC командой:
Generating 2048 bits RSA private key… This might take a very long time.
[Increasing system activity will speed-up the process].
Generation in progress… X
Теперь запустим оба демона.
Теперь можем наблюдать события из OSSEC в Prelude.
Для вывода событий событий в БД необходимо добавить поддержку БД перед установкой OSSEC:
Позже добавить параметры подключения к БД в конфигурационном файле. Пример:
Поддерживаемые БД: MySQL и PostgreSQL.
Схемы баз данных есть в офф.документации.
Далее необходимо включить вывод в БД:
Необходимо добавить в конфиг.файл следующие строки:
Включить вывод:
Часто через syslog из OSSEC выводят события в SPLUNK, Logstash, различные SIEM.
Гибридный режим в OSSEC служит для того, чтобы построить схему Агент -> Сервер -> Основной сервер, иными словами для форварда событий на головной OSSEC сервер. В этом режиме на сервере работает как OSSEC агент, так и OSSEC сервер.
Чтобы установить OSSEC в гибридном режиме необходимо запустить установочный скрипт и выбрать режим установки hybrid, ответить на все вопросы и в процессе установке указать ip адрес основного сервера.
Все файлы от агента находятся в каталоге /var/ossec/ossec-agent/.
Запуск, Стоп, Рестарт агента производится с помощью:
Чтобы добавить этого агента к основному серверу необходимо также установить ключ, созданный на основном сервере.
Теперь этот агент будет читать файл /var/ossec/logs/alerts/alerts.log и передавать эти события на основной сервер.
У меня при работе этого режима агент через некоторое время переставал читать этот лог. С проблемой помогла установка этого патча: github.com/ddpbsd/ossec-hids/tree/ossecalert
Сейчас на моем OSSEC сервере подключено 135 агентов, есть как сервера на Windows, так и на Linux (Ubuntu, Debian, CentOS).
— www.ossec.net
— Книга OSSEC HIDS Host-Based Intrusion Detection Guide
Содержание
Установка OSSEC
Настройка конфигурационного файла OSSEC
Добавление агентов
Настройка конфигурационного файла для агентов
Email оповещения
Работа с агентами и получение отчетов
Вывод данных в другие системы
Работа OSSEC в гибридном режиме
Установка OSSEC
Установим на ОС Ubuntu 14.04 Установим необходимые пакеты для установки OSSEC:
apt-get install make gcc libssl-dev
Скачиваем OSSEC с офф.сайта:
http://www.ossec.net/files/ossec-hids-2.8.2.tar.gz
tar -xvf ossec-hids-2.8.2.tar.gz
cd ossec-hids-2.8.2
Запустим установочный скрипт ./install.sh. Выбираем язык (en). Отвечаем на вопросы:
1) What kind of installation do you want (server, agent, local, hybrid or help)?
Выбираем server.
2) Выбираем путь установки.
3) Do you want e-mail notification? (y/n) [y]:
Указываем параметры smtp сервера для получения email оповещений.
4) Do you want to run the integrity check daemon? (y/n) [y]:
Включаем демон проверки целостности файлов.
5) Do you want to run the rootkit detection engine? (y/n) [y]:
Включаем проверку руткитов.
6) Do you want to enable active response? (y/n) [n]:
Включаем режим IPS. Работу этого режима в этом примере рассматривать не будем.
7) Do you want to enable remote syslog (port 514 udp)? (y/n) [y]: y
Ждем завершения установки.
По умолчанию OSSEC установится в каталог /var/ossec/. Директории с бинарными файлами — /var/ossec/bin/. Директории с конфигурационными файлами — /var/ossec/etc/. Директории с логами — /var/ossec/logs/. Для работы агентов с сервером необходимо открыть порт 1514udp.
Настройка конфигурационного файла OSSEC
Откроем конфиг файл.
nano /var/ossec/etc/ossec.conf.
Секция global.
В этой секции мы настроим email оповещения:
<ossec_config>
<global>
<email_notification>yes</email_notification>
Включено оповещение по почте
<email_to>ivanov@ossec.ru</email_to>
Кому отправлять оповещения
<smtp_server>mail.ossec.ru</smtp_server>
Ваш SMTP Сервер
<email_from>ossec@ossec.ru</email_from>
От кого отправляем
<email_maxperhour>100</email_maxperhour>
Максимальное количество писем отправляемых за час
</global>
Секция syscheck. В этой секции находятся параметры проверки целостности файлов:
<syscheck>
<!-- Frequency that syscheck is executed - default to every 22 hours -->
<frequency>18000</frequency>
Периодичность запуска проверки в секундах
<!-- Directories to check (perform all possible verifications) -->
<directories check_all="yes">/etc,/usr/bin,/usr/sbin,/boot,/opt,/lib,/lib64</directories>
Каталоги для проверки
<!-- Files/directories to ignore -->
<ignore>/etc/mtab</ignore>
Указываем файлы которые нужно игнорировать
</syscheck>
Разберем дополнительные параметры проверки целостности файлов. Если нам необходимо запускать проверку в определенное время, то можно воспользоваться параметром scan_time или scan_day:
Пример <scan_time>04:00</scan_time> # запуск проверки в 4 утра
Если нам необходим постоянный контроль целостности, каких-либо файлов, на этот случай существует параметр realtime:
<directories realtime="yes">/etc,/usr/bin,/usr/sbin</directories>
Постоянный контроль конкретных файлов включить нельзя, необходимо указать каталог, где этот файл находится. Также можно включить запуск проверки при старте ОС:
<scan_on_start>yes</scan_on_start>
Если нам потребуется включить оповещения о появлении новых фалов в каталогах, можно воспользоваться параметром alert_new_files:
<alert_new_files>yes</alert_new_files>
В секции rootcheck указываются файлы с сигнатурами руткитов.
В секциях localfile указывается лог файлы, которые ossec будет мониторить.
На основе декодеров и правил, которые находятся в /var/ossec/etc/decoders.xml и /var/ossec/rules/, OSSEC будет обрабатывать события из этих лог файлов. По умолчанию OSSEC имеет довольно большое количество правил, подключать/отключать их можно в секции rules. Если этих правил вам не хватает или некоторые из них устарели, никто вам не мешает изменять их или писать свои.
В секциях command и active-response находятся конфигурации режима IPS. Можно настроить реагирование на какое-либо событие. В /var/ossec/active-response/bin/ находятся дефолтные скрипты, которые можно применить при наступлении какого-либо события. При нехватке этих скриптов можно добавить свои.
Добавление агентов
apt-get install make gcc libssl-dev
Установим OSSEC агент из этого же дистрибутива, только при установке выберем режим agent.
3.1- What's the IP Address or hostname of the OSSEC HIDS server? Укажем IP-адрес нашего OSSEC сервера. Снова включим модуль проверки целостности и поиска руткитов. Ждем завершения установки.Теперь необходимо связать ossec агент с нашим сервером. Для этого существует два способа.
1-й способ
Идем на сервер и запускаем менеджер работы с агентами:
/var/ossec/bin/manage_agents
Выбираем A (A)dd an agent (A). Далее пишем имя нашего агента. Указываем ip адрес нашего агента. Выбираем идентификатор агента, можно оставить id который предлагает OSSEC.
Confirm adding it?(y/n):y
Подтверждаем добавление агента. Далее выбираем (E)xtract key for an agent. Указываем id нашего нового агента. Копируем base64 строку и нажимаем Enter. Выбираем Q выход из менеджера работы с агентами. Рестартим сервер для успешного добавления агента:
/etc/init.d/ossec restart
Далее идем на наш агент и заходим в менеджер работы с агентами:
/var/ossec/bin/manage_agents
Выбираем (I)mport key from the server для добавления ключа который мы скопировали. Вставляем ключ и подверждаем добавление агента и выходим. Далее можно запускать наш агент.
/etc/init.d/ossec start
Должно прийти уведомление по почте о том, что новый агент подключен. Идем на сервер, чтобы проверить подключился ли агент.
Запускаем /var/ossec/bin/agent_control –l
Мы должны увидеть в списке ваш агент со статусом Active. Также в /var/ossec/logs/alerts.alerts.log мы должны увидеть событие.
New ossec agent connected.
Агент успешно добавлен.
2-й способ
Идем на сервер. Генерируем сертификат для нашего сервера:
# openssl genrsa -out /var/ossec/etc/sslmanager.key 2048
# openssl req -new -x509 -key /var/ossec/etc/sslmanager.key -out /var/ossec/etc/sslmanager.cert -days 365
Запускаем демон, который будет ожидать регистрации агентов по порту 1515:
/var/ossec/bin/ossec-authd -p 1515 >/dev/null 2>&1 &
Переходим на машину с агентом:
Добавляем агент
/var/ossec/bin/agent-auth -m 192.168.1.113(ip адрес сервера) -p 1515
Стартуем агент /etc/init.d/ossec start. Переходим обратно на сервер и смотрим, появился ли наш агент:
/var/ossec/bin/agent_control –l
Мы должны увидеть нового агента, имя агента будет совпадать с hostname. Для успешного подключения агента необходимо рестартнуть OSSEC сервер. Этот способ добавления очень удобен, т.к не требует от администратора сервера OSSEC многих действий по работе с ключами. Для работы этого режима, как на сервере, так и на агенте, необходимо производить установку OSSEC с пакетом libssl-dev.
Настройка конфигурационного файла агентов
Настройка конфигурационного файла для агентов мало чем отличается от настройки этого файла для сервера. Там также есть секции syschek, rootkit, localfile и прочие. Но удобнее держать один конфигурационный файл для агентов на сервере, а агенты будут сами подхватывать этот конфиг.файл и его изменения.
Для этого нам необходимо на сервере в /var/ossec/etc/shared/ создать файл agent.conf – это и будет наш общий конфигурационный файл. В этом файле можно делать разные конфигурации для наших агентов, которые можно разбить по нескольким типам:
— Имя агента. Можно сделать конфигурацию для нескольких агентов и перечислить их имена.
<agent_config name="agentname1|agenname2|agentname3">
настройки проверки контроля целостности
настройки проверки руткитов
настройки просмотра файлов
</agent_config>
— Профиль сервера. Можно сделать конфиграции для групп серверов(например веб-серверы, базы данных и т.д):
<agent_config profile="web-servers">
настройки проверки контроля целостности
настройки проверки руткитов
настройки просмотра файлов
</agent_config>
— Тип ОС. Можно сделать конфигурации в зависимости от типа ОС:
<agent_config os="Linux,Windows">
настройки проверки контроля целостности
настройки проверки руткитов
настройки просмотра файлов
</agent_config>
Для проверки соблюдения синтаксиса в конфиг.файле для агентов можно воспользоваться:
/var/ossec/bin/verify-agent-conf
В итоге в /var/ossec/etc/ossec.conf на агенте можно оставить несколько строк:
<ossec_config>
<client>
<server-hostname>dns_имя_нашего сервера</server-hostname>
#или <server-ip>ip_сервера</server-ip>
<config-profile>наш_профиль, lowmemory</config-profile>
</client>
</ossec_config>
Остальную часть конфигурации агент подхватит с сервера.
Email оповещения
Настройки для работы email оповещений мы уже указали в секции global конфигурационного файла OSSEC сервера. В каждом событии из правил ossec есть уровень критичности, если мы хотим получать email оповещения не ниже какого-то определенного уровня, мы можем это настроить в секции alerts:
<alerts>
<log_alert_level>1</log_alert_level>
<email_alert_level>7</email_alert_level>
</alerts>
Также мы можем настроить email оповещения для событий из каких-либо определенных групп сообщений(группы указаны в правилах ossec).
<email_alerts>
<email_to>web_admin@ossec.ru</email_to>
<group>apache</group>
</email_alerts>
Если мы захотим получать sms сообщения, то в ossec для этого есть спец формат.
<email_alerts>
<email_to>admin@ossec.ru</email_to>
<level>7</level>
<format>sms</format>
</email_alerts>
Работа с агентами и получение отчетов
/var/ossec/bin/agent_control –l
Получения списка всех агентов:
/var/ossec/bin/agent_control –i id_агента
Получение информации о агенте, интересна здесь контрольная сумма файла конфигурации. Ее можно сравнить с конфигурацией на сервере:
md5sum /var/ossec/etc/shared/agent.conf
Если контрольные суммы не совпадают, значит агент не подхватил конфиг с сервера.
/var/ossec/bin/agent_control –R id_агента
Перезапуск агента, обычно необходимо для применения изменений в конфиге для агентов.
/var/ossec/bin/agent_control -r –a
Принудительный запуск проверки целостности и поиска руткитов на всех агентах:
/var/ossec/bin/agent_control -r –u id_агента
Тоже самое, но только для определенного агента:
/var/ossec/bin/syscheck_update -h
Обнуление счетчиков контрольных сумм файлов:
/var/ossec/bin/syscheck_update -h
-l List available agents.
-a Update (clear) syscheck database for all agents.
-u <id> Update (clear) syscheck database for a specific agent.
-u local Update (clear) syscheck database locally.
Для получения отчетов в консоли можно пользоваться этим:
/var/ossec/bin/ossec-reportd
Примеры:
Вывод всех алертов за сегодняшнего дня - cat /var/ossec/logs/alerts/alerts.log | /var/ossec/bin/ossec-reportd -s
Вывод всех алертов за определенный день - zcat /var/ossec/logs/alerts/2014/Dec/ossec-alerts-29.log.gz | /var/ossec/bin/ossec-reportd -s
Вывод всех алертов о смене конторльных сумм за день - cat /var/ossec/logs/alerts/alerts.log | /var/ossec/bin/ossec-reportd -s -f group syscheck
Вывод всех неудачных попыток авторизации за день - cat /var/ossec/logs/alerts/alerts.log | /var/ossec/bin/ossec-reportd -s -f rule 5503
Вывод всех неудачных попыток авторизации по ssh за день - cat /var/ossec/logs/alerts/alerts.log | /var/ossec/bin/ossec-reportd -s -f rule 5716
Вывод всех установленных пакетов за день - cat /var/ossec/logs/alerts/alerts.log | /var/ossec/bin/ossec-reportd -s -f rule 2902
Вывод всех удаленных пакетов за день - cat /var/ossec/logs/alerts/alerts.log | /var/ossec/bin/ossec-reportd -s -f rule 2903
Вывод попыток брутфорса ssh за день - cat /var/ossec/logs/alerts/alerts.log | /var/ossec/bin/ossec-reportd -s -f rule 5712
Вывод данных за месяц - zcat /var/ossec/logs/alerts/2009/Jul/*.gz | /var/ossec/bin/ossec-reportd -s
Можно получать отчеты о смене контрольных сумм файлов определенного агента или какого либо файла.
/var/ossec/bin/syscheck_control
Вывод данных в другие системы
Кроме вывода событий в файлы alerts и в виде email оповещений, в OSSEC можно настроить вывод событий в другие системы или в БД.
Вывод в SIEM Prelude
Для вывода событий в SIEM Prelude необходимо перед установкой OSSEC server установить пакет libprelude-dev и и добавить поддержку prelude
cd ossec-hids-2.8.2/src/
# make setprelude
cd ..
./install.sh
Сделаем вывод из ossec в PreludeManager. Для этого откроем /var/ossec/etc/ossec.conf. В секцию global добавляем строку <prelude_output>yes</prelude_output>.
Теперь подключим OSSEC к prelude. Запускаем в одном терминале:
prelude-admin registration-server prelude-manager
The «p9dfqy34» password will be requested by «prelude-admin register»
in order to connect. Please remove the quotes before using it.
Generating 1024 bits Diffie-Hellman key for anonymous authentication…
Waiting for peers install request on 0.0.0.0:5553…
Waiting for peers install request on :::5553...
В другом терминале добавляем OSSEC командой:
# prelude-admin register OSSEC "idmef:w" 127.0.0.1 --uid ossec --gid ossec
Generating 2048 bits RSA private key… This might take a very long time.
[Increasing system activity will speed-up the process].
Generation in progress… X
Теперь запустим оба демона.
/etc/init.d/prelude-manager start
/etc/init.d/ossec restart
Теперь можем наблюдать события из OSSEC в Prelude.
Вывод событий в БД
Для вывода событий событий в БД необходимо добавить поддержку БД перед установкой OSSEC:
cd ossec-hids-2.8.2/src/
# make setdb
cd ..
./install.sh
Позже добавить параметры подключения к БД в конфигурационном файле. Пример:
<ossec_config>
<database_output>
<hostname>192.168.2.32</hostname>
<username>db_test</username>
<password>db_pass1</password>
<database>ossecdb</database>
<type>mysql</type>
</database_output>
</ossec_config>
Поддерживаемые БД: MySQL и PostgreSQL.
Схемы баз данных есть в офф.документации.
Далее необходимо включить вывод в БД:
/var/ossec/bin/ossec-control enable database
/var/ossec/bin/ossec-control restart
Вывод в другие системы через syslog
Необходимо добавить в конфиг.файл следующие строки:
<syslog_output>
<server>ip_address</server>
<port>514</port>
<format>default</format>
</syslog_output>
Включить вывод:
/var/ossec/bin/ossec-control enable client-syslog
Часто через syslog из OSSEC выводят события в SPLUNK, Logstash, различные SIEM.
Работа OSSEC в гибридном режиме
Гибридный режим в OSSEC служит для того, чтобы построить схему Агент -> Сервер -> Основной сервер, иными словами для форварда событий на головной OSSEC сервер. В этом режиме на сервере работает как OSSEC агент, так и OSSEC сервер.
Чтобы установить OSSEC в гибридном режиме необходимо запустить установочный скрипт и выбрать режим установки hybrid, ответить на все вопросы и в процессе установке указать ip адрес основного сервера.
Все файлы от агента находятся в каталоге /var/ossec/ossec-agent/.
Запуск, Стоп, Рестарт агента производится с помощью:
/var/ossec/ossec-agent/bin/ossec-control start|stop|restart
Чтобы добавить этого агента к основному серверу необходимо также установить ключ, созданный на основном сервере.
/var/ossec/ossec-agent/bin/manage_agents
Теперь этот агент будет читать файл /var/ossec/logs/alerts/alerts.log и передавать эти события на основной сервер.
У меня при работе этого режима агент через некоторое время переставал читать этот лог. С проблемой помогла установка этого патча: github.com/ddpbsd/ossec-hids/tree/ossecalert
Сейчас на моем OSSEC сервере подключено 135 агентов, есть как сервера на Windows, так и на Linux (Ubuntu, Debian, CentOS).
Ссылки
— www.ossec.net
— Книга OSSEC HIDS Host-Based Intrusion Detection Guide