Аудит действий пользователей
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 | Имя таблицы |
relid | OID таблицы (технический идентификатор ресурса) |
client_query | Полный текст запроса или описание бизнес-действия |
Контекст окружения
| Поле | Описание |
|---|---|
client_addr | IP-адрес клиента |
client_port | Порт клиента |
browser_fingerprint | Отпечаток браузера (для веб-сессий) |
transaction_id | Идентификатор транзакции для группировки связанных изменений |
Данные изменений
| Поле | Описание |
|---|---|
row_data | JSONB-объект с данными строки до изменения |
changed_fields | JSONB-объект с изменёнными значениями |
Аудит обращений (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) |