Настроить экспорт аудит-логов через API для интеграции с любой SIEM-системой
Это инструкция для настройки экспорта аудит-логов через API в вашу SIEM-систему. Настройки на стороне SIEM-системы вам нужно выполнить самостоятельно по ее официальной документации. Для интеграции с системами RuSIEM и Wazuh используйте инструкции Настроить интеграцию с SIEM-системой RuSIEM и Настроить интеграцию с SIEM-системой Wazuh.
Вы также можете выгрузить аудит-логи вручную в панели управления.
- Создайте сервисного пользователя.
- Получите IAM-токен для аккаунта.
- Получите скрипт для экспорта аудит-логов.
- Настройте и запустите скрипт.
- Настройте прием логов в SIEM-системе.
1. Создать сервисного пользователя
Добавьте сервисного пользователя с разрешением в области доступа Аккаунт и ролью member.
Добавлять пользователей может Владелец аккаунта или пользователи с ролью iam.admin.
2. Получить IAM-токен для аккаунта
Получите IAM-токен для аккаунта для сервисного пользователя, которого вы создали на этапе 1.
3. Получить скрипт для экспорта аудит-логов в SIEM-систему
Мы подготовили скрипт для экспорта аудит-логов — он позволяет выгружать логи в файл, а также отправлять их на заданный IP-адрес или эндпойнт по протоколу syslog или HTTP/HTTPS.
-
Откройте CLI.
-
Клонируйте репозиторий скрипта:
git clone https://github.com/t-rex-general/auditlog-integration.gitФайлы скрипта будут сохранены в рабочую директорию в папку
auditlog-integration.
4. Настроить и запустить скрипт
Скрипт позволяет получать логи несколькими способами:
- выгружать в файл;
- отправлять на IP-адрес по протоколу
syslog; - отправлять на эндпойнт по протоколу
HTTP/HTTPS.
Настройте скрипт в зависимости от нужного способа получения логов:
Выгружать в файл
Отправлять по syslog
Отправлять по HTTP/HTTPS
-
Откройте CLI.
-
Создайте виртуальное окружение:
python3 -m venv .venv -
Активируйте виртуальное окружение:
source .venv/bin/activate -
Перейдите в папку скрипта:
cd auditlog-integration -
Установите необходимые зависимости:
pip3 install -r requirements.txt -
Создайте конфигурационный файл
.env:touch .env -
Откройте конфигурационный файл
.env:nano .env -
Заполните конфигурационный файл
.env:8.1. Добавьте блок с параметрами для аутентификации в API сервиса Аудит-логи:
AUDIT_LOGS_URL=<base_url>/v1/logs
USERNAME=<username>
PASSWORD=<password>
ACCOUNT_ID=<account_id>Укажите:
<base_url>— URL для обращения к API аудит-логов в нужном пуле. Список URL можно посмотреть в инструкции Список URL;<username>— имя сервисного пользователя, которого вы создали на этапе 1;<password>— пароль сервисного пользователя. Если в пароле есть символы[]\^$.|?*+(), эк ранируйте их — поставьте перед символом обратный слеш\;<account_id>— номер аккаунта, можно посмотреть в панели управления в правом верхнем углу.
8.2. Добавьте блок с параметрами отправки событий:
TRANSPORT_TYPE=fileПо умолчанию логи сохраняются в папке скрипта в файл
events.txt.8.3. Добавьте строку с интервалом обращения к API:
POLL_INTERVAL=<poll_interval>Укажите
<poll_interval>— интервал обращения к API в секундах (по умолчанию — 30).8.4. Выйдите из файла с сохранением, для этого последовательно нажмите Ctrl+X → Y → Enter.
8.5. Опционально: измените имя файла, куда сохраняются логи, для этого в папке скрипта в файле
savers.pyв блокеclass FileSaverизмените значение в полеself.filename. -
Запустите скрипт:
python3 main.py
-
Откройте CLI.
-
Создайте виртуальное окружение:
python3 -m venv .venv -
Активируйте виртуальное окружение:
source .venv/bin/activate -
Перейдите в папку скрипта:
cd auditlog-integration -
Установите необходимые зависимости:
pip3 install -r requirements.txt -
Создайте конфигурационный файл
.env:touch .env -
Откройте конфигурационный файл
.env:nano .env -
Заполните конфигурационный файл
.env:8.1. Добавьте блок с параметрами для аутентификации в API сервиса Аудит-логи:
AUDIT_LOGS_URL=<base_url>/v1/logs
USERNAME=<username>
PASSWORD=<password>
ACCOUNT_ID=<account_id>Укажите:
<base_url>— URL для обращения к API аудит-логов в нужном пуле. Список URL можно посмотреть в инструкции Список URL;<username>— имя сервисного пользователя, которого вы создали на этапе 1;<password>— пароль сервисного пользователя. Если в пароле есть символы[]\^$.|?*+(), экранируйте их — поставьте перед символом обратный слеш\;<account_id>— номер аккаунта, можно посмотреть в панели управления в правом верхнем углу.
8.2. Добавьте блок с параметрами отправки событий:
TRANSPORT_TYPE=syslog
SYSLOG_HOST=<syslog_host>
SYSLOG_PORT=<syslog_port>Укажите:
<syslog_host>— IP-адрес SIEM-системы;<syslog_port>— порт на указанном IP-адресе.
IP-адрес и порт можно посмотреть в настройках вашей SIEM-системы.
8.3. Добавьте строку с интервалом обращения к API:
POLL_INTERVAL=<poll_interval>Укажите
<poll_interval>— интервал обращения к API в секундах (по умолчанию — 30).8.4. Выйдите из файла с сохранением, для этого последовательно нажмите Ctrl+X → Y → Enter.
-
Запустите скрипт:
python3 main.py
-
Откройте CLI.
-
Создайте виртуальное окружение:
python3 -m venv .venv -
Активируйте виртуальное окружение:
source .venv/bin/activate -
Перейдите в папку скрипта:
cd auditlog-integration -
Установите необходимые зависимости:
pip3 install -r requirements.txt -
Создайте конфигурационный файл
.env:touch .env -
Откройте конфигурационный файл
.env:nano .env -
Заполните конфигурационный файл
.env:8.1. Добавьте блок с параметрами для аутентификации в API сервиса Аудит-логи:
AUDIT_LOGS_URL=<base_url>/v1/logs
USERNAME=<username>
PASSWORD=<password>
ACCOUNT_ID=<account_id>Укажите:
<base_url>— URL для обращения к API аудит-логов в нужном пуле. Список URL мож но посмотреть в инструкции Список URL;<username>— имя сервисного пользователя, которого вы создали на этапе 1;<password>— пароль сервисного пользователя. Если в пароле есть символы[]\^$.|?*+(), экранируйте их — поставьте перед символом обратный слеш\;<account_id>— номер аккаунта, можно посмотреть в панели управления в правом верхнем углу.
8.2. Добавьте блок с параметрами отправки событий:
TRANSPORT_TYPE=http
HTTP_URL=<http_url>
HTTP_USERNAME=<http_username>
HTTP_PASSWORD=<http_password>
HTTP_VERIFY_SSL=<verify_ssl>Укажите:
<http_url>— URL эндпоинта, на котором SIEM-система принимает логи;<http_username>— имя пользователя SIEM-системы;<http_password>— пароль пользователя SIEM-системы;<verify_ssl>— требуется ли проверка TLS(SSL)-сертификата при подключении к SIEM-системе:true— выполнять проверку,false— не выполнять проверку.
8.3. Добавьте строку с интервалом обращения к API:
POLL_INTERVAL=<poll_interval>Укажите
<poll_interval>— интервал обращения к API в секундах (по умолчанию — 30).8.4. Выйдите из файла с сохранением, для этого последовательно нажмите Ctrl+X → Y → Enter.
-
Запустите скрипт:
python3 main.py
5. Настроить прием логов в SIEM-системе
Настройте прием логов в вашей SIEM-системе. Используйте официальную документацию вашей SIEM-системы.