Infowatch Traffic Monitor

Данная инструкция описывает настройку сбора событий на сервере Infowatch Traffic Monitor и последующую отправку в R-Vision SIEM.

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

Чтобы работать с Infowatch Traffic Monitor, убедитесь, что у вас имеется:

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

  • учетная запись в СУБД с правами на чтение таблиц arc_view_audit_log и arc_view_objects2.

Настройка Infowatch Traffic Monitor

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

Infowatch Traffic Monitor записывает свои события в таблицы arc_view_audit_log и arc_view_objects2 базы данных Postgres.

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

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

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

  1. Выполните следующую команду от имени пользователя postgres:

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

    CREATE USER "infowatch";
    ALTER ROLE infowatch WITH PASSWORD 'passw0rd';
  3. Выдайте созданной УЗ права на подключение к базе и чтение таблицы:

    GRANT CONNECT ON DATABASE postgres to infowatch;
    GRANT SELECT ON arc_view_audit_log TO infowatch;
    GRANT SELECT ON arc_view_objects2 TO infowatch;

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

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

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

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

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

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

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

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

        jdbc:postgresql://<address>:<port>/<database>?user=<user>&password=<password>

        где:

        • <address> — адрес сервера базы.

        • <port> — порт подключения.

        • <database> — имя базы событий аудита.

        • <user> — логин пользователя базы.

        • <password> — пароль пользователя базы.

        Пример 1. Пример строки подключения
        jdbc:postgresql://DBSERVER:5432/postgres?user=infowatch&password=passw0rd
    3. Нажмите на кнопку Создать.

  2. Перейдите в раздел Ресурсы → Коллекторы и создайте новый конвейер в коллекторе.

  3. Добавьте на конвейер элементы Точка входа. Понадобится создать две точки входа, для таблицы arc_view_audit_log и arc_view_objects2. Поля для обеих точек идентичны, за исключением SQL-запроса:

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

    • Тип точки входа: Database.

    • SQL-запрос для таблицы arc_view_audit_log: события Infowatch TM:

      SELECT CAST(AUDIT_LOG_ID AS bigint) AS AUDIT_LOG_ID_KF,
      change_date,
      operation,
      entity_type,
      entity_display_name,
      entity_id,
      property_changes,
      user_login,
      user_fullname,
      user_email FROM iwtm.arc_view_audit_log WHERE change_date >
      (SELECT CURRENT_TIMESTAMP - INTERVAL '1 minutes') ORDER BY AUDIT_LOG_ID LIMIT 1000;
    • SQL-запрос для таблицы arc_view_objects2: аудит пользователей Infowatch TM:

      SELECT cast(insert_date as VARCHAR(26)) AS "EVENT_DATE_KF",
      insert_date AS "INSERT_DATE",
      capture_server_hostname AS "CAPTURE_SERVER_HOSTNAME",
      capture_server_ip AS "CAPTURE_SERVER_IP",
      categories AS "CATEGORIES",
      date_of_capture AS "DATE_OF_CAPTURE",
      device AS "DEVICE_NAME",
      filepath AS "FILEPATH",
      fingerprints AS "FINGERPRINTS",
      monitorcode AS "MONITOR_CODE",
      object_id AS "OBJECT_ID",
      perimetersin AS "PERIMETERSIN",
      perimetersout AS "PERIMETERSOUT",
      policies AS "POLICIES",
      protecteddocuments AS "PROTECTED_DOCUMENTS",
      protocol AS "PROTOCOL",
      recipientscontacts AS "RECIPIENTSCONTACTS",
      recipientsfullname AS "RECIPIENTSFULLNAME",
      sendermachinecontacts AS "SENDERMACHINECONTACTS",
      sendermachinefullname AS "SENDERMACHINEFULLNAME",
      senderscontacts AS "SENDERSCONTACTS",
      sendersfullname AS "SENDERSFULLNAME",
      tags AS "TAGS",
      text_objects AS "TEXT_OBJECTS",
      url AS "URL",
      userdecision AS "USER_DECISION",
      verdict AS "VERDICT",
      violationtype AS "VIOLATION_TYPE",
      websource AS "WEBSOURCE" FROM iwtm.arc_view_objects2
      WHERE insert_date > cast('EVENT_DATE_KF' as timestamp)
      ORDER BY insert_date LIMIT 10000;
    • База данных: PostgreSQL.

    • Интервал запроса: от 15 до 60.

    • Поле идентификатора:

      • Ключ: EVENT_DATE_KF.

      • Значение: 1970-01-01 00:00:00.

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

      jdbc:postgresql://<address>:<port>/postgres?user=infowatch&password=passw0rd

      Здесь:

      • <address> — FQDN или IP-адрес сервера СУБД.

      • <port> — порт подключения.

  4. Добавьте VRL-трансформацию:

    .dproduct = "Traffic Monitor"
  5. Соедините добавленную точку входа и VRL трансформацию.

  6. Добавьте нормализатор с правилом Infowatch Traffic Monitor (идентификатор правила: RV-N-45). Соедините нормализатор с VRL-трансформацией.

  7. Добавьте конечную точку типа Хранилище событий. Соедините конечную точку с нормализатором.

  8. Установите конфигурацию конвейера.

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

infowatch traffic monitor pipeline

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

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

dproduct = "Traffic Monitor"

infowatch traffic monitor filter

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

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