Kaspersky Security Center сбор из СУБД MS SQL

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

  • Сетевая доступность между R-Vision SIEM и СУБД Kaspersky Security Center (tcp/1433).

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

Настройка в СУБД MS SQL

События Kaspersky Security Center записываются в таблицу ev_event базы данных KAV СУБД MS SQL. Для настройки сбора логов из базы данных необходимо к ней подключиться. Чтобы подключиться к БД, используйте специально созданную сервисную учетную запись (далее — УЗ).

Создание учетной записи в СУБД MS SQL

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

  1. Выберите New Login в контекстном меню для Security/Logins.

    kaspersky security center mssql

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

    kaspersky security center mssql 2

    Вместо локальной УЗ вы также можете использовать заранее созданную доменную.

    kaspersky security center mssql 3

  3. Предоставьте учетной записи права на чтение базы KAV.

    kaspersky security center mssql 4

Настройка сервера MS SQL

В настройках SQL Server Configuration Manager убедитесь, что TCP/IP включен в конфигурации сети SQL Server.

kaspersky security center mssql 5

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

Общий вид рабочего конвейера для обеспечения получения и отображения событий:

kaspersky security center pipeline

Для подключения базы данных MS SQL в качестве источника событий в SIEM настройте следующий конвейер:

  1. Создайте точку входа со следующими параметрами:

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

    • SQL-запрос:

      SELECT
          TOP 10000 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 DATEADD(hour,DATEDIFF(hour,GETUTCDATE(),GETDATE()),ev.rise_time )
                  ELSE ev.rise_time END AS endTime
          , CASE
              WHEN ev.registration_time is not NULL
                  THEN DATEADD(hour,DATEDIFF(hour,GETUTCDATE(),GETDATE()),ev.registration_time )
                  ELSE ev.registration_time END AS kscRegistrationTime
           , cast(ev.par7 AS varchar(4000)) AS sourceUserName
           , hs.wstrWinName AS dHost
           , hs.wstrWinDomain AS strNtDom
           , serv.wstrWinName AS kscName
           , CAST(hs.nIp / 256 / 256 / 256 % 256 AS VARCHAR) + '.'
                 + CAST(hs.nIp / 256 / 256 % 256 AS VARCHAR) + '.'
                 + CAST(hs.nIp / 256 % 256 AS VARCHAR) + '.'
                 + CAST(hs.nIp % 256 AS VARCHAR) AS sourceAddress
           , serv.wstrWinDomain AS kscNtDomain
           , CAST(serv.nIp / 256 / 256 / 256 % 256 AS VARCHAR) + '.'
             + CAST(serv.nIp / 256 / 256 % 256 AS VARCHAR) + '.'
             + CAST(serv.nIp / 256 % 256 AS VARCHAR) + '.'
             + CAST(serv.nIp % 256 AS VARCHAR) AS kscIP
           , CASE
               WHEN virus.tmVirusFoundTime IS NOT NULL
                  THEN DATEADD(hour,DATEDIFF(hour,GETUTCDATE(),GETDATE()),virus.tmVirusFoundTime )
                  ELSE ev.registration_time END AS virusTime
           , virus.wstrObject AS filePath
           , virus.wstrVirusName AS virusName
           , virus.result_ev AS result
       FROM kav.dbo.ev_event AS ev
       LEFT JOIN kav.dbo.v_akpub_host AS hs
          ON ev.nHostId = hs.nId
       INNER JOIN kav.dbo.v_akpub_host AS serv
          ON serv.nId = 1
       LEFT JOIN kav.dbo.rpt_viract_index AS Virus
          ON ev.event_type_id = virus.nEventVirus
       WHERE event_id > ?
      При большом количестве событий в СУБД рекомендуется добавлять TOP 10000 в начало SQL-запроса.
    • База данных: MS SQL.

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

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

      • Ключ: event_id.

      • Значение: 1.

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

      jdbc:sqlserver://DBSERVER:1433;encrypt=false;databaseName=KAV;user=kasper;password=passw0rd

      Строка подключения в секрете в случае использования доменной учетной записи:

      jdbc:sqlserver://DBSERVER:1433;encrypt=false;databaseName=KAV;authenticationScheme=NTLM;integratedSecurity=true;user=srv_ksc;password=P@ssw0rd

      Здесь:

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

      • 1433-- порт подключения

  2. Добавьте нормализатор с правилом "Kaspersky Security Center".

  3. Добавьте конечную точку типа Хранилище событий.

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

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

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

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