Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Audit Trails
  • Начало работы
    • Все руководства
    • Поиск событий Yandex Cloud в Object Storage
    • Поиск событий Yandex Cloud в Cloud Logging
    • Настройка алертов в Monitoring
    • Настройка реагирования в Cloud Functions
    • Обработка аудитных логов Audit Trails
      • Загрузка аудитных логов в MaxPatrol SIEM
      • Загрузка аудитных логов в SIEM Splunk
      • Загрузка аудитных логов в SIEM ArcSight
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Справочник событий уровня конфигурации
  • Справочник событий уровня сервисов
  • История изменений
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Необходимые платные ресурсы
  • Подготовьте окружение
  • Создайте новый бакет для загрузки в него аудитных логов
  • Создайте ключ шифрования в сервисе Key Management Service
  • Включите шифрование бакета
  • Создайте сервисный аккаунт
  • Назначьте роли сервисному аккаунту
  • Создайте трейл
  • Подготовьте Splunk к импорту
  • Настройте NAT-шлюз для подсети с промежуточной ВМ
  • Создайте ВМ для непрерывной доставки логов в Splunk
  • Визуализируйте данные в Splunk
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Экспорт аудитных логов в SIEM
  3. Загрузка аудитных логов в SIEM Splunk

Загрузка аудитных логов в SIEM Splunk

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Подготовьте окружение
    • Создайте новый бакет для загрузки в него аудитных логов
    • Создайте ключ шифрования в сервисе Key Management Service
    • Включите шифрование бакета
    • Создайте сервисный аккаунт
  • Назначьте роли сервисному аккаунту
  • Создайте трейл
  • Подготовьте Splunk к импорту
  • Настройте NAT-шлюз для подсети с промежуточной ВМ
  • Создайте ВМ для непрерывной доставки логов в Splunk
  • Визуализируйте данные в Splunk
  • Как удалить созданные ресурсы

Создайте трейл, который будет загружать аудитные логи уровня конфигурации ресурсов отдельного каталога в бакет Yandex Object Storage с включенным шифрованием. Затем настройте непрерывную доставку логов в SIEM Splunk.

Решение, которое описано в руководстве, работает по следующей схеме:

  1. Трейл загружает логи в бакет Object Storage.
  2. Бакет смонтирован как часть файловой системы в промежуточной ВМ.
  3. На промежуточной ВМ работает скрипт, который по расписанию забирает логи из бакета и отправляет их в Splunk.

Чтобы настроить доставку файлов аудитных логов из бакета в Splunk:

  1. Подготовьте облако к работе.
  2. Подготовьте окружение.
  3. Назначьте роли сервисному аккаунту.
  4. Создайте трейл.
  5. Подготовьте Splunk к импорту.
  6. Включите NAT в интернет для подсети с промежуточной ВМ.
  7. Создайте промежуточную ВМ.
  8. Визуализируйте данные в Splunk.

Часть шагов выполняется в Terraform.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работыПеред началом работы

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Для успешного прохождения руководства у вас должен быть экземпляр Splunk, доступный для промежуточной ВМ по порту 8080.

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

В стоимость поддержки инфраструктуры входит:

  • использование виртуальных машин (см. тарифы Compute Cloud);
  • плата за хранение данных в бакете (см. тарифы Object Storage);
  • плата за операции с данными (см. тарифы Object Storage);
  • плата за использование ключей KMS (см. тарифы Key Management Service).

Подготовьте окружениеПодготовьте окружение

Создайте новый бакет для загрузки в него аудитных логовСоздайте новый бакет для загрузки в него аудитных логов

Консоль управления
  1. В консоли управления перейдите в каталог, в котором хотите создать бакет.
  2. Выберите сервис Object Storage.
  3. Нажмите кнопку Создать бакет.
  4. На странице создания бакета:
    1. Введите имя бакета в соответствии с правилами именования.

      По умолчанию бакет с точкой в имени доступен только по протоколу HTTP. Чтобы поддержать для бакета протокол HTTPS, загрузите собственный сертификат безопасности в Object Storage.

    2. При необходимости ограничьте максимальный размер бакета.

      Размер 0 означает отсутствие ограничений и аналогичен включенной опции Без ограничения.

    3. В полях Доступ на чтение объектов, Доступ к списку объектов и Доступ на чтение настроек выберите Ограниченный.

    4. Выберите класс хранилища по умолчанию.

    5. Нажмите кнопку Создать бакет для завершения операции.

Создайте ключ шифрования в сервисе Key Management ServiceСоздайте ключ шифрования в сервисе Key Management Service

Консоль управления
  1. В консоли управления перейдите в каталог с бакетом.

  2. Выберите сервис Key Management Service.

  3. Нажмите кнопку Создать ключ и задайте атрибуты ключа:

    • Имя и опциональное описание в свободной форме.
    • Алгоритм шифрования, например AES-256.
    • Период ротации (частота смены версии ключа по умолчанию).
    • Нажмите кнопку Создать.

