Skip to content

Alerts and response to Information Security events in Audit Trails using Cloud Logging and Cloud Functions & Telegram.

License

Notifications You must be signed in to change notification settings

yandex-cloud-examples/yc-audit-trails-automatic-response

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yandex Cloud: Trails-function-detector

Оповещения и реагирование на события ИБ Audit trails с помощью Cloud Logging/Cloud Functions + Telegram

Logo-scheme

Kubernetes logo
Kubernetes logo

Будет доработано

  • Function_trigger на CloudLogging в terraform
  • AuditTrails в terraform

Описание

Решение выполняет c помощью CloudFunctions и AuditTrails:

  • Оповщение в telegram на следующие события AuditTrails (опционально):
    • 1)"Create danger, ingress ACL in SG (0.0.0.0/0)"
    • 2)"Change Bucket access to public"
    • 3)"Assign rights to the secret (Lockbox) to some account"
    • Будут добавляться по запросам желающих (из списка актуальных Use cases)
  • (Опционально) Активное реагирование:
    • Удаление опасного правила группы безопасности (для правила № 1)
    • Удаление назначенных прав на секрет в Lockbox (для правила № 3)
  • Оповещение в telegram на любое событие AuditTrails (на выбор)

Общая схема

image

Пререквизиты

  • ✅ Созданная custom лог группа в CloudLogging (инструкция)
  • ✅ Включенный сервис Audit Trails (с выводом логов в лог группу CloudLogging) (инструкция)
  • ✅ Сервисный аккаунт (ему будут выданы необходимые права)
  • ✅ Созданный бот в telegram (инструкция)
  • ✅ ID чата с telegram ботом (для получения chat-id сначала пишем хотябы одно сообщение боту, далее используем https://api.telegram.org/bot/getUpdates для получения id чата)
  • ✅ После выполнения Terraform скрипта, необходимо в UI включить trigger на CloudLogging (подробности ниже)

Описание terraform

Модуль terraform:

  • Принимает на вход:
// Вызов модуля
module "trails-function-detector" {
    source = "../" // путь до модуля
    //Общие:
    folder_id = "XXXXXXX" // your_folder_id
    service_account_id = "XXXXXXX" // yout service-account id, которому будут назначены права: serverless.functions.invoker
    
    //Инфо для telegram уведомлений:
    bot_token = "XXXXXX:XXXXXXXXXXXXXX" // токен telegram бота для отправки уведомлений (Для того, чтобы получить токен https://proglib.io/p/telegram-bot)
    chat_id_var = "XXXXXXX" // для получения chat-id сначала пишем хоть одно сообщение боту, далее используем https://api.telegram.org/bot<token>/getUpdates для получения
    //Включение Detection-rules:
    rule_sg_on = "True" // Правило: "Create danger, ingress ACL in SG (0.0.0.0/0)" (если не требуется то выставить в False)
    del_rule_on = "False" // Включение активного реагирования на правило rule_sg_on: удаляет опасное правило группы безопасности

    rule_bucket_on = "True" // Правило: "Change Bucket access to public" (если не требуется то выставить в False)

    rule_secret_on = "True" // Правило: "Assign rights to the secret (Lockbox) to some account" (если не требуется то выставить в False)
    del_perm_secret_on = "False" // Включение активного реагирования на правило rule_secret_on: удаляет назначенные права на секрет в Lockbox
    
    //Доп. события для получения уведомлений без деталей
    any_event_dict = "yandex.cloud.audit.iam.CreateServiceAccount,event2" // оставить как есть, если не требуется alert на доп. события, либо "yandex.cloud.audit.iam.CreateServiceAccount,event2", нащвания событий, можно получить https://cloud.yandex.ru/docs/audit-trails/concepts/events


    //TBD когда появится поддержка триггеров для cloudlogging в terraform
    //loggroup_id = "af3o0pc24hi1qmpovcss" //id лог группы, в которую AuditTrails пишет события (можно посмотреть в CloudLogging, создавалась при создании трейла)
}
  • Выполняет:

    • назначение прав serverless.functions.invoker на указанный сервисный аккаунт (в случае включения реагирования, назначает также права vpc.securityGroups.admin,lockbox.admin)
    • создает функцию на основе python скрипта (функция выполняет описанную выше логику)
  • Действия после terraform (будет упаковано в terraform позже):

    • необходимо через UI включить Function_trigger на CloudLogging со следующими параметрами:
      • тип: CloudLogging
      • лог группа: созданная в CloudLogging
      • время ожидания: 10
      • размер группы сообщений: 5
      • функция: созданная с помощью terraform скрипта функция "function-for-trails"

Пример вызова модуля:

См. Пример вызова модулей в /example/main.tf

About

Alerts and response to Information Security events in Audit Trails using Cloud Logging and Cloud Functions & Telegram.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published