Zabbix: настройка источника
Данное руководство описывает процесс настройки сбора и отправки событий Zabbix в R-Vision SIEM.
Предварительные требования
Перед настройкой пересылки событий в R-Vision SIEM убедитесь, что выполняются следующие условия:
-
Обеспечен сетевой доступ к базе данных.
-
Создана учетная запись с правами администратора на доступ к базе данных Zabbix в системе управления базами данных (СУБД).
Настройка Zabbix
Описание подсистемы журналирования
Zabbix записывает свои события в базу данных Zabbix вашей СУБД.
|
База данных Zabbix создается автоматически при установке сервера Zabbix версии 6.0 и выше. Если вы используете более старую версию, обратитесь к официальной документации Zabbix для первичной настройки. |
|
Названия таблиц в вашей СУБД могут отличаться от названий таблиц, приведенных в данной инструкции. Если вы не можете найти необходимые таблицы или получаете ошибки существования таблиц, обратитесь к разделу официальной документации 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.Пример запроса для создания пользователя в PostgreSQL 14.0:
GRANT 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-привилегии только для таблиц
auditlog,alerts,events,functionsиinterface.
-
Включение сбора событий аудита
Для настройки логирования событий аудита в 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>— IP-адрес сервера СУБД Zabbix,<port>— порт подключения (по умолчанию5432),<svc_rvision_siem>— имя учетной записи СУБД Zabbix,<passw0rd>— пароль пользователя.
-
-
Нажмите на кнопку Создать.
-
-
В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.
-
Добавьте на конвейер первый элемент Точка входа со следующими параметрами:
-
Название: введите название точки входа.
-
Тип точки входа: выберите вариант Database.
-
Драйвер базы данных: выберите вариант PostgreSQL.
-
Адрес подключения: выберите секрет, созданный ранее.
-
SQL-запрос: введите следующий запрос для сбора логов из таблицы
auditlog:SELECT 'zabbix_audit' AS appname, auditid, username, clock, ip, action, resourcename, resourcetype, details FROM auditlog 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.
-
-
Добавьте на конвейер третий элемент Точка входа со следующими параметрами:
-
Название: введите название точки входа.
-
Тип точки входа: выберите вариант Database.
-
Драйвер базы данных: выберите вариант PostgreSQL.
-
Адрес подключения: выберите секрет, созданный ранее.
-
SQL-запрос: введите следующий запрос для сбора логов из таблицы
triggers:SELECT 'zabbix_triggers' AS appname, e.eventid AS event_id, e.objectid AS trigger_id, e.clock AS event_timestamp, to_timestamp(e.clock) AS event_datetime, e.value AS event_value, CASE WHEN e.value = 0 THEN 'OK' WHEN e.value = 1 THEN 'PROBLEM' ELSE 'UNKNOWN' END AS event_status, e.name AS event_name, e.acknowledged, t.description AS trigger_name, t.priority AS trigger_severity, f.itemid AS item_id, i.name AS item_name, i.key_ AS item_key, h.hostid AS host_id, h.host, h.name AS host_name, hi.ip AS host_ip, ( SELECT al.ip FROM auditlog al GROUP BY al.ip ORDER BY COUNT(*) DESC LIMIT 1 ) AS zabbix_ip FROM events e JOIN triggers t ON t.triggerid = e.objectid LEFT JOIN LATERAL ( SELECT f1.itemid FROM functions f1 WHERE f1.triggerid = t.triggerid ORDER BY f1.itemid ASC LIMIT 1 ) f ON TRUE LEFT JOIN items i ON i.itemid = f.itemid LEFT JOIN hosts h ON h.hostid = i.hostid LEFT JOIN LATERAL ( SELECT intf.ip FROM interface intf WHERE intf.hostid = h.hostid AND intf.main = 1 ORDER BY intf.interfaceid LIMIT 1 ) hi ON TRUE WHERE e.source = 0 AND e.object = 0 AND e.eventid > CAST(? AS BIGINT) ORDER BY e.eventid ASC LIMIT 100; -
Поле идентификатора: введите ключ
event_idсо значением0.
-
-
Добавьте на конвейер элемент Нормализатор с правилом Zabbix (идентификатор правила: RV-N-260).
-
Соедините нормализатор с точками входа.
-
Добавьте на конвейер элемент Конечная точка типа Хранилище событий.
-
Соедините конечную точку с нормализатором.
-
Сохраните и установите конфигурацию конвейера.
Пример конфигурации конвейера:

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события Zabbix.
|
Найти события Zabbix в хранилище можно по следующему фильтру:
|
Была ли полезна эта страница?
