2.11. Журнал аудита

2.11. Журнал аудита

Журнал аудита содержит в себе записи о событиях безопасности в TDG. Подробный список событий безопасности, записи о которых попадают в журнал аудита, приведен далее.

Просмотр журнала аудита доступен через web-интерфейс на вкладке Audit Log.

Для обеспечения надежного сохранения записей журнала аудита предусмотрено несколько механизмов повышения надежности сохранения информации о событиях безопасности:

  • Если в кластере имеется работоспособный инстанс с ролью storage, то все записи журнала аудита сохраняются в хранилище, с равномерным распределением по всем доступным наборам реплик.
  • Если отсутствует доступный инстанс с ролью storage, то записи журналов аудита сохраняются локально на тех инстансах, где происходят события безопасности. При этом на вкладке Audit Log записи журнала аудита не отображаются. После восстановления доступа к любому инстансу с ролью storage данные будут сохранены на этот инстанс.
  • Записи о событиях безопасности также сохраняются при помощи штатного механизма логирования Tarantool и, по умолчанию, доступны при помощи системной утилиты journalctl (см. Пример команды). Сохранение в логах Tarantool происходит с добавлением префикса A> в начало текста сообщения каждой записи из журнала аудита, что облегчает их дальнейший поиск.

При этом журнал аудита ведется независимо от настроек авторизации. Отключить ведение журнала аудита можно, сняв галочку «Audit log is enabled» на вкладке Audit log.

../_images/audit01.png

Каждая запись в таблице предоставляет следующую информацию о событии:

  • Severity – уровень важности сообщения. Позволяет фильтровать сообщения по уровню важности (отображаются события, чей уровень важности совпадает с выбранным или выше). В журнале записываются события следующих уровней важности (в порядке возрастания важности):
  • Time (GMT) – дата и время события в формате yyyy-mm-dd hh:mm:ss. Время отображается в часовом поясе GMT+0 (или UTC);
  • Subject ID – внутренний идентификатор субъекта доступа;
  • Subject – тип и наименование субъекта доступа;
  • Request ID – идентификатор запроса;
  • Module – имя модуля системы, инициировавшего событие;
  • Message – описание события.

Для удобства поиска записей в журнале можно использовать фильтры. Фильтры существуют для каждой из колонок таблицы. Возможно использование фильтров по нескольким колонкам совместно.

По умолчанию используется единственный фильтр – по полю Severity, установленный на уровень Info. Для фильтрации по другому уровню важности выберите подходящий уровень из выпадающего списка, задайте фильтры по другим полям, если необходимо, и нажмите кнопку Apply для применения выбранных фильтров. Для возвращения к фильтру по умолчанию – нажмите кнопку Reset.

При входе на страницу Audit log в таблице отображаются не более 100 записей. Если нужно увеличить количество записей, выводимых на экран, нажмите кнопку Show more внизу, под таблицей.

Также возможно выгрузить все отображаемые в данный момент в таблице записи журнала аудита в виде текстового файла в формате .txt. Для этого нажмите кнопку Save внизу, под таблицей.

../_images/audit02.png

2.11.1. Состав событий безопасности

В журнал аудита TDG записываются следующие события.

2.11.1.1. VERBOSE

Следующие события имеют уровень важности Verbose и не отображаются при фильтрации по любому другому уровню.

  • Сообщение о предоставлении доступа по имени токена: Access granted by token
  • Сообщение об отклонении доступа внешним модулем авторизации: Access denied by external auth: %REASON%
  • Сообщение о предоставлении доступа внешним модулем авторизации: Access granted by external token
  • Сообщение о предоставлении доступа токену: Access granted by token

2.11.1.2. INFO

Следующие события имеют уровень важности Info и отображаются при фильтрации по уровням Info и Verbose.

  • Сообщение о создании токена: Token %UID% created
  • Сообщение об изменении статуса токена: %TOKEN_NAME% state is changed to %STATE%
  • Сообщение об обновлении токена: Token %UID% updatedn%UPDATE_LIST%
  • Сообщение об удалении токена: Token %UID% removed
  • Сообщение о создании пользователя: User %UID% created
  • Сообщение об изменении статуса пользователя: %USER_EMAIL% state is changed to %STATE%
  • Сообщение об обновлении пользователя: User %UID% deleted
  • Сообщение об удалении пользователя: User %UID% updatedn%UPDATE_LIST%
  • Сообщение о применении новой конфигурации к генератору/валидатору паролей: New configuration for password generator has been applied
  • Сообщение об успешном вводе пароля пользователя: Correct password for user %UID%
  • Сообщение о попытке применения нового конфига: Try to upload a config
  • Сообщение об успешном применении нового конфига: Config applied
  • Сообщение о скачивании конфига: Config downloaded
  • Сообщение об успешном применении новой модели: Model applied
  • Сообщение об использовании функции eval (запрос и результат): Result of eval %CODE% is %RESULT%
  • Сообщение о предоставлении доступа по cookies пользователя: Access granted to user
  • Сообщение о предоставлении анонимного доступа: Access granted to anonymous user
  • Сообщение об изменении hard-limit’а: hard-limits changed. Old value: %OLD%, new value: %NEW%
  • Сообщение об изменении vshard-timeout’а: vshard-timeout changed. Old value: %OLD%, new value: %NEW%
  • Сообщение об изменении force-yield-limit’а: force-yield-limit changed. Old value: %OLD%, new value: %NEW%
  • Сообщение об изменении graphql-query-cache-size’а: graphql-query-cache-size changed. Old value: %OLD%, new value: %NEW%
  • Сообщение об изменении настроек времени жизни объектов: Expiration settings changed. Old values: %OLD%, new values: %NEW%

2.11.1.3. WARNING

Следующие события имеют уровень важности WARNING и отображаются при фильтрации по всем уровням, кроме ALARM.

  • Сообщение о вводе неправильного пароля пользователя: Incorrect password for user %UID%
  • Сообщение о попытке использования неизвестного имени токена: Access denied. Unknown token %TOKEN_NAME%
  • Сообщение о неизвестной ошибке при использовании имени токена: Access denied. Some error has occurred with token %TOKEN_NAME%
  • Сообщение об ошибке при использовании внешнего модуля авторизации: Error while performing external authentication: %ERROR%
  • Сообщение о попытке использования неизвестного токена: Attempt to authorize with token, but token %TOKEN% is unknown
  • Сообщение о неизвестной ошибке при использовании токена: Attempt to authorize with token %TOKEN%, but some error has occurred
  • Сообщение о попытке использования заблокированного токена: Attempt to authorize with token, token %TOKEN% blocked
  • Сообщение о попытке использования cookies неизвестного пользователя: Attempt to authorize with cookies, but user %LOGIN% is unknown
  • Сообщение о неизвестной ошибке при использовании cookies пользователя: Attempt to authorize with cookies for login %LOGIN%, but some error has occurred
  • Сообщение о попытке использования cookies заблокированного пользователя: Attempt to authorize with cookies, but user %LOGIN% blocked
  • Сообщение об отклонении доступа: Access denied

2.11.1.4. ALARM

Следующие события имеют уровень важности ALARM и отображаются при фильтрации по любому из уровней.

  • Сообщение об очистке audit логов: Audit log spaces was truncated