Аудит событий информационной безопасности#
Аудит событий ИБ может быть выполнен как штатными средствами CedrusData Engine, так и с использованием расширенных средств аудита, поставляемых в виде отдельного плагина.
Аудит событий ИБ штатными средствами#
Аудит в CedrusData Engine обеспечивается следующей функциональностью:
Логи работы сервера и http-запросов
data/var/log/server.logиhttp-request.log(см. Развертывание)Журналирование работы запросов (QueryCreated, QueryConpleted) через механизм listeners: HTTP event listener, Kafka event listener, {doc }
/admin/event-listeners-mysql, OpenLineage event listenerРасширенное журналирование исполняемых запросов и информации по ним в файл или внешнюю БД (см. Персистентная история запросов CedrusData)
Расширенный аудит событий ИБ#
Расширенный аудит в CedrusData Engine в сравнении со штатным имеет следующие отличия:
расширенный атрибутный состав
расширенный набор событий
записываются в единый файл аудита
Расширенный аудит реализуются через разработку расширения (SPI-плагин, интерфейс io.trino.spi.eventlistener.CedrusDataEventListener).
Подробности по каждому пункту можно найти ниже.
Примечание
Функционал расширенного аудита событий ИБ не входит в общий дистрибутив CedrusData Engine. Пожалуйста обратитесь к нам через форму обратной связи, чтобы получить последнюю версию плагина.
Установка#
Разместите SPI-плагин в каталоге
pluginдиректории установки CedrusData Engine (например,plugins/audit-plugin/cedrusdata-audit-events-1.0.jar)Сконфигурируйте параметры:
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
file-location=/data/cedrusdata-audit.log
max-file-size=100MB # Ограничение 100 МБ на файл
max-files-count=5 # Хранение 5 последних файлов
В параметре `file-location` укажите путь к файлу журнала аудита. Убедитесь что на устройстве достаточно свободного места.
Перезапустите кластер CedrusData Engine.
События начнут записываться в указанный файл. Каждая категория события (
eventCategory) будет иметь собственный набор JSON-атрибутов, описанных ниже.
События запуска и остановки сервера#
Поле |
Тип |
Описание |
|---|---|---|
moment |
Timestamp |
Момент наступления события в формате |
eventCategory |
String |
Категория события = |
eventType |
String |
Тип события ( |
message |
String |
Сообщение с дополнительной информацией |
События входа пользователей в систему#
Поле |
Тип |
Описание |
|---|---|---|
moment |
Timestamp |
Момент наступления события в формате |
eventCategory |
String |
Категория события = |
eventType |
String |
Тип события ( |
user |
String |
Имя пользователя |
remoteAddress |
String |
Удаленный IP-адрес клиента |
remoteHost |
String |
Удаленный хост клиента |
error |
String |
Ошибка аутентификации |
Аудит SQL-запросов#
В данный журнал попадут SQL-запросы к серверу от всех источников (JDBC, ODBC, REST API).
Поле |
Тип |
Описание |
|---|---|---|
moment |
Timestamp |
Момент наступления события в формате |
eventCategory |
String |
Категория события = |
user |
String |
Имя пользователя |
originalUser |
String |
Исходное имя пользователя |
principal |
String |
Принципал |
queryType |
String |
Тип запроса, допустимые значения: |
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 Engine |
serverVersion |
String |
Версия сервера |
vendor |
String |
Наименование вендора ПО (CedrusData) |
environment |
String |
Окружение |
retryPolicy |
String |
политика Retry |
queryId |
String |
Query ID |
createTime |
String |
Момент создания запроса в формате |
updateType |
Optional |
Тип обновления |
query |
String |
Текст SQL запроса |
preparedQuery |
Optional |
Подготовленный SQL запрос |
queryState |
String |
Состояние запроса ( |
uri |
URI |
URI для отслеживания |
tables |
List |
Список таблиц, участвующих в запросе (через запятую) |
routines |
List |
Список процедур, участвующих в запросе (через запятую) |
errorCode |
String |
Код ошибки |
failureMessage |
String |
Сообщение об ошибке |
failureType |
String |
Exception class |
writtenRows |
Long |
Записано строк |
totalRows |
Long |
Затронуто строк |
Аудит изменений политик доступа File-based access control#
Поле |
Тип |
Описание |
|---|---|---|
moment |
Timestamp |
Момент наступления события в формате |
eventCategory |
String |
Категория события = |
eventType |
String |
Тип события ( |
authenticatedUser |
String |
Пользователь, выполнивший действие |
remoteAddress |
String |
IP-адрес клиента |
remoteHost |
String |
Имя хоста клиента |
jsonContent |
String |
Носое состояние файла конфигурации (rules.json) |
error |
String |
Имя хоста клиента |