Zabbix

Предварительные требования

Перед настройкой Zabbix убедитесь, что у вас имеется:

  • Сетевой доступ к БД;

  • Учетная запись в СУБД с правами администратора на доступ к БД zabbix в вашей системе управления базами данных (далее — СУБД).

Настройка Zabbix

Описание подсистемы журналирования

Zabbix записывает свои события в базу данных zabbix вашей СУБД.

База данных zabbix создается автоматически при установке сервера Zabbix версии 6.0 и выше. Если вы используете более старую версию, обратитесь к документации Zabbix для первичной настройки.

Названия таблиц в вашей СУБД могут отличаться от названий таблиц, приведенных в данной инструкции. Если вы не можете найти необходимые таблицы в вашей СУБД или получаете ошибки существования таблиц, обратитесь к разделу документации, соответствующему вашей версии сервиса, для поиска соответствий.

Настройка журналирования

Создание сервисной учетной записи

Для осуществления сбора логов из базы данных требуется подключиться к ней с использованием специализированной учетной записи (далее — УЗ). Данная УЗ предназначена для обеспечения доступа к базе данных автоматическим сервисом.

Чтобы создать сервисную УЗ, подключитесь к СУБД с правами администратора. Для этого выполните следующие действия на сервере с установленной СУБД:

В качестве примера используется СУБД PostgreSQL.
  1. Выполните следующую команду от имени пользователя с правами администратора:

    sudo -u <admin> psql

    где <admin> — название учетной записи с правами администратора.

  2. Создайте сервисную учетную запись, выполнив следующие команды:

    CREATE USER "<new_user>";
    ALTER ROLE <new_user> WITH PASSWORD '<passw0rd>';

    где:

    • <new_user> — имя созданной УЗ.

    • <passw0rd> — пароль для созданной УЗ.

  3. Предоставьте права на подключение к базе данных и чтение таблицы. К правам пользователя предъявляются следующие требования:

    • возможность подключения к базе данных zabbix;

    • возможность выполнения SELECT-запросов к таблицам audit и alerts базы данных zabbix.

      Пример 1. Пример запроса для создания пользователя в 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-привилегии только для таблиц audit и alerts.

Включение сбора событий аудита

Для настройки логирования событий аудита в Zabbix выполните следующие действия:

  1. Подключитесь к веб-интерфейсу Zabbix.

  2. Войдите в веб-интерфейс с помощью УЗ, имеющей права администратора Zabbix.

  3. Перейдите в раздел Администрирование → Общие → Журнал аудита.

    zabbix audit configuration

    Если вы используете английскую версию Zabbix, перейдите в раздел Administration → General → Audit Log.
  4. Установите флажок напротив параметра Включить журналирование аудита.

    В английской версии Zabbix установите флажок напротив параметра Enable Audit Log.

    zabbix enable audit configuration

  5. После настройки журналирования события аудита начнут записываться в вашу CУБД.

Настройка в R-Vision SIEM

Для настройки сбора и нормализации событий источника в R-Vision SIEM выполните следующие шаги:

  1. В интерфейсе R-Vision SIEM создайте секрет со строкой подключения. Для этого:

    1. Перейдите в Ресурсы → Секреты → Создать.

    2. В раскрывшемся окне создания секрета заполните поля:

      • Название: введите название секрета.

      • Описание (опционально): опишите, для чего будет использоваться секрет.

      • Тип секрета: выберите вариант Строка подключения.

      • Строка подключения — введите строку вида:

        jdbc:postgresql://<ip-address>:<port>/zabbix?user=<svc_rvision_siem>&password=<passw0rd>

        где:

      • <ip-address> — данные вашего сервера СУБД zabbix.

      • <port> — порт подключения к вашей СУБД. По умолчанию используется порт 5432.

      • <svc_rvision_siem> — пример имени пользователя для подключения к СУБД zabbix.

      • <passw0rd> — пример пароля пользователя СУБД zabbix.

        zabbix llc create secret connection string

    3. Нажмите на кнопку Создать.

  2. В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.

  3. Добавьте на конвейер элемент Точка входа со следующими параметрами:

    • Название: введите название точки входа.

    • Тип точки входа: выберите вариант 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.

      Пример указания параметра Поле идентификатора:

      zabbix clock identificator

  4. Добавьте на конвейер еще один элемент Точка входа со следующими параметрами:

    • Название: введите название точки входа.

    • Тип точки входа: выберите вариант 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.

  5. Добавьте на конвейер элемент Нормализатор с правилом Zabbix (идентификатор правила: RV-N-124).

  6. Соедините нормализатор с точками входа.

  7. Добавьте на конвейер элемент Конечная точка типа Хранилище событий.

  8. Соедините конечную точку с нормализатором.

  9. Сохраните и установите конфигурацию конвейера.

Пример конфигурации конвейера:

zabbix llc pipeline

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события Zabbix.

Найти события Zabbix в хранилище можно по следующему фильтру:

dproduct = "Zabbix"

zabbix storage filter

Таблица маппинга

Таблица соответствия полей события для всех рассмотренных типов событий представлена по ссылке.