---
title: 'Настроить интеграцию с SIEM-системой Wazuh'
sidebar_label: 'Настроить интеграцию с Wazuh'
sidebar_position: 2
description: 'Как настроить интеграцию с SIEM-системой Wazuh'
---

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import Formbricks from '@theme/MDXComponents/Formbricks'
import GetScript from '@site/docs/_partials/audit-logs/get-script.mdx'

# Настроить интеграцию с SIEM-системой Wazuh

1. Если у вас не установлен Wаzuh-сервер, [установите его](#set-up-wazuh).
2. [Создайте сервисного пользователя](#create-service-user).
3. [Выпишите IAM-токен для аккаунта](#create-iam-token-account-scoped).
4. [Получите скрипт для экспорта аудит-логов](#get-script).
5. [Настройте и запустите скрипт](#configure-and-start-script).
6. [Настройте прием аудит-логов в Wazuh](#configure-log-ingestion-in-wazuh).

## 1. Установить Wazuh-сервер \{#set-up-wazuh}

Вы можете установить Wаzuh-сервер из дистрибутива на любом доступном сервере или развернуть облачный сервер с Wazuh из готового образа в панели управления.

<Tabs queryString="see-up-wazuh">
  <TabItem value="from-distributive" default>
    <TabItemLabel>
      Установить из дистрибутива
    </TabItemLabel>

    1. Откройте CLI.
    2. Установите Wаzuh-сервер:

       ```bash
       curl -sO https://packages.wazuh.com/4.14/wazuh-install.sh && sudo bash ./wazuh-install.sh -a
       ```

       Подробнее об установке Wаzuh-сервера из дистрибутива в статье [Quickstart](https://documentation.wazuh.com/current/quickstart.html) официальной документации Wazuh.
  </TabItem>

  <TabItem value="from-image">
    <TabItemLabel>
      Установить из готового образа
    </TabItemLabel>

    Используйте инструкцию [Облачный сервер с Wazuh](/cloud-servers/applications/wazuh.mdx).
  </TabItem>
</Tabs>

## 2. Создать сервисного пользователя \{#create-service-user}

[Добавьте сервисного пользователя](/access-control/manage/add-user.mdx#add-service-user) с ролью [`audit_logs.admin`](/access-control/role-reference.mdx#audit-logs-admin).

Добавлять пользователей может [Владелец аккаунта](/access-control/user-types.mdx#account-owner) или пользователи с ролью [`iam.admin`](/access-control/role-reference.mdx#iam-admin).

## 3. Получить IAM-токен для аккаунта \{#create-iam-token-account-scoped}

[Получите IAM-токен для аккаунта](/api/authorization/#get-iam-token-account-scoped) для сервисного пользователя, которого вы [создали на этапе 2](#create-service-user).

## 4. Получить скрипт для экспорта аудит-логов \{#get-script}

<GetScript />

## 5. Настроить и запустить скрипт \{#configure-and-start-script}

1. Откройте CLI.

2. Создайте виртуальное окружение:

   ```bash
   python3 -m venv .venv
   ```

3. Активируйте виртуальное окружение:

   ```bash
   source .venv/bin/activate
   ```

4. Перейдите в папку скрипта:

   ```bash
   cd auditlog-integration
   ```

5. Установите необходимые зависимости:

   ```bash
   pip3 install -r requirements.txt
   ```

6. Создайте конфигурационный файл `.env`:

   ```bash
   touch .env
   ```

7. Откройте конфигурационный файл `.env`:

   ```bash
   nano .env
   ```

8. Заполните конфигурационный файл `.env`:

   8.1. Добавьте блок с параметрами для аутентификации в API сервиса Аудит-логи:

   ```bash
   AUDIT_LOGS_URL=<base_url>/v1/logs
   USERNAME=<username>
   PASSWORD=<password>
   ACCOUNT_ID=<account_id>
   ```

   Укажите:

   * `<base_url>` — URL для обращения к API аудит-логов в нужном пуле. Список URL можно посмотреть в подразделе [Аудит-логи](/api/urls/#audit-logs) инструкции [Список URL](/api/urls/);
   * `<username>` — имя сервисного пользователя, которого вы [создали на этапе 2](#create-service-user);
   * `<password>` — пароль сервисного пользователя. Если в пароле есть символы `[` `]` `\` `^` `$` `.` `|` `?` `*` `+` `(` `)`, экранируйте их — поставьте перед символом обратный слеш `\`;
   * `<account_id>` — номер аккаунта, можно посмотреть в [панели управления](https://my.selectel.ru/) в правом верхнем углу.

   8.2. Задайте тип транспорта `file` для экспорта аудит-логов в файл:

   ```bash
   TRANSPORT_TYPE=file
   ```

   8.3. Задайте интервал обращения к API:

   ```bash
   POLL_INTERVAL=<poll_interval>
   ```

   Укажите `<poll_interval>` — интервал обращения к API в секундах (по умолчанию — 30).

   8.4. Выйдите из файла с сохранением, для этого последовательно нажмите **Ctrl+X** → **Y** → **Enter**.

9. Запустите скрипт:

   ```bash
   python3 main.py
   ```

## 6. Настроить прием аудит-логов в Wazuh \{#configure-log-ingestion-in-wazuh}

1. Добавьте в Wazuh путь до файла с выгрузкой аудит-логов. Для этого в основном конфигурационном файле `/var/ossec/etc/ossec.conf` в блок `<ossec_config>` добавьте запись:

   ```bash
   <localfile>
       <log_format>json</log_format>
       <location><path></location>
   </localfile>
   ```

   Укажите `<path>` — путь до файла с аудит-логами. По умолчанию файлы сохраняются в папку скрипта в файл `events.txt`. Вы можете изменить имя файла, для этого в папке скрипта в файле `savers.py` в блоке `class FileSaver` измените значение в поле `self.filename`.

2. Добавьте в Wazuh новое правило для отображения загруженных событий. Для этого в файле `/var/ossec/etc/rules/local_rules.xml` добавьте запись:

   ```bash
   <group name="audit_logs">
       <rule id="100001" level="3">
       <decoded_as>json</decoded_as>
       <description>Audit log event from Selectel</description>
       <field name="event_type">audit_logs.audit_logs.download</field>
       <options>no_full_log</options>
       <group>audit_logs</group>
       </rule>
   </group>
   ```

   Здесь:

   * `group name="audit_logs"` — название группы правил;
   * `rule id="100001"` — уникальный идентификатор правила;
   * `level="3"` — уровень критичности события;
   * `<decoded_as>json</decoded_as>` — указывает, что событие должно быть распознано как JSON;
   * `<description>Audit log event from Selectel</description>` — описание события в интерфейсе Wazuh;
   * `<field name="event_type">audit_logs.log.download</field>` — условие срабатывания правила по значению поля `event_type`;
   * `<options>no_full_log</options>` — отключает сохранение полного текста события в алерте;
   * `<group>audit_logs</group>` — дополнительная группа, в которую включается событие после срабатывания правила.

3. Опционально: проверьте работу правила:

   3.1. Откройте CLI.

   3.2. Передайте содержимое файла с аудит-логами в качестве входных данных в исполняемый файл `/var/ossec/bin/wazuh-logtest`:

   ```bash
   cat /var/ossec/logs/audit.log | /var/ossec/bin/wazuh-logtest
   ```

   В ответе появится результат парсинга событий в JSON-формате, например:

   ```bash
   **Phase 1: Completed pre-decoding.
   **Phase 2: Completed decoding.
       name: 'json'
       event_id: 'ed253073-75ea-4563-919a-f01427f5a4a8'
       event_saved_time: '2025-12-09T11:43:14Z'
       event_time: '2025-12-09T11:42:22Z'
       event_type: 'audit_logs.log.download'
       request.remote_address: '185.55.58.180'
       request.type: 'http'
       request.user_agent: 'Python/3.12 aiohttp/3.13.2'
       request_id: '9604fd73-2225-4946-85bf-c9a47fa6359f'
       resource.account_id: '517043'
       resource.details: 'null'
       resource.id: '517043'
       resource.new_values: 'null'
       resource.old_values: 'null'
       resource.type: 'audit_logs'
       schema_version: '1.0'
       source_type: 'audit_logs'
       status: 'success'
       subject.auth_provider: 'keystone'
       subject.authorized_by: '[]'
       subject.id: 'logs'
       subject.is_authorized: 'true'
       subject.type: 'user'
   ```

4. Перезапустите службу `wazuh-manager`:

   4.1. Откройте CLI.

   4.2. Перезапустите службу:

   ```bash
   systemctl restart wazuh-manager
   ```

5. В веб-интерфейсе Wazuh перейдите в раздел **Explore** → **Discover**.

6. В строке поиска укажите правило, которое вы создали на шаге 2: `rule.id:100001`.
   В веб-интерфейсе Wazuh отобразятся события из сервиса Аудит-логи.

<Formbricks />
