Аудит-логи
Аудит-логи Sage — это структурированные записи о дейст виях пользователей и изменениях конфигурации в системе. Они содержат информацию, необходимую для расследования инцидентов безопасности: кто выполнил действие, когда и что именно изменилось.
Аудит-логи позволяют:
- проверить историю изменений в конфигурации системы;
- отследить действия конкретного пользователя или группы.
К аудит-логам применяются те же правила, что и к другим логам Sage. Доступ к данным, квотирование и ограничения на объем и срок хранения аудит-логов регламентируются группой доступа Sage. Подробнее см. в статье Группы доступа руководства пользователя.
Аудит-логи могут содержать чувствительные данные: логины, пароли и другие персональные данные. Чтобы настроить автоматическое скрытие чувствительных данных при выводе, задайте параметры маскирования. Подробнее см. в статье Маскирование данных.
Какие события попадают в аудит-логи
В аудит-логи записываются события из трех категорий.
-
Аутентификация и доступы Spirit IAM — позволяет контролировать, кто и когда получает доступ к системе:
- входы и выходы пользователей;
- выдача и изменение прав доступа.
-
Управление ресурсами — позволяет отслеживать изменения в распределении ресурсов:
- операции с тенантами;
- управление сервисными учетными записями.
-
Действия в Sage — позволяет контролировать изменения в настройках системы:
- изменения сущностей (группы, дата-центры, квоты);
- операции с алертами, справочниками, конфигура циями;
- управление адресами, правилами и токенами.
Поиск аудит-логов
Поиск по аудит-логам выполняется в интерфейсе Sage так же, как поиск по обычным логам. Подробную инструкцию см. в статье Поиск руководства пользователя.
События аудит-логирования могут генерироваться разными системами (Sage, Spirit IAM), поэтому фильтры поиска различаются в зависимости от источника события.
В примерах ниже приведены базовые запросы для поиска аудит-логов. Чтобы уточнить запрос под конкретную задачу, комбинируйте поля фильтрации: например, ограничьте поиск по времени, источнику, типу события или пользователю.
Подробнее о синтаксисе запросов см. в разделе Руководство по поиску пользовательской документации.
Аудит-логи Sage
Чтобы найти аудит-логи Sage, в строке поиска укажите:
- группу данных
group; - фильтр
securityEvent=true.
Пример для группы sage:
group="sage" securityEvent=true
Найденные аудит-логи можно экспортировать в файл для дальнейшего анализа. Подробнее см. в статье Экспорт результатов руководства пользователя.
Аудит-логи Spirit IAM
Чтобы найти аудит-логи по компонентам Spirit IAM, в строке поиска укажите:
- группу данных
group; - фильтр
extra.audience="audit".
Пример для группы sage:
group="sage" extra.audience="audit"
Больше примеров аудит-логирования Spirit IAM см. в статье Аудит-операции.
Экспорт аудит-логов во внешнюю систему
Аудит-логи можно выгружать на внешний адрес с помощью Ansible-роли vector_export_logs. Это позволяет:
- хранить их дольше, чем позволяет квотирование Sage, чтобы соответствовать требованиям регулятора;
- передавать их в централизованную систему мониторинга безопасности (SIEM) для анализа и корреляции событий;
- иметь независимую копию журнала действий для расследования инцидентов;
- передавать историю событий во внешние системы инцидент-менеджмента.
Чтобы настроить автоматический экспорт аудит-логов из групп Sage, выполните следующие шаги.
-
Добавьте в файл Ansible-инвентаря группу
vector_export_logsи укажите хосты, с которых будут отправляться аудит-логи:hosts.ymlvector_export_logs:hosts:fqdn.host.example-0:fqdn.host.example-1:fqdn.host.example-2: -
В переменной
sage_vector_export_logs_endpoint_uriукажите адрес назначения:group_vars/vector_export_logs.ymlsage_vector_export_logs_endpoint_uri: "http://logs-collector.example.com:8888" -
В переменной
sage_vector_export_logs_groupsзадайте группы аудит-логов для экспорта и фильтры, см. справочник параметров. Укажите хотя бы одну группу, например,sage. Для фильтров используйте выражения с VRL.group_vars/vector_export_logs.yml# Экспортировать группу аудит-логов, только события безопасностиsage_vector_export_logs_groups:- name: sagefilters:- name: security_eventcondition: ".securityEvent == true"Фильтры указываются в разрезе каждой группы. Внутри группы можно задать несколько фильтров. Аудит-лог экспортируется, если он соответствует хотя бы одному из них:
group_vars/vector_export_logs.ymlsage_vector_export_logs_groups:- name: sagefilters:- name: security_eventcondition: ".securityEvent == true"- name: audit_logcondition: ".extra.audience == \"audit\""В фильтре можно комбинировать несколько условий. Например, чтобы экспортировать только критические аудит-события, дополните условие проверкой на уровень логирования:
group_vars/vector_export_logs.ymlsage_vector_export_logs_groups:- name: sagefilters:- name: critical_securitycondition: ".securityEvent == true && .level == \"ERROR\""ВажноЕсли группа задана, но фильтры для нее не настроены, экспортируются все логи этой группы.
-
При необходимости задайте заголовки HTTP-запроса для авторизации на целевом адресе.
Переменная
sage_vector_export_logs_endpoint_auth_headerдобавляет заголовокAuthorization:group_vars/vector_export_logs.ymlsage_vector_export_logs_endpoint_auth_header: "Authorization: Bearer <token>"Переменная
sage_vector_export_logs_custom_headersдобавляет произвольные пользовательские заголовки:group_vars/vector_export_logs.ymlsage_vector_export_logs_custom_headers:X-API-Key: "secret-key"X-Custom-Header: "value"
Базовая конфигурация
Ниж е приведен сводный пример минимальной рабочей конфигурации. Подставьте свои значения, при необходимости дополните заголовками и фильтрами.
# Куда отправлять аудит-логи
sage_vector_export_logs_endpoint_uri: "http://logs-collector.example.com:8888"
# Группы аудит-логов для экспорта
sage_vector_export_logs_groups:
- name: sage
filters:
- name: security_event
condition: ".securityEvent == true"
# При необходимости — заголовок авторизации
# sage_vector_export_logs_endpoint_auth_header: "Authorization: Bearer <token>"
# При необходимости — произвольные пользовательские заголовки
# sage_vector_export_logs_custom_headers:
# X-API-Key: "secret-key"
Справочник параметров
Параметры группы
| Параметр | Тип | Описание |
|---|---|---|
name | str | Уникальное имя группы |
filters | list | Опциональный список фильтров для группы |
Параметры фильтра
| Параметр | Тип | Описание |
|---|---|---|
name | str | Уникальное имя фильтра в пределах группы |
condition | str | VRL-выражение для фильтрации |
Поддерживаемые VRL-операторы
| Оператор | Описание | Пример |
|---|---|---|
true, false | Булевы литералы | .a == true |
|| | Логическое ИЛИ | .a || .b |
&& | Логическое И | .a && .b |
! | Логическое НЕ | !.a |
== | Равно | .level == "ERROR" |
!= | Не равно | .status != 200 |
() | Группировка | (.a || .b) && .c |
. | Доступ к полю | .user.id |
Параметры batch и retry
Подробное описание переменных batch и retry см. в справочнике переменных конфигурации. По умолчанию используются следующие значения:
| Переменная | По умолчанию | Описание |
|---|---|---|
sage_vector_export_logs_batch_timeout_secs | 1 | Макс. время ожидания batch (сек) |
sage_vector_export_logs_batch_max_events | 100 | Макс. количество событий в batch |
sage_vector_export_logs_batch_max_bytes | 1048576 | Макс. размер batch (байт) |
sage_vector_export_logs_retry_max_duration_secs | 30 | Общее время retry (сек) |
sage_vector_export_logs_retry_initial_backoff_secs | 1 | Начальная задержка retry (сек) |