Kaspersky Security Center: сбор из СУБД MySQL (MariaDB)

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

  • Сетевая доступность сервера СУБД Kaspersky Security Center по целевому порту и протоколу для каждой ноды кластера SIEM.

  • Учетная запись в СУБД с правами на чтение таблицы ev_event (сбор событий из БД).

Настройка СУБД MySQL (MariaDB)

Создание учетной записи в СУБД MySQL (MariaDB)

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

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

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

    CREATE USER 'kasper'@'localhost' IDENTIFIED BY 'passw0rd';
  3. Предоставьте сервисной учетной записи права на подключение к базе и чтение таблицы:

    GRANT CONNECT ON DATABASE KAV to kasper;
    GRANT SELECT ON ev_event TO 'kasper'@'localhost';

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

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

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

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

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

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

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

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

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

        jdbc:mysql://DBSERVER:3306/kav?user=kasper&password=passw0rd

        Здесь:

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

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

        kaspersky security center mysql create secret connection string

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

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

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

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

    • Тип точки входа: выберите вариант Database.

    • Драйвер базы данных: выберите вариант MySQL.

    • Адрес подключения: выберите секрет, созданный ранее.

    • SQL-запрос — введите запрос вида:

      SELECT 'ksc' AS appname,
          ev.event_id AS event_id,
          ev.event_type_id AS deviceEventClassId,
          ev.severity AS severity,
          ev.task_display_name AS taskDisplayName,
          ev.product_name AS product_name,
          ev.product_displ_version AS product_version,
          ev.event_type AS externalId,
          ev.event_type_display_name AS event_subcode,
          ev.descr AS msg,
          CASE
              WHEN ev.rise_time IS NOT NULL THEN DATE_ADD(ev.rise_time, INTERVAL TIMESTAMPDIFF(HOUR, UTC_TIMESTAMP(), NOW()) HOUR)
              ELSE ev.rise_time
          END AS endTime,
          CASE
              WHEN ev.registration_time IS NOT NULL THEN DATE_ADD(ev.registration_time, INTERVAL TIMESTAMPDIFF(HOUR, UTC_TIMESTAMP(), NOW()) HOUR)
              ELSE ev.registration_time
          END AS kscRegistrationTime,
          CAST(ev.par7 AS CHAR(4000)) AS sourceUserName,
          hs.wstrWinName AS dHost,
          hs.wstrWinDomain AS strNtDom,
          serv.wstrWinName AS kscName,
          CONCAT(
              FLOOR(hs.nIp / 256 / 256 / 256 % 256), '.',
              FLOOR(hs.nIp / 256 / 256 % 256), '.',
              FLOOR(hs.nIp / 256 % 256), '.',
              FLOOR(hs.nIp % 256)
          ) AS sourceAddress,
          serv.wstrWinDomain AS kscNtDomain,
          CONCAT(
              FLOOR(serv.nIp / 256 / 256 / 256 % 256), '.',
              FLOOR(serv.nIp / 256 / 256 % 256), '.',
              FLOOR(serv.nIp / 256 % 256), '.',
              FLOOR(serv.nIp % 256)
          ) AS kscIP,
          CASE
              WHEN virus.tmVirusFoundTime IS NOT NULL THEN DATE_ADD(virus.tmVirusFoundTime, INTERVAL TIMESTAMPDIFF(HOUR, UTC_TIMESTAMP(), NOW()) HOUR)
              ELSE ev.registration_time
          END AS virusTime,
          virus.wstrObject AS filePath,
          virus.wstrVirusName AS virusName,
          virus.result_ev AS result
      FROM kav.ev_event AS ev
      LEFT JOIN kav.v_akpub_host AS hs ON ev.nHostId = hs.nId
      INNER JOIN kav.v_akpub_host AS serv ON serv.nId = 1
      LEFT JOIN kav.rpt_viract_index AS virus ON ev.event_type_id = virus.nEventVirus
      WHERE
       ev.event_id > ? ORDER BY ev.event_id ASC
    • Поле идентификатора: введите ключ event_id со значением 1.

    • Интервал запроса, секунд: введите значение 15.

  4. Добавьте на конвейер элемент Нормализатор с правилом Kaspersky Security Center (идентификатор правила: RV-N-51).

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

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

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

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

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

kaspersky security center pipeline

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

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

sourceServiceName = "KSC"

kaspersky security center ms sql storage

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

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

Была ли полезна эта страница?

Обратная связь