Аудит событий информационной безопасности#

Аудит событий ИБ может быть выполнен как штатными средствами CedrusData, так и с использованием расширенных средств аудита, поставляемых в виде отдельного плагина.

Аудит событий ИБ штатными средствами#

Аудит в CedrusData обеспечивается следующей функциональностью:

Расширенный аудит событий ИБ#

Расширенный аудит в CedrusData в сравнении со штатным имеет следующие отличия:

  • расширенный атрибутный состав

  • расширенный набор событий

  • записываются в единый файл аудита

Расширенный аудит реализуются через разработку расширения (SPI-плагин, интерфейс io.trino.spi.eventlistener.CedrusDataEventListener). Подробности по каждому пункту можно найти ниже.

Примечание

Функционал расширенного аудита событий ИБ не входит в общий дистрибутив CedrusData. Пожалуйста обратитесь к нам через форму обратной связи, чтобы получить последнюю версию плагина.

Установка#

  1. Разместите SPI-плагин в каталоге plugin директории установки CedrusData (например plugins/audit-plugin/cedrusdata-audit-events-1.0.jar)

  2. Сконфигурируйте параметры:

2.1 В файле etc/config.properties добавьте параметр:

event-listener.config-files=etc/event-listener.properties

2.2. Создайте новый файл etc/event-listener.properties со следующим содержимым:

event-listener.name=cedrusdata-audit-events

2.3. Создайте файл etc/logging.properties со следующим содержимым:

.level=INFO
ru.cedrusdata.spi.level = INFO
ru.cedrusdata.spi.handlers = java.util.logging.FileHandler

java.util.logging.FileHandler.pattern=/data/cedrusdata-audit-%g.log
java.util.logging.FileHandler.limit=102400  # Ограничение 100 МБ на файл
java.util.logging.FileHandler.count=5       # Хранение 5 файлов
java.util.logging.FileHandler.append=true
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
В параметре `pattern` укажите путь к файлу журнала аудита. Убедитесь что на устройстве достаточно свободного места.

2.4. В файл etc/jvm.config добавьте параметр:

-Djava.util.logging.config.file=etc/logging.properties
  1. Перезапустите кластер CedrusData.

  2. События начнут записываться в указанный файл. Каждая категория события (eventCategory) будет иметь собственный набор JSON-атрибутов, описанных ниже.

События запуска и остановки сервера#

Поле

Тип

Описание

moment

Timestamp

Момент наступления события в формате yyyy-MM-ddTHH:mm:ss.nnn+TZ

eventCategory

String

Категория события = StartStopEvent

eventType

String

Тип события (STARTUP, SHUTDOWN)

message

String

Сообщение с дополнительной информацией

События входа пользователей в систему#

Поле

Тип

Описание

moment

Timestamp

Момент наступления события в формате yyyy-MM-ddTHH:mm:ss.nnn+TZ

eventCategory

String

Категория события = LoginEvent

eventType

String

Тип события (LOGIN, LOGOUT, LOGIN_STATELESS)

user

String

Имя пользователя

remoteAddress

String

Удаленный IP-адрес клиента

remoteHost

String

Удаленный хост клиента

error

String

Ошибка аутентификации

Аудит SQL-запросов#

В данный журнал попадут SQL-запросы к серверу от всех источников (JDBC, ODBC, REST API).

Поле

Тип

Описание

moment

Timestamp

Момент наступления события в формате yyyy-MM-ddTHH:mm:ss.nnn+TZ

eventCategory

String

Категория события = QueryCreatedEvent или QueryCompletedEvent

user

String

Имя пользователя

originalUser

String

Исходное имя пользователя

principal

String

Принципал

queryType

String

Тип запроса, допустимые значения: SELECT, EXPLAIN, DESCRIBE, INSERT, UPDATE, DELETE, ANALYZE, DATA_DEFINITION, ALTER_TABLE_EXECUTE, MERGE

enabledRoles

Set

Роли пользователя

groups

Set

Группы пользователя

traceToken

Optional

Токен трассировки

remoteClientAddress

Optional

Удалённый IP адрес клиента

userAgent

Optional

Приложение клиента

clientInfo

Optional

Информация о клиенте

clientTags

Set

Теги подключения

clientCapabilities

Set

Дополнительная информация о ПО клиента

source

Optional

Источник клиента

catalog

Optional

Trino-каталог сессии

schema

Optional

Trino-схема сессии

resourceGroupId

Optional

id ресурсной группы

sessionProperties

Map<String, String>

Опции сессии

resourceEstimates

ResourceEstimates

Оценка ресурсов

serverAddress

String

IP-адрес сервера CedrusData

serverVersion

String

Версия сервера

vendor

String

Наименование вендора ПО (CedrusData)

environment

String

Окружение

retryPolicy

String

политика Retry

queryId

String

Query ID

createTime

String

Момент создания запроса в формате uuuu-MM-dd'T'HH:mm:ss.SSSSSS'Z'

updateType

Optional

Тип обновления

query

String

Текст SQL запроса

preparedQuery

Optional

Подготовленный SQL запрос

queryState

String

Состояние запроса (FINISHED, FAILED, COMPLETED, etc.)

uri

URI

URI для отслеживания

tables

List

Список таблиц, участвующих в запросе (через запятую)

routines

List

Список процедур, участвующих в запросе (через запятую)

Аудит изменений политик доступа File-based access control#

Поле

Тип

Описание

moment

Timestamp

Момент наступления события в формате yyyy-MM-ddTHH:mm:ss.nnn+TZ

eventCategory

String

Категория события = AccessControlEvent

eventType

String

Тип события (READ, WRITE)

authenticatedUser

String

Пользователь, выполнивший действие

remoteAddress

String

IP-адрес клиента

remoteHost

String

Имя хоста клиента

jsonContent

String

Носое состояние файла конфигурации (rules.json)

error

String

Имя хоста клиента