Kaspersky Security Center сбор из СУБД PostgreSQL
Предварительные требования
-
Сетевой доступ к БД Kaspersky Security Center.
-
Учетная запись в СУБД с правами на чтение таблицы ev_event (Сбор событий из БД).
Настройки СУБД PostgreSQL
События Kaspersky Security Center записываются в таблицу ev_event
базы данных KAV СУБД MS SQL.
Для настройки сбора логов из базы данных необходимо к ней подключиться.
Чтобы подключиться к БД, используйте специально созданную сервисную учетную запись (далее — УЗ).
Создание учетной записи в СУБД PostgreSQL
Чтобы создать сервисную УЗ, подключитесь к СУБД с правами администратора. Для этого выполните следующие действия на сервере с установленной СУБД:
-
Выполните следующую команду из-под пользователя postgres:
sudo -u postgres psql
-
Создайте сервисную учетную запись, выполнив следующие команды:
CREATE USER "kasper"; ALTER ROLE kasper WITH PASSWORD 'passw0rd';
-
Выдайте права на подключение к базе и чтение таблицы:
GRANT CONNECT ON DATABASE KAV to kasper; GRANT SELECT ON ev_event TO kasper;
Настройка в R-Vision SIEM
Общий вид рабочего конвейера для обеспечения получения и отображения событий:
Для подключения базы данных PostgreSQL в качестве источника событий в SIEM настройте следующий конвейер:
-
Создайте точку входа со следующими параметрами:
-
Тип точки входа: Database.
-
SQL-запрос:
SELECT 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 ev.rise_time + INTERVAL '1 hour' * (EXTRACT(EPOCH FROM (NOW() AT TIME ZONE 'UTC' - NOW())) / 3600) ELSE ev.rise_time END AS endTime, CASE WHEN ev.registration_time IS NOT NULL THEN ev.registration_time + INTERVAL '1 hour' * (EXTRACT(EPOCH FROM (NOW() AT TIME ZONE 'UTC' - NOW())) / 3600) 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, CONCAT( (hs."nIp" >> 24) & 255, '.', (hs."nIp" >> 16) & 255, '.', (hs."nIp" >> 8) & 255, '.', hs."nIp" & 255 ) AS sourceAddress, serv."wstrWinDomain" AS kscNtDomain, CONCAT( (serv."nIp" >> 24) & 255, '.', (serv."nIp" >> 16) & 255, '.', (serv."nIp" >> 8) & 255, '.', serv."nIp" & 255 ) AS kscIP, CASE WHEN virus."tmVirusFoundTime" IS NOT NULL THEN virus."tmVirusFoundTime" + INTERVAL '1 hour' * (EXTRACT(EPOCH FROM (NOW() AT TIME ZONE 'UTC' - NOW())) / 3600) ELSE ev.registration_time END AS virusTime, virus."wstrObject" AS filePath, virus."wstrVirusName" AS virusName, virus.result_ev AS result FROM ev_event AS ev LEFT JOIN v_akpub_host AS hs ON ev."nHostId" = hs."nId" INNER JOIN v_akpub_host AS serv ON serv."nId" = 1 LEFT JOIN rpt_viract_index AS virus ON ev.event_type_id = virus."nEventVirus" WHERE ev.event_id > CAST(? AS BIGINT) ORDER BY ev.event_id ASC LIMIT 10000;
-
База данных: MySQL.
-
Интервал запроса: 15.
-
Поле идентификатора:
-
Ключ: event_id.
-
Значение: 1.
-
-
Строка подключения в секрете:
jdbc:postgresql://DBSERVER:5432/KAV?user=kasper&password=passw0rd
Здесь:
-
DBSERVER
— FQDN или IP-адрес сервера СУБД. -
5432
-- порт подключения
-
-
-
Добавьте нормализатор с правилом "Kaspersky Security Center".
-
Добавьте конечную точку типа Хранилище событий.
-
Установите конфигурацию конвейера.
Если настройка выполнена корректно, в хранилище начнут поступать события из PostgreSQL.
Таблица маппинга
Таблица соответствия полей события для всех рассмотренных типов событий представлена по ссылке.