Загрузка логов из Yandex Audit Trails в OpenSearch
- Перед началом работы
- Создайте трейл, который отправляет логи в поток данных Data Streams
- Создайте кластер Managed Service for OpenSearch
- Настройте трансфер для доставки логов в кластер Managed Service for OpenSearch
- Проверьте результат
- Загрузите дополнительный контент
- Удалите созданные ресурсы
- Дополнительные материалы
Audit Trails — сервис сбора и выгрузки аудитных логов, который позволяет применять инструменты анализа и оперативного реагирования к событиям на уровне ресурсов Yandex Cloud. OpenSearch выступает в роли SIEM-системы для анализа логов и реагирования на события безопасности.
Мы покажем, как всего за несколько шагов настроить выгрузку логов из Audit Trails, используя сервисы Yandex Data Streams и Yandex Data Transfer и выбрав Yandex Managed Service for OpenSearch в качестве SIEM-системы для анализа логов и реагирования на события безопасности.
Создайте трейл, который будет загружать аудитные логи ресурсов Yandex Cloud в поток данных Yandex Data Streams. Затем настройте непрерывную доставку логов в кластер Yandex Managed Service for OpenSearch с помощью Yandex Data Transfer.
Вы можете выгружать логи организации, облака или каталога.
Чтобы экспортировать аудитные логи:
- Подготовьте облако к работе.
- Создайте трейл, который отправляет логи в поток данных Data Streams.
- Создайте кластер Managed Service for OpenSearch.
- Настройте трансфер для доставки логов в кластер Managed Service for OpenSearch.
- Проверьте результат.
- Загрузите дополнительный контент.
Если созданные ресурсы вам больше не нужны, удалите их.
Перед началом работы
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки инфраструктуры входит:
- плата за вычислительные ресурсы и объем хранилища кластера OpenSearch (см. тарифы Yandex Managed Service for OpenSearch).
- использование потока данных (см. тарифы Data Streams).
- использование Yandex Managed Service for YDB в бессерверном режиме (см. тарифы Managed Service for YDB).
Создайте трейл, который отправляет логи в поток данных Data Streams
Подготовьте окружение и создайте трейл в зависимости от ресурсов Yandex Cloud:
Обязательно назовите поток audit‑trails
, чтобы упростить загрузку объектов библиотеки Security Content.
Создайте кластер Managed Service for OpenSearch
Создайте кластер Managed Service for OpenSearch любой подходящей конфигурации.
-
Если у вас еще нет Terraform, установите его.
-
Получите данные для аутентификации. Вы можете добавить их в переменные окружения или указать далее в файле с настройками провайдера.
-
Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его
. -
Поместите конфигурационный файл в отдельную рабочую директорию и укажите значения параметров. Если данные для аутентификации не были добавлены в переменные окружения, укажите их в конфигурационном файле.
-
Скачайте в ту же рабочую директорию файл конфигурации trails-to-opensearch.tf
.В этом файле описаны:
- сеть;
- подсеть;
- группа безопасности и правила, необходимые для подключения к кластеру Managed Service for OpenSearch;
- кластер-приемник Managed Service for OpenSearch;
- трансфер.
-
Укажите в файле
trails-to-opensearch.tf
переменные:os_version
— версия OpenSearch в кластере-приемнике;os_admin_password
— пароль пользователяadmin
;transfer_enabled
— значение0
, чтобы не создавать трансфер до создания эндпоинтов вручную.
-
Проверьте корректность файлов конфигурации Terraform с помощью команды:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
Создайте необходимую инфраструктуру:
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
В указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
. -
Настройте трансфер для доставки логов в кластер Managed Service for OpenSearch
-
Создайте эндпоинт для источника:
-
Тип базы данных —
Yandex Data Streams
. -
Параметры эндпоинта:
-
Настройки подключения:
- База данных — выберите базу данных Managed Service for YDB из списка.
- Поток — укажите имя потока Data Streams.
- Сервисный аккаунт — выберите или создайте сервисный аккаунт с ролью
yds.editor
.
-
Расширенные настройки:
- Правила конвертации —
Парсер AuditTrails.v1
.
- Правила конвертации —
-
-
-
Создайте эндпоинт для приемника:
-
Тип базы данных —
OpenSearch
. -
Параметры эндпоинта:
-
Настройки подключения:
-
Тип подключения —
Кластер Managed Service for OpenSearch
.- Кластер Managed Service for OpenSearch — выберите кластер-приемник из списка.
-
Пользователь и Пароль — укажите имя и пароль пользователя с доступом к базе, например, пользователя
admin
.
-
-
-
-
Создайте и активируйте трансфер:
ВручнуюС помощью Terraform- Создайте трансфер типа Репликация, использующий созданные эндпоинты.
- Активируйте трансфер и дождитесь его перехода в статус Реплицируется.
-
Укажите в файле
trails-to-opensearch.tf
переменные:source_endpoint_id
— идентификатор эндпоинта для источника;target_endpoint_id
— идентификатор эндпоинта для приемника;transfer_enabled
— значение1
для создания трансфера.
-
Проверьте корректность файлов конфигурации Terraform с помощью команды:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
Создайте необходимую инфраструктуру:
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
-
Трансфер активируется автоматически. Дождитесь его перехода в статус Реплицируется.
Проверьте результат
Убедитесь, что данные из Audit Trails успешно загружаются в OpenSearch:
-
Дождитесь перехода трансфера в статус Реплицируется.
-
Подключитесь к кластеру-приемнику с помощью OpenSearch Dashboards.
-
Выберите общий тенант
Global
. -
Создайте новый шаблон индекса с именем
audit-trails*
:- Откройте панель управления, нажав на значок
. - В разделе Management выберите Stack Management.
- Перейдите в раздел Index Patterns и внизу страницы нажмите на ссылку create an index pattern.
- В поле Index pattern name укажите
audit-trails*
и нажмите кнопку Next step. - В поле Time field выберите
application_usage_daily.timestamp
и нажмите кнопку Create index pattern.
- Откройте панель управления, нажав на значок
-
Откройте панель управления, нажав на значок
. -
В разделе OpenSearch Dashboards выберите Discover.
-
В открывшемся дашборде должны появиться данные из Audit Trails в формате Elastic Common Schema
.
Важно
Поставка данных в приемники Managed Service for Elasticsearch и Managed Service for OpenSearch работает в режиме at least once
: если в переносимых таблицах нет первичного ключа, то в аудитных логах могут создаваться дубликаты.
Загрузите дополнительный контент
Для удобства пользователей команда безопасности Yandex Cloud подготовила библиотеку Solution Library — набор примеров и рекомендаций по построению безопасной инфраструктуры в Yandex Cloud. Библиотека доступна в публичном репозитории на GitHub
- дашборд с вариантами использования и статистикой;
- набор готовых запросов для поиска событий безопасности;
- примеры событий, на которые предварительно настроены оповещения (назначение уведомлений клиент указывает самостоятельно).
Все необходимые поля событий преобразованы в формат Elastic Common Schema (ECS)
Чтобы воспользоваться Security Content:
-
Клонируйте репозиторий Yandex Cloud Security Solution Library:
git clone https://github.com/yandex-cloud-examples/yc-export-auditlogs-to-opensearch.git
-
Подключитесь к кластеру-приемнику с помощью OpenSearch Dashboards.
-
Откройте панель управления, нажав на значок
. -
В разделе Management выберите Stack Management.
-
Перейдите в раздел Saved Objects и импортируйте файлы из каталога
yc-export-auditlogs-to-opensearch/update-opensearch-scheme/content-for-transfer/
:dashboard.ndjson
filters.ndjson
search.ndjson
Дашборд
Воспользуйтесь подготовленным дашбордом Audit-trails-dashboard
:
- Откройте панель управления, нажав на значок
. - В разделе OpenSearch Dashboards выберите Dashboard.
- В списке дашбордов выберите
Audit-trails-dashboard
.
События безопасности
Используйте подготовленный запрос для просмотра событий безопасности, которые можно отбирать с помощью фильтров.
- Откройте панель управления, нажав на значок
. - В разделе OpenSearch Dashboards выберите Discover.
- На вкладке Open выберите запрос
Search:Yandexcloud: Yandexcloud: Interesting fields
.
Настройка алертов
Используйте примеры кода для сущностей monitor
и trigger
при настройке алертов
-
Откройте панель управления, нажав на значок
. -
В разделе OpenSearch Plugins выберите Alerting.
-
Скопируйте содержимое файлов примеров в окно создания:
Удалите созданные ресурсы
Примечание
Перед тем как удалить созданные ресурсы, деактивируйте трансфер.
Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:
- Удалите трансфер.
- Удалите эндпоинты для источника и приемника.
- Удалите базу данных Managed Service for YDB.
- Удалите созданные сервисные аккаунты.
- Удалите трейл Audit Trails.
Остальные ресурсы удалите в зависимости от способа их создания:
-
В терминале перейдите в директорию с планом инфраструктуры.
-
Удалите конфигурационный файл
trails-to-opensearch.tf
. -
Проверьте корректность файлов конфигурации Terraform с помощью команды:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Все ресурсы, которые были описаны в конфигурационном файле
trails-to-opensearch.tf
, будут удалены. -
Дополнительные материалы
Больше информации о сценариях поставок данных в вебинаре Yandex Cloud: