Настройки
Общие сведения
В разделе Журнал - Настройки основного меню производится:
-
Обновление информации.
Настройки журнала
При выборе подраздела Настройки (раздел Журнал основного меню программы) в рабочей области окна интерфейса открывается окно Настройки журнала, содержащее следующую информацию:
-
Период архивации.
-
Директория архивации.
-
Удаление событий после выгрузки.
Все настройки журнала архивации являются редактируемыми.
Пример работы службы выгрузки событий диспетчера
Пользователь устанавливает в настройках журнала следующие параметры:
1. Период - месяц
.
2. Директория архивации - /tmp/
.
3. Удалить события после выгрузки - вкл
.
После этого в БД обновляется таблица journal_settings
, изменяются выбранные поля и поле обновления таблицы (updated_at
),
в котором устанавливается текущее время. Программа-экспортер (event-exporter) анализирует данные из journal_settings
и так как значение в поле updated_at
больше, чем локально сохраненное, то данные из таблицы заменяют текущие.
Спустя 90 секунд происходит проверка, соответствует ли текущая дата рассчитанной дате выгрузки.
Дата рассчитывается так: дата последней выгрузки + период выгрузки. Если даты соответствуют друг другу, то начинается
выгрузка, если нет, то ничего не происходит.
Так как период выбран месяц, то данные будут выгружены за прошлый месяц. Например, если дата выгрузки 25.11.2024, то будут выгружены события за период с 01.10.2024 по 31.10.2024. Аналогично для периодов день, неделя, год.
После того как данные выгружены, происходит проверка настройки на удаление событий после выгрузки. Если удаление включено, то выгруженные события удаляются из базы данных.
После выгрузки полученные данные будут записаны в файлы:
- security_events_01-10-2024-31-10-2024.csv;
- events_01-10-2024-31-10-2024.csv.
Файлы будут добавлены в архив events_01-10-2024-31-10-2024.zip
в директории, которую выбрал пользователь.
В данном примере путь до архива /tmp/events_01-10-2024-31-10-2024.zip
.
По окончание выгрузки и архивации в таблице journal_settings
обновляются даты обновления таблицы (updated_at
) и
последней выгрузки событий (last_export_time
).
В этих полях устанавливается текущая дата и время и обновляются локальные данные.
В таблицу event_log
записывается новое событие о том, что произошла выгрузка событий.
Событие содержит следующую информацию:
- Событие: Выполнена выгрузка событий.
- Описание: Место выгрузки: {hostname машины, где произошла выгрузка}; Имя файла /tmp/events_01-10-2024-31-10-2024.zip; Период: 01-10-2024-31-10-2024.
Настройки экспорта
Для настройки выгрузки во внешнюю систему журналирования необходимо нажать кнопку Настройки экспорта и заполнить следующие поля:
-
Название.
-
IP-адрес.
-
Порт.
-
Уровень.
Доступны уровни:
-
DEBUG - включает события с уровнями DEBUG, ERROR, WARNING и INFO.
-
INFO - включает события с уровнями ERROR, WARNING и INFO.
-
WARNING - включает события с уровнями ERROR и WARNING.
-
ERROR - включает события только с уровнем ERROR.
-
-
Формат.
Доступны форматы:
-
CEF.
Пример формата CEF
CEF: 0|LLC «DACOM M»|Space VDI|5.3.0|e3c86848-fa9f-4122-8338-8b402bb4d8d2|vdi_api|0|suser=vdiadmin src=172.18.0.5 dst=172.18.0.4 shost=None dhost=46c61d50e5ed end=1692613664, cs4=Test-1, cs5=Test-1, msg=ВМ Test-1 выключена
-
SYSLOG.
Пример формата SYSLOG
Aug 21 11:33:59 2023 08 21 08:33:53 6731440e9d85[172.18.0.4] vdi_api[e29e5e31-8028-4ca6-8ff9-70f9a92f2094]: Контроллер test добавлен.
Структура форматов CEF и SYSLOG зависит от типа событий. В Space Disp формат выгрузки доступен для следующих событий:
События, доступные для выгрузки в форматах CEF и SYSLOG
-
Вход пользователя.
-
Ошибка входа пользователя.
-
Выход пользователя.
-
Создание пользователя.
-
Удаление пользователя.
-
Изменение пароля пользователя.
-
Назначение привязки пользователя к роли.
-
Очищен журнал событий.
-
Виртуальная машина запущена.
-
Виртуальная машина остановлена.
-
Виртуальная машина остановлена принудительно.
-
Виртуальная машина перезапущена.
-
Виртуальная машина перезапущена принудительно.
-
Виртуальная машина создана.
-
Виртуальная машина (или шаблон) удалена.
-
Создан бекап виртуальной машины.
-
Виртуальная машина переведена в режим шаблона.
В зависимости от типа события форматы CEF и SYSLOG включают некоторые из следующих атрибутов:
Атрибуты, включаемые в CEF
-
cef_version
: по умолчанию CEF:0. -
device_vendor
: LLC «DACOM M. -
device_product
: Space VDI. -
device_version
: текущая версия Space VDI. -
suser
: username отправителя запроса. -
duser
: username добавляемого субъекта (при создании пользователя, добавления пользователю роли). -
cs1
: ID сессии. -
dproc
: UserAgent отправителя запроса. -
outcome
: результат/статус (Success или Failure). -
end
: дата события в формате Unix. -
src
: IP-адрес источника запроса. -
shost
: имя хоста источника. -
spriv
: роль пользователя-инициатора запроса (Администратор/Администратор безопасности). -
customString6
: тип роли присвоенной (удаляемой) пользователю. -
filePath
: полный путь, указываемый при выгрузке журнала. -
cs4
: имя ВМ. -
cs5
: имя хоста ВМ. -
act
: наименование процесса (create vm
,delete vm
). -
dhost
: имя хоста. -
dst
: адрес диспетчера. -
stream
: поток, в котором произошло событие (vdi_api
,poll_worker
,monitor_worker
,vm_manager
). -
id
: ID события. -
message
: сообщение события.
Атрибуты, включаемые в SYSLOG
-
event_type
: уровень события (INFO, ERROR, WARNING, DEBUG). -
created
: время события (в формате 2023/01/22 12:25:31). -
dhost
: имя хоста. -
dst
: адрес диспетчера. -
stream
: поток, в котором произошло событие (vdi_api
,poll_worker
,monitor_worker
,vm_manager
). -
message
: сообщение события.
-
-
Интервал синхронизации.
Временной интервал (в секундах), в рамках которого все зафиксированные события с выбранным уровнем будут выгружены во внешнюю систему журналирования.
-
Опция Включить.
Включить/выключить экспорт журнала во внешнюю систему журналирования.
Дополнительные сведения
Копирование экспортированных событий в локальную файловую систему
Для копирования экспортированных событий в локальную файловую систему необходимо:
-
Узнать идентификатор контейнера:
docker ps
-
Перейти в каталог, в которых необходимо скопировать журнал событий.
-
Скопировать файлы:
docker cp da587a6207b5:/tmp .
По умолчанию события расположены в контейнерах
multivdi_vdi-tornado
иmultivdi_vdi-pool-worker
.В результате выполнения команды в текущий каталог скопируется директория
tmp
.
Логирование
По умолчанию уровень логирования службы - INFO.
Если при запуске использовать флаг --debug
, то уровень логирования сменится на DEBUG.
Логи записываются в файл /opt/event-exporter/journal.log
.
Конфигурация
Сервис конфигурируется при помощи зашифрованного ключа key.bin
.
В ключе хранятся данные для подключения к базе данных.
Для генерации ключа используется скрипт из репозитория One Time Scripts.
При установке сервиса генерация ключа запускается в post install
.
В зашифрованном ключе хранится следующая структура:
{
"user":"имя пользователя",
"password":"пароль",
"db_name":"имя базы данных",
"host":"хост базы данных",
"port":"порт базы данных"
}
Флаги запуска:
--key-file
- путь до зашифрованного ключа. > Значение по умолчанию:key.bin
.--user
- имя пользователя базы данных. > Значение по умолчанию:vdi
.--pass
- пароль базы данных.--name
- имя базы данных. > Значение по умолчанию:vdi
.--host
- хост базы данных.--port
- порт базы данных. > Значение по умолчанию:5432
.--debug
- флаг включения уровня логирования Debug.--sentry
- флаг включения интеграции с Sentry.
Переменные окружения:
- KEY_FILE - путь до зашифрованного ключа.
- SENTRY_DSN - адрес подключения к Sentry.
Внимание
Чтобы включить Sentry, необходимо указать флаг --sentry
и адрес подключения в переменной окружения SENTRY_DSN.