Вместе с ключом создается его первая версия: нажмите на ключ в списке, чтобы открыть страницу с его атрибутами.

Включите шифрование бакетаВключите шифрование бакета

Консоль управления
  1. В консоли управления перейдите в бакет, для которого хотите настроить шифрование.

  2. На панели слева выберите Безопасность.

  3. Откройте вкладку Шифрование.

  4. В поле Ключ KMS выберите ключ или создайте новый:

    1. Если в каталоге еще нет ключей, нажмите кнопку Создать ключ. Если ключи есть, но они вам не подходят, нажмите кнопку Создать.
    2. Введите имя ключа.
    3. Выберите алгоритм шифрования и период ротации.
    4. Нажмите Создать.
  5. Нажмите кнопку Сохранить.

Создайте сервисный аккаунтСоздайте сервисный аккаунт

Консоль управления
  1. В консоли управления перейдите в каталог, в котором вы хотите создать сервисный аккаунт.

  2. В списке сервисов выберите Identity and Access Management.

  3. Нажмите кнопку Создать сервисный аккаунт.

  4. Введите имя сервисного аккаунта. Требования к имени:

    • длина — от 2 до 63 символов;
    • может содержать строчные буквы латинского алфавита, цифры и дефисы;
    • первый символ — буква, последний — не дефис.
  5. Нажмите кнопку Создать.

Назначьте роли сервисному аккаунтуНазначьте роли сервисному аккаунту

CLI
  1. Назначьте роль audit-trails.viewer на каталог, с ресурсов которого будут собираться аудитные логи:

    yc resource-manager folder add-access-binding \
    --role audit-trails.viewer \
    --id <идентификатор_каталога> \
    --service-account-id <идентификатор_сервисного_аккаунта>
    

    Где:

    • --role — назначаемая роль.
    • --id — идентификатор каталога, с которого будут собираться аудитные логи.
    • --service-account-id — идентификатор сервисного аккаунта.
  2. Назначьте роль storage.uploader на каталог, в котором будет находиться трейл:

    yc resource-manager folder add-access-binding \
    --role storage.uploader \
    --id <идентификатор_каталога> \
    --service-account-id <идентификатор_сервисного_аккаунта>
    

    Где:

    • --role — назначаемая роль.
    • --id — идентификатор каталога, в котором будет находиться трейл.
    • --service-account-id — идентификатор сервисного аккаунта.
  3. Назначьте роль kms.keys.encrypterDecrypter на ключ шифрования:

    yc kms symmetric-key add-access-binding \
    --role kms.keys.encrypterDecrypter \
    --id <идентификатор_KMS-ключа> \
    --service-account-id <идентификатор_сервисного_аккаунта>
    

    Где:

    • --role — назначаемая роль.
    • --id — идентификатор KMS-ключа.
    • --service-account-id — идентификатор сервисного аккаунта.

Создайте трейлСоздайте трейл

Чтобы создать трейл, убедитесь, что у вас есть роли:

  • iam.serviceAccounts.user на сервисный аккаунт;
  • audit-trails.editor на каталог, где будет находиться трейл;
  • audit-trails.viewer на каталог, с которого будут собираться аудитные логи;
  • storage.viewer на бакет или каталог.
Консоль управления
  1. В консоли управления перейдите в каталог, в котором вы хотите создать трейл.

  2. Выберите сервис Audit Trails.

  3. Нажмите кнопку Создать трейл и укажите:

    • Имя — имя создаваемого трейла.
    • Описание — описание трейла, необязательный параметр.
  4. В блоке Назначение задайте параметры объекта назначения:

    • Назначение — Object Storage.
    • Бакет — имя бакета, в который будут загружаться аудитные логи.
    • Префикс объекта — необязательный параметр, участвует в полном имени файла аудитного лога.

    Примечание

    Используйте префикс, если вы храните аудитные логи и сторонние данные в одном и том же бакете. Не используйте одинаковый префикс для логов и других объектов в бакете, так как в этом случае логи и сторонние объекты могут перезаписать друг друга.

    • Ключ шифрования — укажите ключ шифрования, которым зашифрован бакет.
  5. В блоке Сервисный аккаунт выберите сервисный аккаунт, от имени которого трейл будет загружать файлы аудитного лога в бакет.

  6. В блоке Сбор событий c уровня конфигурации задайте параметры сбора аудитных логов уровня конфигурации:

    • Сбор событий — выберите Включено.
    • Ресурс — выберите Каталог.
    • Каталог — не требует заполнения, содержит имя текущего каталога.
  7. В блоке Сбор событий с уровня сервисов в поле Сбор событий выберите Выключено.

  8. Нажмите кнопку Создать.

Важно

Решение будет удалять логи из бакета после экспорта в Splunk. Если вам нужно хранить логи в бакете, создайте отдельные бакет и трейл.

