Перейти к основному содержимому
Версия: 4.6.X

Аудит действий пользователей

KOMRAD Enterprise SIEM ведёт журнал аудита всех действий пользователей с момента авторизации в соответствии с требованиями Приказа ФСБ России от 6 мая 2019 г. N 196.

Нормативные требования

Согласно Положению VIII Приказа ФСБ N 196 "Требования к средствам ГосСОПКА в части реализации функций безопасности" (п. 21.2), средства ГосСОПКА должны обеспечивать:

  • поддержку функций создания, редактирования и удаления пользовательских ролей с возможностью настройки прав доступа для каждой роли;
  • возможность блокирования и повторной активации учётных записей;
  • блокирование сессии доступа при превышении задаваемого значения временного периода отсутствия активности;
  • уведомление о неудачных попытках доступа к управлению средствами ГосСОПКА;
  • запись всех действий пользователей с момента авторизации в электронный журнал.

Схема аудита

Каждая запись журнала аудита содержит следующие категории данных.

Метаданные события

ПолеОписание
event_idУникальный идентификатор записи
policy_idИдентификатор политики доступа, на основании которой было принято решение
resultРезультат выполнения: Permit, Deny, Success, Fail
statement_onlyФлаг: содержит ли запись только текст запроса или полные данные

Временные метки

Использование нескольких временных меток позволяет отслеживать задержки и порядок транзакций.

ПолеОписание
action_tstamp_txВремя начала транзакции
action_tstamp_stmВремя начала конкретного оператора
action_tstamp_clkАстрономическое время записи (wall clock time)

Субъект (кто)

ПолеОписание
user_uuidВнутренний идентификатор пользователя
session_user_nameЛогин пользователя
application_nameИмя приложения или сервиса, совершившего запрос

Действие и ресурс (что и над чем)

ПолеОписание
actionТип действия: INSERT, UPDATE, DELETE, SELECT, EXPORT, IMPORT
schema_nameСхема базы данных
table_nameИмя таблицы
relidOID таблицы (технический идентификатор ресурса)
client_queryПолный текст запроса или описание бизнес-действия

Контекст окружения

ПолеОписание
client_addrIP-адрес клиента
client_portПорт клиента
browser_fingerprintОтпечаток браузера (для веб-сессий)
transaction_idИдентификатор транзакции для группировки связанных изменений

Данные изменений

ПолеОписание
row_dataJSONB-объект с данными строки до изменения
changed_fieldsJSONB-объект с изменёнными значениями

Аудит обращений (audit.access)

Компоненты аутентификации (authn) и авторизации (authz) записывают структурированные записи аудита в логгер audit.access. Это отдельный логгер, настраиваемый через секцию audit-log конфигурации komrad-server.

примечание

Если секция audit-log не задана в конфигурации, записи аудита не создаются.

Поля аудита обращений

Записи аудита обращений содержат следующие поля:

  • decision -- результат решения: allow, deny, unauthenticated, skipped, error
  • stage -- этап проверки: authz
  • subject.login, subject.roles -- логин и роли субъекта
  • object.id, object.creator, object.assignee -- идентификатор, создатель и ответственный за объект
  • object.incident_status, object.severity, object.security_label -- статус инцидента, критичность и метка безопасности объекта
  • object.tenant_id, object.type -- идентификатор тенанта и тип объекта
  • action.name, action.type -- название и тип действия
  • environment.client_ip, environment.current_time -- IP-адрес клиента и текущее время
  • environment.day_of_week, environment.hour_of_day -- день недели и час суток

Настройка журнала аудита

Журнал аудита настраивается в файле /etc/echelon/komrad/komrad-server.yaml в секции audit-log.

Пример конфигурации

audit-log:
# Запись в стандартный поток вывода
- sink: stdout
format: color
levels:
- all

# Запись в файл
- sink: /var/log/echelon/komrad/audit_access
format: json
levels:
- all

# Запись в файл с ротацией
- sink: /var/log/echelon/komrad/audit_access
format: json
levels:
- all
rotate-file:
interval: 24h
max-size: 10485760 # 10 МБ
compress: true
compression-level: 3
compression-algorithm: zstd
rotate-on-startup: false

# Отправка по syslog (TCP)
- sink: "syslog:tcp://siem.local:49000"
format: json
levels:
- all

# Отправка по syslog (TCP + TLS)
- sink: "syslog:tcp+tls://siem.local:49000?host=siem&tls_ca_cert=root.pem&tls_client_cert=client.pem&tls_client_key=client.key"
format: json
levels:
- all

# Отправка по HTTP
- sink: "http://siem.local:48000/ingest"
format: json
levels:
- all

# Отправка по HTTP с Basic Auth
- sink: "http://login:password@siem.local:48000/ingest"
format: json
levels:
- all

Параметры sink

ЗначениеОписание
stdoutСтандартный поток вывода
/path/to/fileЗапись в файл по указанному пути
syslog:tcp://host:portОтправка по syslog через TCP
syslog:tcp+tls://host:port?...Отправка по syslog через TCP с TLS
http://host:port/pathОтправка по HTTP
http://login:password@host:port/pathОтправка по HTTP с Basic Auth

Параметры ротации файлов

ПараметрОписание
intervalИнтервал автоматической ротации (например, 24h)
max-sizeМаксимальный размер файла в байтах перед ротацией
compressВключить сжатие ротируемых файлов (true/false)
compression-levelУровень сжатия (зависит от алгоритма)
compression-algorithmАлгоритм сжатия: gzip, zip, zstd
permissionsПрава доступа к файлам в восьмеричном формате (например, 0600)
redirect-stderrПеренаправлять stderr в лог-файл (true/false)
max-backupsМаксимальное количество архивных копий
rotate-on-startupВыполнять ротацию при запуске сервиса (true/false)