Kaspersky Unified Monitoring and Analysis Platform

Настройка получения событий Yandex Cloud

Вы можете настроить получение событий системы Yandex Cloud в KUMA. Нормализатор поддерживает обработку событий аудита уровня конфигурации, хранящихся в файлах с расширением .json.

Настройка получения событий состоит из следующих этапов:

  1. Настройка аудита событий Yandex Cloud.
  2. Настройка передачи событий Yandex Cloud.
  3. Настройка коллектора KUMA для получения и обработки событий Yandex Cloud.

    Для получения событий Yandex Cloud в мастере установки коллектора KUMA необходимо выполнить следующие действия:

    1. В мастере установки коллектора KUMA на шаге Транспорт выберите коннектор типа file.
    2. В поле URL укажите /var/log/yandex-cloud/<audit_trail_id>/*/*/*/*.json, где <audit_trail_id> - идентификатор аудита.
    3. На шаге Парсинг событий в поле Нормализатор выберите [OOTB] Yandex Cloud.
  4. Установка коллектора в сетевой инфраструктуре KUMA.
  5. Проверка поступления событий Yandex Cloud в коллектор KUMA.

    Чтобы проверить, что настройка сервера источника событий Yandex Cloud выполнена правильно, вы можете осуществить поиск связанных событий.

В этом разделе

Настройка аудита событий Yandex Cloud

Настройка передачи событий Yandex Cloud

В начало
[Topic 290821]

Настройка аудита событий Yandex Cloud

Настройка передачи событий включает следующие шаги:

  1. Подготовка среды для работы с Yandex Cloud.
  2. Создание бакета для аудитных логов.
  3. Создание ключа шифрования в сервисе Key Management Service.
  4. Включение шифрования бакета.
  5. Создание сервисных аккаунтов.
  6. Создание статического ключа.
  7. Назначение роли сервисным аккаунтам.
  8. Создание аудит трейла.

Подготовка среды для работы с Yandex Cloud

Для выполнения работ по настройке необходим Yandex Cloud CLI, установите и инициализируйте его.

Примечание: по умолчанию аудит будет осуществляться в каталоге Yandex Cloud, указанном в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Для настройки аудита необходим активный платежный аккаунт, поскольку за использование инфраструктуры Yandex Cloud взимается плата.

Чтобы настроить аудит Yandex Cloud, требуется активный платежный аккаунт:

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

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

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

Чтобы создать бакет:

  1. В консоли управления перейдите в каталог, в котором хотите создать бакет, например, example-folder.
  2. Выберите сервис Object Storage.
  3. Нажмите Создать бакет.
  4. На странице создания бакета выполните следующие действия:
    1. Введите имя бакета в соответствии с правилами именования, например, kumabucket.
    2. При необходимости ограничьте максимальный размер бакета. Размер 0 означает отсутствие ограничений и аналогичен включенной опции Без ограничения.
    3. Выберите тип доступа Ограниченный.
    4. Выберите класс хранилища по умолчанию.
    5. Нажмите Создать бакет.

Бакет создан.

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

Чтобы создать ключ шифрования:

  1. В консоли управления перейдите в каталог example-folder.
  2. Выберите сервис Key Management Service.
  3. Нажмите Создать ключ и укажите следующие параметры:
    • Имя — например, kuma-kms.
    • Алгоритм шифрования — AES-256.
    • Для остальных параметров оставьте значения по умолчанию.
  4. Нажмите Создать.

Ключ шифрования создан.

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

Чтобы включить шифрование бакета:

  1. В консоли управления перейдите в бакет, созданный ранее.
  2. На панели слева выберите Шифрование.
  3. В поле Ключ KMS выберите ключ kuma-kms.
  4. Нажмите Сохранить.

Шифрование бакета включено.

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

Чтобы создать сервисные аккаунты — отдельный аккаунт для трейла и отдельный аккаунт бакета, выполните следующие шаги:

  1. Создайте сервисный аккаунт sa-kuma:
    1. В консоли управления перейдите в каталог example-folder.
    2. В верхней части экрана перейдите на вкладку Сервисные аккаунты.
    3. Нажмите Создать сервисный аккаунт и введите имя сервисного аккаунта, например sa-kuma, в соответствии с правилами именования:
      • длина — от 3 до 63 символов;
      • может содержать строчные буквы латинского алфавита, цифры и дефисы;
      • первый символ — буква, последний — не дефис.
    4. Нажмите Создать.
  2. Создайте сервисный аккаунт sa-kuma-bucket:
    1. В консоли управления перейдите в каталог example-folder.
    2. В верхней части экрана перейдите на вкладку Сервисные аккаунты.
    3. Нажмите Создать сервисный аккаунт и введите имя сервисного аккаунта, например sa-kuma-bucket, в соответствии с правилами именования:
      • длина — от 3 до 63 символов;
      • может содержать строчные буквы латинского алфавита, цифры и дефисы;
      • первый символ — буква, последний — не дефис.
    4. Нажмите Создать.

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

Создание статического ключа

Идентификатор ключа и секретный ключ понадобятся на этапе монтирования бакета. Ключ можно создать с помощью консоли управления или с помощью CLI.

Чтобы создать ключ с помощью консоли управления:

  1. В консоли управления перейдите в каталог example-folder.
  2. В верхней части экрана перейдите на вкладку Сервисные аккаунты.
  3. Выберите сервисный аккаунт sa-kuma-bucket и нажмите на строку с его именем.
  4. На верхней панели нажмите Создать новый ключ.
  5. Выберите Создать статический ключ доступа.
  6. Задайте описание ключа и нажмите Создать.
  7. Сохраните идентификатор и секретный ключ.

Статический ключ доступа создан. После закрытия диалога значение ключа будет недоступно.

Чтобы создать ключ с помощью CLI:

  1. Создайте ключ доступа для сервисного аккаунта sa-kuma-bucket:

    yc iam access-key create --service-account-name sa-kuma-bucket

    Результат:ls

    access_key:

    id: aje*******k2u

    service_account_id: aje*******usm

    created_at: "2022-09-22T14:37:51Z"

    key_id: 0n8*******0YQ

    secret: JyT*******zMP1

  2. Сохраните идентификатор key_id и секретный ключ secret. Получить значение ключа повторно будет невозможно.

Ключ доступа создан.

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

Чтобы назначить сервисному аккаунту sa-kuma роли audit-trails.viewer, storage.uploader и kms.keys.encrypterDecrypter:

  1. В CLI назначьте роль audit-trails.viewer на каталог:

    yc resource-manager folder add-access-binding \

    --role audit-trails.viewer \

    --id <идентификатор_каталога> \

    --service-account-id <идентификатор_сервисного_аккаунта>

    Где:

    • --role — назначаемая роль;
    • --id — идентификатор каталога example-folder;
    • --service-account-id — идентификатор сервисного аккаунта sa-kuma.
  2. Назначьте роль storage.uploader на каталог с бакетом:

    yc resource-manager folder add-access-binding \

    --role storage.uploader \

    --id <идентификатор_каталога> \

    --service-account-id <идентификатор_сервисного_аккаунта>

    Где:

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

    yc kms symmetric-key add-access-binding \

    --role kms.keys.encrypterDecrypter \

    --id <идентификатор_ключа> \

    --service-account-id <идентификатор_сервисного_аккаунта>

    Где:

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

Чтобы назначить сервисному аккаунту sa-kuma-bucket роли storage.viewer и kms.keys.encrypterDecrypter:

  1. В CLI назначьте роль storage.viewer на каталог:

    yc resource-manager folder add-access-binding \

    --id <идентификатор_каталога> \

    --role storage.viewer \

    --service-account-id <идентификатор_сервисного_аккаунта>

    Где:

    • --id — идентификатор каталога example-folder;
    • --role — назначаемая роль;
    • --service-account-id — идентификатор сервисного аккаунта sa-kuma-bucket.
  2. Назначьте роль kms.keys.encrypterDecrypter на ключ шифрования kuma-kms:

    yc kms symmetric-key add-access-binding \

    --role kms.keys.encrypterDecrypter \

    --id <идентификатор_ключа> \

    --service-account-id <идентификатор_сервисного_аккаунта>

    Где:

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

Создание аудит трейла

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

  1. В консоли управления перейдите в каталог example-folder.
  2. Выберите сервис Audit Trails.
  3. Нажмите Создать трейл и укажите имя создаваемого трейла, например, kuma-trail.
  4. В блоке Назначение задайте параметры объекта назначения:
    • НазначениеObject Storage.
    • Бакет — имя бакета, например, kumabucket.
    • Префикс объекта — необязательный параметр, участвует в полном имени файла аудитного лога.

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

    • Ключ шифрования — укажите ключ шифрования kuma-kms, которым зашифрован бакет.
  5. В блоке Сервисный аккаунт выберите sa-kuma.
  6. В блоке Сбор событий c уровня конфигурации задайте параметры сбора аудитных логов уровня конфигурации:
    • Сбор событий — выберите Включено.
    • Ресурс — выберите Каталог.
    • Каталог — не требует заполнения, содержит имя текущего каталога.
  7. В блоке Сбор событий с уровня сервисов в поле Сбор событий выберите Выключено.
  8. Нажмите Создать.

В начало
[Topic 290823]

Настройка передачи событий Yandex Cloud

Бакет необходимо смонтировать на сервере, на котором будет установлен коллектор KUMA.

Чтобы смонтировать бакет:

  1. На сервере создайте директорию для пользователя kuma:

    sudo mkdir /home/kuma

  2. На сервере создайте файл со статическим ключом доступа сервисного аккаунта sa-kuma-bucket и предоставьте на него права пользователю kuma::

    sudo bash -c 'echo <идентификатор_ключа_доступа>:<секретный_ключ_доступа> > /home/kuma/.passwd-s3fs'

    sudo chmod 600 /home/kuma/.passwd-s3fs

    sudo chown -R kuma:kuma /home/kuma

  3. Установите пакет s3fs:

    sudo apt install s3fs

  4. Создайте каталог, в который будет монтироваться бакет, и предоставьте на него права пользователю kuma :

    sudo mkdir /var/log/yandex-cloud/

    sudo chown kuma:kuma /var/log/yandex-cloud/

  5. Смонтируйте бакет:

    sudo s3fs kumabucket /var/log/yandex-cloud -o passwd_file=/home/kuma/.passwd-s3fs -o url=https://storage.yandexcloud.net -o use_path_request_style -o uid=$(id -u kuma) -o gid=$(id -g kuma)

    Вы можете настроить монтирование бакета при запуске операционной системы, для этого добавьте в файл /etc/fstab строку вида:

    s3fs#kumabucket /var/log/yandex-cloud fuse _netdev,uid=<kuma_uid>,gid=<kuma_gid>,use_path_request_style,url=https://storage.yandexcloud.net,passwd_file=/home/kuma/.passwd-s3fs 0 0

    Где:

    <kuma_uid>—идентификатор пользователя ОС kuma.

    <kuma_gid>—идентификатор группы пользователей ОС kuma.

    Чтобы узнать kuma_uid и kuma_gid, в консоли выполните команду:

    id kuma

  6. Проверьте, что бакет смонтирован:

    sudo ls /var/log/yandex-cloud/

    Если всё настроено верно, команда вернёт <audit_trail_id>, где <audit_trail_id> — идентификатор трейла аудита.

Настройка передачи событий Yandex Cloud завершена. События будут располагаться в каталогах в файлах с расширением .json:

/var/log/yandex-cloud/{audit_trail_id}/{year}/{month}/{day}/*.json

В начало
[Topic 290876]