Подготовьте Splunk к импортуПодготовьте Splunk к импорту

Включите HTTPEventCollector и получите токен Event Collector по инструкции.

Настройте NAT-шлюз для подсети с промежуточной ВМНастройте NAT-шлюз для подсети с промежуточной ВМ

Консоль управления
  1. Создайте NAT-шлюз:
    1. В консоли управления перейдите в каталог с подсетью для промежуточной ВМ.

    2. В списке сервисов выберите Virtual Private Cloud.

    3. На панели слева выберите Шлюзы.

    4. Нажмите кнопку Создать.

    5. Задайте имя шлюза. Требования к имени:

      • длина — от 2 до 63 символов;
      • может содержать строчные буквы латинского алфавита, цифры и дефисы;
      • первый символ — буква, последний — не дефис.
    6. По умолчанию выбран тип шлюза NAT-шлюз.

    7. Нажмите кнопку Сохранить.

  2. Создайте таблицу маршрутизации:
    1. На панели слева выберите Таблицы маршрутизации.
    2. Нажмите кнопку Создать, чтобы создать новую таблицу или выберите одну из существующих.
    3. Нажмите кнопку Добавить маршрут.
    4. В открывшемся окне в поле Next hop выберите Шлюз.
    5. В поле Шлюз выберите созданный NAT-шлюз. Префикс назначения заполнится автоматически.
    6. Нажмите кнопку Добавить.
    7. Нажмите кнопку Сохранить.
  3. Привяжите таблицу маршрутизации к подсети, в которой будет развернута промежуточная ВМ, чтобы направить трафик из нее через NAT-шлюз:
    1. На панели слева выберите Подсети.
    2. В строке нужной подсети нажмите кнопку .
    3. В открывшемся меню выберите пункт Привязать таблицу маршрутизации.
    4. В открывшемся окне выберите созданную таблицу в списке.
    5. Нажмите кнопку Привязать.

Создайте ВМ для непрерывной доставки логов в SplunkСоздайте ВМ для непрерывной доставки логов в Splunk

Terraform
  1. Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

  2. Склонируйте репозиторий из Yandex Cloud Security Solution Library:

    git clone https://github.com/yandex-cloud-examples/yc-export-auditlogs-to-splunk.git
    
  3. Создайте подкаталог в каталоге /yc-export-auditlogs-to-splunk/terraform/ и перейдите в него.

  4. Создайте конфигурационный файл с вызовом модуля yc-splunk-trail:

    module "yc-splunk-trail" {
       source = "../modules/yc-splunk-trail/"
       folder_id = <идентификатор_каталога>
       splunk_token = <токен_Event_Collector>
       splunk_server = <адрес_вашего_сервера_Splunk>:8088 
       bucket_name = <имя_бакета>
       bucket_folder = <имя_корневой_папки_в_бакете>
       sa_id = <идентификатор_сервисного_аккаунта>
       coi_subnet_id = <идентификатор_подсети>
    }
    

    Где:

    • folder_id — идентификатор каталога.
    • splunk_token — токен Event Collector, полученный в Splunk.
    • splunk_server — адрес вашего сервера Splunk в формате https://<имя_или_адрес_хоста>.
    • bucket_name — имя бакета.
    • bucket_folder — имя корневой папки в бакете.
    • sa_id — идентификатор сервисного аккаунта.
    • coi_subnet_id — идентификатор подсети с настроенным NAT-шлюзом.
  5. Проверьте корректность конфигурационных файлов:

    terraform plan
    

    Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.

  6. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите создание ресурсов: в терминале введите yes и нажмите Enter.

Визуализируйте данные в SplunkВизуализируйте данные в Splunk

  1. Перейдите в Splunk и выполните поиск событий, созданных сервисным аккаунтом:

    index="main" authentication.subject_type="SERVICE_ACCOUNT" | stats count by event_type
    
  2. Для визуализации результатов, перейдите на вкладку Visualization и выберите удобный формат (LineChart, PieChart и т. д.):

    Пример визуализации данных:

    image

Как удалить созданные ресурсыКак удалить созданные ресурсы

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

  1. Чтобы удалить ресурсы, созданные с помощью Terraform:

    1. Выполните команду:

      terraform destroy
      

      Важно

      Terraform удалит все ресурсы, созданные в текущей конфигурации: сети, подсети, виртуальные машины и т. д.

      После выполнения команды в терминал будет выведен список удаляемых ресурсов.

    2. Для подтверждения удаления введите yes и нажмите Enter.

  2. Удалите бакет Object Storage.

  3. Удалите ключ Key Management Service.

  4. Удалите таблицу маршрутизации.

  5. Удалите NAT-шлюз.

Была ли статья полезна?

Предыдущая
Загрузка аудитных логов в MaxPatrol SIEM
Следующая
Загрузка аудитных логов в SIEM ArcSight
Проект Яндекса
© 2025 ООО «Яндекс.Облако»