Решение позволяет собирать, мониторить и анализировать аудит логи в Yandex.Cloud со следующих источников:
Команда безопасности Yandex.Cloud собрала наиболее интересные сценарии use cases в папке репозитория auditlogs. Вы можете описанные сценарии для реагирования на события в части информационной безопасности.
- Разворачивает COI Instance с контейнером на базе образа s3-splunk-importer (
cr.yandex/sol/s3-splunk-importer:1.0
) - Обеспечивает непрерывную доставку json файлов с аудит логами из Yandex Object Storage в Splunk
- ✅ Object Storage Bucket для Audit Trails
- ✅ Включенный сервис Audit Trails в UI
- ✅ Сеть VPC
- ✅ Наличие доступа в интернет с COI Instance для скачивания образа контейнера (например source NAT на подсеть)
- ✅ ServiceAccount с ролью storage.editor для действий в Object Storage
- ✅ Настроенный HTTP Event Collector
- ✅ Токен для отправки событий в HEC
Модуль Terraform /modules/yc-splunk-trail:
- создает static keys для sa (для работы с объектами JSON в бакете и шифрования/расшифрования секретов)
- создает ВМ COI со спецификацией Docker Container со скриптом
- создает ssh пару ключей и сохраняет приватную часть на диск, публичную в ВМ
- создает KMS ключ
- назначает права kms.keys.encrypterDecrypter на ключ для sa для шифрование секретов
- шифрует секреты и передает их в Docker Container
module "yc-splunk-trail" {
source = "../modules/yc-splunk-trail/" #path to module yc-elastic-trail
folder_id = var.folder_id
splunk_token = var.splunk_token // выполнить команду: export TF_VAR_splunk_token=<SPLUNK TOKEB> (заменить SPLUNK TOKEN на ваше значение)
splunk_server = "https://1.2.3.4" // формат "https://<your hostname or address>"
bucket_name = yandex_storage_bucket.trail-bucket.bucket // указать имя bucket с audit trails, если вызов не из example
bucket_folder = "folder" // указанный при создании Trails
sa_id = yandex_iam_service_account.sa-bucket-editor.id // указать sa с правами bucket_editor, если вызов не из example
coi_subnet_id = yandex_vpc_subnet.splunk-subnet[0].id // указать subnet_id, если вызов не из example
}