Создание виртуальной машины 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_AGO | Integer | Относительное время. Время в минутах используется при запросе trails, то есть дельта между текущим временем и n минут назад. Значение по умолчанию 360 |
YANDEX_LOG_GROUP_ID | String | Идентификатор 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_BUCKET | String | Имя Yandex Object storage бакета, где храняться audit trails |
YANDEX_TRAIL_BUCKET_PATH | String | Путь, где хранятся audit trails |
AWS_ACCESS_KEY_ID | String | Идентификатор ключа, который нужно сгенерировать |
AWS_SECRET_ACCESS_KEY | String | Секретный ключ, который вы получили при генерации статического ключа. |
AWS_DEFAULT_REGION | String | Регион по-молчанию введите значение ru-central1 |
DEBUG | Boolean | Включение или выключение отладки. По умолчанию 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.