Загрузка аудитных логов в SIEM ArcSight
Создайте трейл, который будет загружать аудитные логи уровня конфигурации ресурсов отдельного каталога в бакет Yandex Object Storage с включенным шифрованием. Затем настройте непрерывную доставку логов в SIEM ArcSight.
Для успешного прохождения руководства у вас должен быть установлен экземпляр ArcSight.
Решение, которое описано в руководстве, работает по следующей схеме:
- Трейл загружает логи в бакет Object Storage.
- Бакет монтируется через FUSE
-интерфейс к папке на промежуточной ВМ. - SmartConnector
забирает логи из папки и передает их в ArcSight для анализа.
Подробнее о сценариях загрузки аудитных логов в ArcSight смотрите в Yandex Cloud Security Solution Library
Примечание
Yandex Cloud Security Solution Library
Чтобы настроить доставку файлов аудитных логов в ArcSight:
- Подготовьте облако к работе.
- Подготовьте окружение.
- Назначьте роли сервисным аккаунтам.
- Создайте трейл.
- Смонтируйте бакет.
- Подключите ArcSight SmartConnector.
Если созданные ресурсы вам больше не нужны, удалите их.
Перед началом работы
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки инфраструктуры входит:
- использование виртуальных машин (см. тарифы Compute Cloud);
- плата за хранение данных в бакете (см. тарифы Object Storage);
- плата за операции с данными (см. тарифы Object Storage);
- плата за использование ключей KMS (см. тарифы Key Management Service).
Подготовьте окружение
Подготовьте промежуточную ВМ
Вы можете использовать готовую ВМ, у которой есть доступ к экземпляру ArcSight, или создать новую:
- Создайте ВМ из образа Linux с операционной системой Ubuntu 20.04.
- Подключитесь к ВМ по SSH.
Создайте бакет для аудитных логов
- В консоли управления
перейдите в каталог, в котором хотите создать бакет, например,example-folder
. - Выберите сервис Object Storage.
- Нажмите Создать бакет.
- На странице создания бакета:
-
Введите имя бакета в соответствии с правилами именования.
-
При необходимости ограничьте максимальный размер бакета.
Размер
0
означает отсутствие ограничений и аналогичен включенной опции Без ограничения. -
Выберите тип доступа
Ограниченный
. -
Выберите класс хранилища по умолчанию.
-
Нажмите Создать бакет.
-
Создайте ключ шифрования в сервисе Key Management Service
- В консоли управления
перейдите в каталогexample-folder
. - Выберите сервис Key Management Service.
- Нажмите Создать ключ и укажите:
- Имя —
arcsight-kms
. - Алгоритм шифрования —
AES-256
. - Для остальных параметров оставьте значения по умолчанию.
- Имя —
- Нажмите Создать.
Включите шифрование бакета
- В консоли управления
перейдите в бакет, созданный ранее. - На панели слева выберите Безопасность.
- Откройте вкладку Шифрование.
- В поле Ключ KMS выберите ключ
arcsight-kms
. - Нажмите Сохранить.
Создайте сервисные аккаунты
Необходимо создать два аккаунта — отдельно для трейла и бакета.
Создайте сервисный аккаунт sa-arcsight
:
-
В консоли управления
перейдите в каталогexample-folder
. -
В списке сервисов выберите Identity and Access Management.
-
Нажмите кнопку Создать сервисный аккаунт.
-
Введите имя сервисного аккаунта в соответствии с правилами именования:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
Например,
sa-arcsight
. -
Нажмите Создать.
Аналогично создайте сервисный аккаунт с именем sa-arcsight-bucket
.
Создайте статический ключ
Идентификатор ключа и секретный ключ понадобятся вам на этапе монтирования бакета.
-
В консоли управления
перейдите в каталогexample-folder
. -
В списке сервисов выберите Identity and Access Management.
-
На панели слева выберите
Сервисные аккаунты. -
В открывшемся списке выберите сервисный аккаунт
sa-arcsight-bucket
. -
Нажмите Создать новый ключ на верхней панели.
-
Выберите Создать статический ключ доступа.
-
Задайте описание ключа и нажмите Создать.
-
Сохраните идентификатор и секретный ключ.
Внимание
После закрытия диалога значение ключа будет недоступно.
-
Создайте ключ доступа для сервисного аккаунта
sa-arcsight-bucket
:yc iam access-key create --service-account-name sa-arcsight-bucket
Результат:
access_key: id: aje*******k2u service_account_id: aje*******usm created_at: "2022-09-22T14:37:51Z" key_id: 0n8*******0YQ secret: JyT*******zMP1
-
Сохраните идентификатор
key_id
и секретный ключsecret
. Получить значение ключа снова будет невозможно.
Назначьте роли сервисным аккаунтам
Назначьте сервисному аккаунту sa-arcsight
роли audit-trails.viewer
, storage.uploader
и kms.keys.encrypterDecrypter
:
-
Роль
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-arcsight
.
Подробнее о команде
yc resource-manager folder add-access-binding
см. в справочнике CLI. -
Роль
storage.uploader
на каталог с бакетом:yc resource-manager folder add-access-binding \ --role storage.uploader \ --id <идентификатор_каталога> \ --service-account-id <идентификатор_сервисного_аккаунта>
Где:
--role
— назначаемая роль;--id
— идентификатор каталогаexample-folder
;--service-account-id
— идентификатор сервисного аккаунтаsa-arcsight
.
-
Роль
kms.keys.encrypterDecrypter
на ключ шифрованияarcsight-kms
:yc kms symmetric-key add-access-binding \ --role kms.keys.encrypterDecrypter \ --id <идентификатор_ключа> \ --service-account-id <идентификатор_сервисного_аккаунта>
Где:
--role
— назначаемая роль;--id
— идентификатор KMS-ключаarcsight-kms
;--service-account-id
— идентификатор сервисного аккаунтаsa-arcsight
.
Назначьте сервисному аккаунту sa-arcsight-bucket
роли storage.viewer
и kms.keys.encrypterDecrypter
:
-
Роль
storage.viewer
на каталог:yc resource-manager folder add-access-binding \ --id <идентификатор_каталога> \ --role storage.viewer \ --service-account-id <идентификатор_сервисного_аккаунта>
Где:
--id
— идентификатор каталогаexample-folder
;--role
— назначаемая роль;--service-account-id
— идентификатор сервисного аккаунтаsa-arcsight-bucket
.
-
Роль
kms.keys.encrypterDecrypter
на ключ шифрованияarcsight-kms
:yc kms symmetric-key add-access-binding \ --role kms.keys.encrypterDecrypter \ --id <идентификатор_ключа> \ --service-account-id <идентификатор_сервисного_аккаунта>
Где:
--role
— назначаемая роль;--id
— идентификатор KMS-ключаarcsight-kms
;--service-account-id
— идентификатор сервисного аккаунтаsa-arcsight-bucket
.
Создайте трейл
-
В консоли управления
перейдите в каталогexample-folder
. -
Выберите сервис Audit Trails.
-
Нажмите Создать трейл и укажите:
- Имя — имя создаваемого трейла, например,
arcsight-trail
. - Описание — описание трейла, необязательный параметр.
- Имя — имя создаваемого трейла, например,
-
В блоке Назначение задайте параметры объекта назначения:
- Назначение —
Object Storage
. - Бакет — имя бакета.
- Префикс объекта — необязательный параметр, участвует в полном имени файла аудитного лога.
Примечание
Используйте префикс, если вы храните аудитные логи и сторонние данные в одном и том же бакете. Не используйте одинаковый префикс для логов и других объектов в бакете, так как в этом случае логи и сторонние объекты могут перезаписать друг друга.
- Ключ шифрования — укажите ключ шифрования
arcsight-kms
, которым зашифрован бакет.
- Назначение —
-
В блоке Сервисный аккаунт выберите
sa-arcsight
. -
В блоке Сбор событий c уровня конфигурации задайте параметры сбора аудитных логов уровня конфигурации:
- Сбор событий — выберите
Включено
. - Ресурс — выберите
Каталог
. - Каталог — не требует заполнения, содержит имя текущего каталога.
- Сбор событий — выберите
-
В блоке Сбор событий с уровня сервисов в поле Сбор событий выберите
Выключено
. -
Нажмите Создать.
Важно
Решение будет удалять логи из бакета после экспорта в ArcSight. Если вам нужно хранить логи в бакете, создайте отдельные бакет и трейл.
Смонтируйте бакет
Бакет монтируется на промежуточной ВМ, на нее же устанавливается ArcSight SmartConnector.
Чтобы смонтировать бакет, создайте файл со статическим ключом доступа сервисного аккаунта sa-arcsight-bucket
.
-
На промежуточной ВМ создайте файл со статическим ключом доступа:
echo <идентификатор_ключа_доступа>:<секретный_ключ_доступа> > ${HOME}/.passwd-s3fs chmod 600 ${HOME}/.passwd-s3fs
-
Установите s3fs
:sudo apt install s3fs
-
Создайте директорию, к которой будет монтироваться бакет, например,
mybucket
в домашней директории:sudo mkdir ${HOME}/mybucket
-
Смонтируйте бакет:
s3fs <имя_бакета> ${HOME}/mybucket -o passwd_file=${HOME}/.passwd-s3fs -o url=https://storage.yandexcloud.kz -o use_path_request_style
-
Проверьте, что бакет смонтирован:
ls ${HOME}/mybucket
Установите и настройте ArcSight SmartConnector
Примечание
Для выполнения этого этапа руководства вам нужен дистрибутив ArcSight SmartConnector и доступ к экземпляру ArcSight.
-
На промежуточной ВМ установите
ArcSight SmartConnector
:- При установке выберите ArcSight FlexConnector JSON Folder Follower и укажите путь к папке
mybucket
. - Укажите JSON configuration filename prefix:
yc
.
- При установке выберите ArcSight FlexConnector JSON Folder Follower и укажите путь к папке
-
Скачайте
файлыarcsight_content
. -
Скопируйте файл
yc.jsonparser.properties
из папкиflex
в папку с адресом<папка_установки_агента>/current/user/agent/flexagent
. -
Скопируйте файл
map.0.properties
из папкиflex
в папку с адресом<папка_установки_агента>/current/user/agent/map
. -
Отредактируйте файл
<папка_установки_агента>/current/user/agent/agent.properties
:agents[0].mode=DeleteFile agents[0].proccessfoldersrecursively=true
-
Запустите коннектор и убедитесь, что события поступают в ArcSight:
Как удалить созданные ресурсы
Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать: