В первой статье мы начали рассмотрение решения с открытым кодом Wazuh. Мы развернули систему в конфигурации All In One, то есть все компоненты находятся на одном узле. В этой статье мы продолжим настройку нашего SIEM. Конечно, после установки он уже не совсем бесполезен, так как он собирает события из операционной системы, на которой развернут, поэтому если вы зашли в консоль и увидели какие-то алерты то в общем это нормально, так как события уже собираются, прав ила корреляции отрабатывают и алерты создаются. Но при промышленном использовании нам естественно необходимо подключать другие узлы в качестве источников событий. Этим мы сегодня и займемся.
Источники из коробки
Один из параметров, которым любят мериться разработчики коммерческих SIEM это количество источников, поддерживаемых из коробки. Поддержка из коробки означает, что SIEM “знает” данный тип источников. То есть, в инструкции по подключению источника уже есть описание определенного набора действий на источнике событий, а также на сборщике событий со стороны SIEM, выполнив которые вы начнете получать события с этого источника в нормализованном виде, то есть в консоли SIEM эти события уже будут разобраны по полям.
Естественно, разработчики полагают, что чем больше источников из коробки поддерживает их SIEM тем лучше. Хотя на практике заказчику гораздо важнее, чтобы поддерживались именно те источники, которые есть в его инфраструктуре.
В случае, если источник не поддерживается из коробки, то нам необходимо будет самостоятельно обучить SIEM разбирать сырые логи нашего приложения.
Но начнем мы с рассмотрения подключения к Wazuh именно стандартных источников.
Протокол Syslog
Сервер Wazuh может собирать журналы с помощью протокола Syslog с конечных точек, таких как брандмауэры, коммутаторы, маршрутизаторы и другие устройства, которые не поддерживают установку агентов Wazuh. Для настройки приема по данному протоколу необходимо добавить в файл /var/ossec/etc/ossec.conf, который находится на основном сервере Wazuh.
В этот файл необходимо добавить следующий раздел.
<remote>
<connection>syslog</connection>
<port>514</port>
<protocol>tcp</protocol>
<allowed-ips>192.168.2.15/24</allowed-ips>
<local_ip>192.168.2.10</local_ip>
</remote>
Где:
<connection>
- указывает тип принимаемого соединения. В данном случае это протокол Syslog.
<port>
- это порт, используемый для прослушивания входящих сообщений Syslog. В приведенном выше примере мы используем порт 514. Хотя, при необходимости мы можем для Syslog использовать любой другой порт.
<protocol>
- это протокол, используемый для прослушивания входящих сообщений Syslog. Допустимыми значениями являются либо tcp, либо udp.
<allowed-ips>
- это IP-адрес или сетевой диапазон источников, передающих события на сервер Wazuh. В приведенном выше примере мы используем 192.168.2.15/24.
<local_ip>
- это IP-адрес сервера Wazuh, который прослушивает входящие сообщения Syslog. В приведенном выше примере мы используем 192.168.2.10.
После внесения правок необходимо перезапустить wazuh-manager с помощью команды:
systemctl restart wazuh-manager
Если у вас есть центральный сервер ведения журнала, такой как Syslog или Logstash, вы можете установить на нем Wazuh agent, чтобы упростить сбор журналов. Эта настройка обеспечивает беспрепятственную пересылку журналов из нескольких источников на сервер Wazuh, что облегчает всесторонний анализ.
Перенаправляем сокет
По умолчанию данные журнала отправляются в сокет агента Wazuh, но в качестве выходных данных также можно указать другие сокеты. Модуль сбора журналов использует сокеты типа UNIX для обмена данными, что позволяет использовать протоколы TCP или UDP. Одним из сценариев, где это может быть полезно, является межпроцессное взаимодействие, когда вам может потребоваться перенаправить журналы в сокет для чтения другим процессом.
Вам необходимо создать новый сокет на вашей конечной точке, прежде чем добавлять его в файл конфигурации Wazuh. Вы можете создать сокет с помощью своего пользовательского приложения или netcat. Например, команда nc -lkU /var/run/custom.sock создает новый сокет /var/run/custom.sock, в который вы можете пересылать журналы.
Вы можете использовать тег <socket>, чтобы добавить новые выходные сокеты, а затем настроить агент Wazuh на вывод журналов в этот сокет. Для этого выполните следующие действия на контролируемом узле, чтобы создать новый выходной сокет и перенаправить журналы из файла file.log в него:
<socket>
<name>custom_socket</name>
<location>/var/run/custom.sock</location>
<mode>tcp</mode>
<prefix>custom_syslog: </prefix>
</socket>
После внесения изменений также не забудьте перезапустить wazuh-manager.
Установка агента
Для сбора событий с машин под управлением Windows нам необходимо сначала установить агента Wazuh на соответствующий узел. Для этого нам необходимо загрузить MSI пакет по следующей ссылке https://packages.wazuh.com/4.x/windows/wazuh-agent-4.7.3-1.msi. Можно также загрузить установочный пакет в самой консоли Wazuh.
Установить агент можно через командную строку или через оконный интерфейс.
При оконной установке самым главным шагом будет указание адреса сервера менеджера с соответствующим ключом аутентификации.
В случае установки из командной строки мы можем использовать простой консольный запуск:
wazuh-agent-4.7.3-1.msi /q WAZUH_MANAGER="10.0.0.2"
Или Powershell:
.\wazuh-agent-4.7.3-1.msi /q WAZUH_MANAGER="10.0.0.2"
На самом деле переменных, которые можно передать при регистрации агента намного больше. Например, есть переменная WAZUH_REGISTRATION_SERVER, значение которой при необходимости может отличаться, но если эта переменная не указана, то ей присваивается значение WAZUH_MANAGER.
Далее рассмотрим непосредственный сбор событий с узлов под управлением ОС Windows.
Журналы событий Windows
Журналы Windows - это описательные сообщения, содержащие информацию о событиях, происходящих в системах Windows. Средство просмотра событий Windows отображает события, а также программное обеспечение, приложения или компоненты, которые их генерируют. Агент Wazuh собирает важную информацию о событиях, такую как описания событий, стандартные системные поля и специфические данные о событиях. Сервер Wazuh анализирует и преобразует собранные события в формат JSON. Этот формат упрощает пользователям запрос и фильтрацию различных полей событий.
Event channel - это формат журнала, поддерживающий последние версии ОС Windows. Он содержит журналы приложений и служб, а также основные журналы Windows, включая журналы приложений, безопасности и системные журналы. Этот формат журнала также поддерживает использование запросов для отслеживания определенных событий Windows. По умолчанию Wazuh agent отслеживает каналы событий системы, приложений и системы безопасности Windows.
Вы можете настроить Wazuh agent для отслеживания других интересующих вас каналов событий Windows.
Для настройки сбора событий с отдельных каналов Windows с помощью Wazuh агента, просто укажите имя канала в поле location и log_format в блоке localfile файла C:\Program Files (х86)\ossec-agent\ossec.conf. Например, выполните следующие действия для мониторинга канала Microsoft-Windows-PrintService/Operational:
<localfile>
<location>Microsoft-Windows-PrintService/Operational</location>
<log_format>eventchannel</log_format>
</localfile>
Далее на Windows машине с Wazuh агентом необходимо перезапустить службу агента.
Заключение
В этой статье мы рассмотрели подключение стандартных источников под управлением Windows и Linux, при этом мы можем также события с других источников, использующих в качестве транспорта протокол Syslog.
Далее мы рассмотрим общие принципы подключения нестандартных источников.
А сейчас хочу порекомендовать вам бесплатный вебинар по теме:
Также напоминаю о том, что в каталоге курсов OTUS есть ряд экспертных курсов по информационной безопасности. Ознакомиться с каталогом.