Skip to content

Развертывание решения Wazuh в Yandex Cloud и нтеграция его с сервисом Yandex Audit Trails.

License

Notifications You must be signed in to change notification settings

yandex-cloud-examples/yc-export-auditlogs-to-wazuh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Вашему вниманию представляется пример как можно интегрировать Wazuh для анализа Yandex Audit Trails

Прежде чем интегрировать давайте пройдем небольшой чек-лист: Необходимо

  • Yandex Audit Trails
  • Terraform не ниже версии v1.1.3
  • Packer не ниже версии v1.7.8
  • YC_FOLDER_ID и YC_TOKEN

Подготовка образа

Прежде чем создавать инфраструктуру, необходимо собрать новый образ с помощью Packer

Меняем директорию

cd packer

В базовой конфигурации в сборку будет включены два wodle, wodle это Wazuh module. Первый wodle для интеграции с Yandex Audit Trails и второй для сканирование Yandex Object Storage на предмет вирусов с помощью ClamAV

Основные переменные для Ansible роли

Ansible variables

packages_to_install - Список пакетов для установки:

packages_to_install:
    - python3-pip
    - awscli
    - apt-transport-https
    - curl
    - lsb-release
    - unzip
    - wget
    - libcap2-bin
    - software-properties-common
    - gnupg2
    - net-tools
    - htop

pip_packages_to_install - Список python модулей, которые будут установлены в систему

pip_packages_to_install:
    - docker==4.2.0
    - boto3

wazuh_pip_packages - Список python модулей, которые будут установлены для внутреннего framework

wazuh_pip_packages:
    - clamd

clamav_packages - Список пакетов для интеграции с ClamAV

clamav_packages:
    - clamav-daemon
    - clamav-freshclam
    - clamav

wazuh_version - Версия Wazuh

wazuh_version: "4.3"

yandex_wazuh_app_url - Url для Kibana приложения

yandex_wazuh_app_url: "https://artifacts.comcloud.xyz/wazuh-1.2.0.zip"

local_mirror - Настройка использования локального зеркала для ClamAV

local_mirror: true

local_mirror_url - Доменное имя локального зеркала

local_mirror_url: "clamav.comcloud.xyz"

use_clamav - Использовать или нет интеграцию с ClamAV

use_clamav: true

yandex_wodle_url - URL где расположен wodle для интеграции с Yandex Audit Trails(на данный момент менять не нужно)

yandex_wodle_url: "https://artifacts.comcloud.xyz/yandex.py"

Фактически при использовании настроек по-умолчанию вы получите полностью настроенный образ со всеми интеграциями Далее необходимо клонировать правила для Yandex cloud, переходим в директорию ansible/roles/wazuh/files и клонируем с github(необходимо использовать последний релиз)

cd ansible/roles/wazuh/files

git clone  --depth 1 --branch  v0.1.0 https://github.com/opennix-solutions/wazuh-yandex-cloud-rules.git rules

После настройки переменных можно приступать к сборке, начале экспортируем переменные

export YC_TOKEN=$(yc iam create-token)
export YC_FOLDER_ID=$(yc config get folder-id)

После этого запускаем сборку образа(запускаем в папке packer)

packer build .

После сборки вы получите id нового образа

==> Builds finished. The artifacts of successful builds are:
--> yandex.wazuh: A disk image was created: wazuh-19-aug-22-03-25-59 (id: fd84rq5trb9f3sck0vqk) with family name 

После того как мы собрали образ, можно приступать к разворачиванию инфраструктуры Переходим в директорию terraform/deployment и задаем переменные такие как,

  • folder_id
  • cloud_id
  • image_id

Инициализируем

terraform init

Выполняем plan

terraform plan

Проверьте результат и запустите разворачивание

terraform apply

После завершения Wazuh WebUI будет доступна по адресу https://${lb_ip}

Логины и пароли

Все логины и пароли хранятся локально на сервере в архиве /var/ossec/wazuh-install-files.tar Подключитесь по ssh к серверу, перейдите в папку /var/ossec/ и распакуйте архив.

Настройка Yandex Audit Trails

Перейдите в Yandex cloud webui Yandex Cloud Перейдите в Audit Trails Yandex Trail Создайте новый tail Yandex Trail Заполните следующие поля

Name/Имя - Имя Trail например wazuh

Resource/Ресурс - Выбираем нужное, в моем случае я выбрал Облако

Cloud/Облако - выбираем ваше облако

Folders/Каталоги - выбираем нужные каталоги

Destination/Назначение - выбираем Object storage

Bucket/Бакет - Выбираем бакет которые был создан через terraform

Object prefix/Префикс объекта - Префикс задаем wazuh

Service account/Сервисный аккаунт - Выбираем сервис аккаунт, который был создан через terraform

После этого наживаем создать. Через некоторое время Audit Trail начнет писать события в бакет

Wazuh WebUI Yandex application

В реализации используется оригинальное Wazuh kibana приложение с добавлением специфики для Yandex cloud

Yandex Trail

При нажатии на иконку "Yandex cloud" и при наличии trails вы должны видеть примерно следующую картину

Yandex Trail

При переходе к событиям(Events), появляется возможность поиска в классическом синтаксисе

Например последние события

Yandex Trail

Так же если включена интеграция с ClamAV, то мы можем искать уже события связанные с обнаружением вирусов в бакетах Для этого с главного экрана нужно перейти в Security events и далее выбрать Events

Yandex Trail

В данном примере мы видим следующее: data.url который нам показывает что по пути ~/tmp/scan/clamav/eicarcom2.zip найден вирус Win.Test.EICAR_HDB-1(e4968ef99266df7c9a1f0637d2389dab:308) в архиве eicarcom2.zip.

Путь до вируса формируется следующим образом base_directory/bucket_name/object_name, в примере выше вирус был найден в бакете clamav.

После сканирования папка очищается тем самым локально не хранятся вирусы.

Впоследствии такой подход будет изменен на более оптимальный

Авторские права и отказ от ответственности

ЭТА ПРОГРАММА ПРЕДОСТАВЛЕНА ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИМИ СТОРОНАМИ «КАК ОНА ЕСТЬ» БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В КОЕМ СЛУЧАЕ НИ ОДИН ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО СКАЗАНО ВЫШЕ, НЕ НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ВСЛЕДСТВИЕ ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ, ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ, ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ), ДАЖЕ ЕСЛИ ТАКОЙ ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.

Ссылки

Wazuh Documentation

Yandex Audit Trails

Wazuh Yandex RuleSet

Wazuh Prometheus exporter

Wazuh Docker agent

Wazuh Terraform module for kubernetes внимание в данном модуле нет интеграции с Yandex Cloud

Создатель и кого пинговать

pyToshka

About

Развертывание решения Wazuh в Yandex Cloud и нтеграция его с сервисом Yandex Audit Trails.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published