Журнал аудита
В Тarantool Cluster Manager доступен журнал аудита для отслеживания действий пользователей и событий, связанных с безопасностью, например:
- Удачные и неудачные попытки входа.
- Доступ к кластерам, их настройкам, хранимым данным и моделям данных.
- Изменения в системе контроля доступа: пользователи, роли, пароли, конфигурации LDAP. Полный список событий аудита TCM приведен в разделе Типы событий.
По умолчанию ведение журнала аудита в TCM отключено. Чтобы начать запись событий, необходимо его включить и настроить.
Журнал аудита хранит сведения о событиях в формате JSON. Каждая запись журнала содержит тип события, описание, время, затронутые объекты и другие сведения, которые могут быть использованы для расследования инцидентов. Полный список полей приведен в разделе Структура событий журнала аудита.
Также в TCM доступен встроенный интерфейс для чтения и поиска по журналу аудита. Подробности см. в разделе Просмотр журнала аудита.
Включить и настроить журнал аудита можно двумя способами:
- в интерфейсе TCM.
- в YAML-файле конфигурации TCM.
Чтобы включить ведение журнала аудита в интерфейсе TCM, перейдите в раздел Audit settings и нажмите Enable. Чтобы дополнительно отправлять события журнала аудита в стандартный поток вывода, нажмите Send to stdout.
Также можно предварительно настроить ведение журнала аудита при первом запуске TCM, задав параметр initial-settings.auditlog в файле конфигурации (tcm.yaml).
События аудита TCM могут записываться в локальный файл или отправляться на сервер syslog. Чтобы настроить журнал аудита, перейдите в раздел Audit settings.
Чтобы записывать журнал аудита TCM в файл:
- Перейдите в раздел Audit settings и выберите протокол file.
- Укажите имя файла журнала аудита. Файл сохраняется в заданном пользователем каталоге, путь к которому может быть как абсолютным, так и относительным. Файл создается в рабочем каталоге TCM.
- Настройте ротацию файлов журнала: максимальный размер и срок хранения файлов, а также количество одновременно хранимых файлов.
- (Необязательно) Включите сжатие файлов журнала аудита.
Параметры конфигурации:
- Output file name. Имя файла журнала аудита. Значение по умолчанию:
audit.log - Max size (in MB). Максимальный размер файла журнала до выполнения ротации, в мегабайтах. Значение по умолчанию:
100. - Max backups. Максимальное количество хранимых файлов журнала аудита. Значение по умолчанию:
10. - Max age (in days). Максимальный срок хранения файлов журнала аудита в днях. Значение по умолчанию:
30. - Compress. Сжатие файлов журнала аудита в архивы
gzipпри ротации.
Если используется централизованная система управления журналами на базе syslog, можно настроить TCM для отправки журнала аудита на сервер syslog:
- Перейдите в раздел Audit settings и выберите протокол syslog.
- Введите URI сервера
syslogи выберите сетевой протокол. Как правило,syslogdиспользует порт 514 и протокол UDP. - Укажите параметры журналирования
syslog: время ожидания, приоритет и категорию (facility).
Параметры конфигурации:
- Protocol. Сетевой протокол, используемый для подключения к серверу syslog. Значение по умолчанию:
udp. - Output. URI сервера
syslog. Значение по умолчанию:127.0.0.1:514 (localhost). - Timeout. Время ожидания записи в
syslogв формате длительности ISO 8601. Значение по умолчанию:PT2S(две секунды). - Priority. Уровень важности
syslog. Значение по умолчанию:info. - Facility. Категория (facility)
syslog. Значение по умолчанию:local0.
При включенном журнале аудита TCM записывает все события аудита, перечисленные в разделе Типы событий. Чтобы снизить нагрузку и привести журнал аудита в соответствие с конкретными требованиями безопасности, можно записывать только выбранные события. Например, это могут быть события управления учетными записями пользователей или события доступа к данным кластера.
Чтобы выбрать события для записи в журнал аудита, перейдите в раздел Audit settings и введите их типы в поле Filters по одному, нажимая клавишу Enter после каждого типа.
Чтобы удалить тип события из списка фильтров, нажмите на значок крестика рядом с ним.
Если журнал аудита записывается в файл, его можно просмотреть в TCM на странице Audit log. На этой странице доступны просмотр и поиск событий.
Чтобы просмотреть сведения о записанном событии аудита, нажмите на соответствующую строку в таблице.
Чтобы найти событие, используйте строку поиска в верхней части страницы. Учитывайте, что поиск чувствителен к регистру.
Например, чтобы найти события с уровнем важности ALARM, введите ALARM, а не alarm.
Все записи журнала аудита TCM содержат обязательные поля, перечисленные в таблице ниже.
Поле | Описание | Пример |
|---|---|---|
| Время события |
|
| Уровень важности события: |
|
| Тип события аудита |
|
| Человекочитаемое описание события |
|
| UUID события |
|
| UUID пользователя, инициировавшего событие |
|
| Удаленный хост, с которого инициировано событие |
|
| Хост TCM, на котором произошло событие |
|
| Сведения о клиентском приложении и платформе, использованных для инициирования события |
|
| Разрешение, использованное для инициирования события | ["admin.users.write"] |
| Результат события: |
|
| Человекочитаемое описание ошибки для событий с результатом |
|
| Дополнительные поля для определенных типов событий в формате «ключ-значение» | Примеры ключей: |
Пример записи журнала аудита при успешной попытке входа:
{"time": "2023-11-23T12:01:27.247+07:00","severity": "INFO","description": "Login user","type": "current.login","uuid": "4b9c2dd1-d9a1-4b40-a448-6bef4a0e5c79","user": "","remote": "127.0.0.1:63370","user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36","host": "127.0.0.1:8080","permissions": ,"result": "ok","fields": [{"Key": "username","Value": "admin"},{"Key": "method","Value": "null"},{"Key": "output","Value": "true"}]}
В таблице ниже перечислены все возможные значения поля type для
событий журнала аудита TCM.
Тип события | Описание |
|---|---|
| Ошибка аутентификации |
| Успешная аутентификация |
| Попытка доступа к объекту без требуемого разрешения |
| Данные добавлены с помощью операций CRUD |
| Данные удалены с помощью операций CRUD |
| Пользователь добавлен |
| Пользователь обновлен |
| Пользователь удален |
| Секрет пользователя добавлен |
| Секрет пользователя обновлен |
| Секрет пользователя заблокирован |
| Секрет пользователя разблокирован |
| Секрет пользователя удален |
| Срок действия секрета пользователя истек |
| Сессия отозвана |
| Все сессии пользователя отозваны |
| Данные добавлены в кластер |
| Мастер переключен вручную |
| Выполнен переход в режим разработки |
| Конфигурация журнала аудита изменена |
| Политика паролей изменена |
| Срок действия всех паролей истек по инициативе администратора |
| Модель данных кластера сохранена |
| Модель данных кластера применена |
| Конфигурация кластера сохранена |
| Сохраненная конфигурация кластера сброшена |
| Конфигурация кластера применена |
| Пользователь завершил сессию |
| Пользователь отозвал сессию |
| Пользователь отозвал все активные сессии |
| Пользователь изменил пароль |
| Роль добавлена |
| Роль обновлена |
| Роль удалена |
| Кластер добавлен |
| Кластер обновлен |
| Кластер удален |
| Выполнен тест входа для конфигурации LDAP |
| Выполнен тест подключения для конфигурации LDAP |
| Конфигурация LDAP добавлена |
| Конфигурация LDAP обновлена |
| Конфигурация LDAP удалена |
| Дополнение включено |
| Дополнение отключено |
| Дополнение удалено |
| Низкоуровневые сведения сохранены в хранилище TCM (для отладки) |
| Низкоуровневые сведения удалены из хранилища TCM (для отладки) |