Создание виртуальной машины Wazuh all in one

Компоненты

  • Yandex cloud Wazuh modules(wodle)
  • Wazuh v4.3
  • Yandex Wazuh visualisation application
  • Yara
  • ClamAv

Запуск решения

Чтобы запустить предоставленное нами решение, достаточно создать виртуальную машину из предоставленного нами образа и выполнить минимальные настройки, которые приведены ниже. После создания и настройки веб-интерфейс будет доступен по ссылке:

https://ip или https://loadbalancer_ip

Для получения логинов и паролей к веб интерфейсу/api и других компонентов, а также сертификатов, пользователю необходимо подключиться к виртуальной машине по ssh, и распаковать архив который расположен в директории /var/ossec с именем wazuh-install-files.tar. {% note warning %}

Внимание:
Мы не храним у себя логины/пароли, поэтому при изменении или утере паролей мы не сможем их восстановить. Пожалуйста, храните пароли в надежном месте. По умолчанию пароли генерируются при первом запуске.

Настройка получения событий

YC Wazuh modules

Реализация дает возможности глубокой интеграции между Wazuh и YC Trails.

По умолчанию мы поддерживаем два вида получения данных из Trails.

Интеграция Wazuh с Yandex Cloud logging

Интеграция с Yandex Cloud Logging является одним из самых простых решений и включена по умолчанию.

Перед началом необходимо настроить экспорт Yandex Cloud Trails в Yandex Cloud Logging.

После настройки достаточно запустить машину виртуальную машину из нашего образа.

Внимание: Для доступа к Yandex Cloud Logging и корректной работы нашего решения для виртуальной машины необходимо создать сервисный аккаунт со следующими правами:

logging.viewer
compute.viewer
logging.reader

Также требуется учесть, что наша реализация не использует сторонние сервисы. Данные права нужны для получения логов из Yandex Cloud Logging и получения метаданных о виртуальной машине, на которой запущено решение.

Существует два метода для получения логов:

  • на основе лейблов виртуальной машины;
  • на основе переменных окружения.

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

При создании виртуальной машины нужно указать лейблы вида “ключ-значение”:

yandex_log_group_id = "cloud_loggin_id"

В этом случае после запуска наше решение будет использовать значение, которое было установлено.

Рассмотрим второй случай, когда пользователь выбирает вариант system variables. Необходимо подключиться по ssh к виртуальной машине и добавить переменную YANDEX_LOG_GROUP_ID со значением, которое соответствует идентификатору Yandex cloud logging группы.

Например:

vi /etc/profile.d/wazuh.sh
export YANDEX_LOG_GROUP_ID="cloud_loggin_id"

На этом настройка закончена, и через некоторое время события будут доступны в веб-интерфейсе, как это представлено в таблице 1.

НазваниеТипОписание
YANDEX_LOG_MINUTES_AGOIntegerОтносительное время. Время в минутах используется при запросе trails, то есть дельта между текущим временем и n минут назад. Значение по умолчанию 360
YANDEX_LOG_GROUP_IDStringИдентификатор Yandex cloud logging группы

Таблица 1. События Yandex Cloud Logging

Интеграция Wazuh с Yandex Cloud Object Storage

Одна из особенностей интеграции между YС и Wazuh - возможность анализа Yandex Cloud Audit Trails. Для этого необходимо настроить экспорт Audit trail в объектное хранилище со стороны Yandex Cloud.

После успешной настройки необходимо создать виртуальную машину на основе нашего образа. После того, как виртуальная машина была создана, требуется подключиться к ней по ssh:

ssh user@new-vm-ip

Следующим шагом необходимо настроить использование YC Object storage как источника для Wazuh. Для этого интеграция предлагает гибкий механизм.

Достаточно отредактировать файл /etc/profile.d/wazuh.sh и установить необходимы переменные. Для работы с YC Object Storage необходимо сгенерировать ключи доступа , как это показано в Таблице 2.

НазваниеТипОписание
YANDEX_TRAIL_BUCKETStringИмя Yandex Object storage бакета, где храняться audit trails
YANDEX_TRAIL_BUCKET_PATHStringПуть, где хранятся audit trails
AWS_ACCESS_KEY_IDStringИдентификатор ключа, который нужно сгенерировать
AWS_SECRET_ACCESS_KEYStringСекретный ключ, который вы получили при генерации статического ключа.
AWS_DEFAULT_REGIONStringРегион по-молчанию введите значение ru-central1
DEBUGBooleanВключение или выключение отладки. По умолчанию 0

Таблица 2. Пример настроек интеграции с Yandex Cloud Object Storage

Пример содержимого /etc/profile.d/wazuh.sh

export YANDEX_TRAIL_BUCKET="wazuh-yc"
export YANDEX_TRAIL_BUCKET_PATH="wazuh"
export AWS_ACCESS_KEY_ID="11111"
export AWS_SECRET_ACCESS_KEY="22222"
export AWS_DEFAULT_REGION="ru-central1"
export DEBUG=0

После конфигурации необходимо включить плагин для работы с Object Storage. Для этого необходимо отредактировать основной файл конфигурации для Wazuh:

cd /var/ossec/etc/

В предпочитаемом редакторе требуется открыть файл ossec.conf (например vi ossec.conf) и найти в нем следующие строки:

<wodle name="command">
  <disabled>yes</disabled>
  <tag>yandex-cloudtrail</tag>
  <command>/bin/bash /var/ossec/wodles/yandex/yandex</command>
  <interval>1m</interval>
  <ignore_output>yes</ignore_output>
  <run_on_start>yes</run_on_start>
  <timeout>0</timeout>
</wodle>

Значение “disabled” необходимо поменять с “yes” на “no”. По итогу должен получиться примерно следующий код:

<wodle name="command">
  <disabled>no</disabled>
  <tag>yandex-cloudtrail</tag>
  <command>/bin/bash /var/ossec/wodles/yandex/yandex</command>
  <interval>1m</interval>
  <ignore_output>yes</ignore_output>
  <run_on_start>yes</run_on_start>
  <timeout>0</timeout>
</wodle>

Далее требуется сохранить файл и перезапустить wazuh-manager:

systemctl restart wazuh-manager

После перезапуска события начнут отображаться в wazuh-dashboard.