Zabbix
Данная инструкция описывает настройку сбора событий на сервере Zabbix и их последующей отправки в R-Vision SIEM.
Предварительные требования
Перед настройкой Zabbix убедитесь, что у вас имеется:
-
Сетевой доступ к БД;
-
Учетная запись в СУБД с правами администратора на доступ к БД zabbix в вашей системе управления базами данных (далее — СУБД).
Настройка Zabbix
Описание подсистемы журналирования
Zabbix записывает свои события в базу данных zabbix вашей СУБД.
База данных zabbix создается автоматически при установке сервера Zabbix версии 6.0 и выше. Если вы используете более старую версию, обратитесь к документации Zabbix для первичной настройки. |
Названия таблиц в вашей СУБД могут отличаться от названий таблиц, приведенных в данной инструкции. Если вы не можете найти необходимые таблицы в вашей СУБД или получаете ошибки существования таблиц, обратитесь к разделу документации, соответствующему вашей версии сервиса, для поиска соответствий. |
Настройка журналирования
Создание сервисной учетной записи
Для осуществления сбора логов из базы данных требуется подключиться к ней с использованием специализированной учетной записи (далее — УЗ). Данная УЗ предназначена для обеспечения доступа к базе данных автоматическим сервисом.
Чтобы создать сервисную УЗ, подключитесь к СУБД с правами администратора. Для этого выполните следующие действия на сервере с установленной СУБД:
В качестве примера используется СУБД PostgreSQL. |
-
Выполните следующую команду от имени пользователя с правами администратора:
sudo -u <admin> psql
где
<admin>
— название учетной записи с правами администратора. -
Создайте сервисную учетную запись, выполнив следующие команды:
CREATE USER "<new_user>"; ALTER ROLE <new_user> WITH PASSWORD '<passw0rd>';
где:
-
<new_user>
— имя созданной УЗ. -
<passw0rd>
— пароль для созданной УЗ.
-
-
Предоставьте права на подключение к базе данных и чтение таблицы. К правам пользователя предъявляются следующие требования:
-
возможность подключения к базе данных zabbix;
-
возможность выполнения SELECT-запросов к таблицам audit и alerts базы данных zabbix.
Пример 1. Пример запроса для создания пользователя в PostgreSQL 14.0GRANT CONNECT ON DATABASE zabbix TO <new_user>; GRANT USAGE ON SCHEMA public TO <new_user>; GRANT SELECT ON ALL TABLES IN SCHEMA public TO <new_user>;
Вы также можете ограничить доступ УЗ к таблицам, предоставив SELECT-привилегии только для таблиц audit и alerts.
-
Включение сбора событий аудита
Для настройки логирования событий аудита в Zabbix выполните следующие действия:
-
Подключитесь к веб-интерфейсу Zabbix.
-
Войдите в веб-интерфейс с помощью УЗ, имеющей права администратора Zabbix.
-
Перейдите в раздел Администрирование → Общие → Журнал аудита.
Если вы используете английскую версию Zabbix, перейдите в раздел Administration → General → Audit Log. -
Установите флажок напротив параметра Включить журналирование аудита.
В английской версии Zabbix установите флажок напротив параметра Enable Audit Log. -
После настройки журналирования события аудита начнут записываться в вашу CУБД.
Настройка в R-Vision SIEM
Для настройки сбора и нормализации событий источника в R-Vision SIEM выполните следующие шаги:
-
В интерфейсе R-Vision SIEM создайте секрет со строкой подключения. Для этого:
-
Перейдите в Ресурсы → Секреты → Создать.
-
В раскрывшемся окне создания секрета заполните поля:
-
Название: введите название секрета.
-
Описание (опционально): опишите, для чего будет использоваться секрет.
-
Тип секрета: выберите вариант Строка подключения.
-
Строка подключения — введите строку вида:
jdbc:postgresql://<ip-address>:<port>/zabbix?user=<svc_rvision_siem>&password=<passw0rd>
где:
-
<ip-address>
— данные вашего сервера СУБД zabbix. -
<port>
— порт подключения к вашей СУБД. По умолчанию используется порт5432
. -
<svc_rvision_siem>
— пример имени пользователя для подключения к СУБД zabbix. -
<passw0rd>
— пример пароля пользователя СУБД zabbix.
-
-
Нажмите на кнопку Создать.
-
-
В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.
-
Добавьте на конвейер элемент Точка входа со следующими параметрами:
-
Название: введите название точки входа.
-
Тип точки входа: выберите вариант Database.
-
Драйвер базы данных: выберите вариант PostgreSQL.
-
Адрес подключения: выберите секрет, созданный ранее.
-
SQL-запрос — для сбора логов из таблицы audit добавьте следующую команду:
SELECT 'Zabbix_Audit' AS appname, auditid, username, clock, ip, action, resourcename, resourcetype, details FROM audit WHERE clock > ?::integer ORDER BY clock ASC;
-
Поле идентификатора: введите ключ
clock
со значением текущего времени в формате Unix time.Пример указания параметра Поле идентификатора:
-
-
Добавьте на конвейер еще один элемент Точка входа со следующими параметрами:
-
Название: введите название точки входа.
-
Тип точки входа: выберите вариант Database.
-
Драйвер базы данных: выберите вариант PostgreSQL.
-
Адрес подключения: выберите секрет, созданный ранее.
-
SQL-запрос — для сбора логов из таблицы alerts добавьте следующую команду:
SELECT 'Zabbix_Alerts' AS appname, alertid, actionid, eventid, userid, clock, subject, status, message, retries FROM alerts WHERE clock > ?::integer ORDER BY clock ASC;
-
Поле идентификатора: введите ключ
clock
со значением текущего времени в формате Unix time.
-
-
Добавьте на конвейер элемент Нормализатор с правилом Zabbix (идентификатор правила: RV-N-124).
-
Соедините нормализатор с точками входа.
-
Добавьте на конвейер элемент Конечная точка типа Хранилище событий.
-
Соедините конечную точку с нормализатором.
-
Сохраните и установите конфигурацию конвейера.
Пример конфигурации конвейера:
После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события Zabbix.
Найти события Zabbix в хранилище можно по следующему фильтру:
|
Таблица маппинга
Таблица соответствия полей события для всех рассмотренных типов событий представлена по ссылке.