Содержание
Экспорт событий напрямую из базы данных
Вы можете извлекать события напрямую из базы данных Kaspersky Security Center, не используя интерфейс Kaspersky Security Center Linux. Можно создавать запросы непосредственно к публичным представлениям и извлекать из них данные о событиях или создавать собственные представления на базе существующих публичных представлений и обращаться к ним для получения требуемых данных.
Публичные представления
Для вашего удобства в базе данных Kaspersky Security Center Linux предусмотрен набор публичных представлений. Описание публичных представлений приведено в документе klakdb.chm.
Публичное представление v_akpub_ev_event содержит набор полей, соответствующих параметрам событий в базе данных. В документе klakdb.chm также содержится информация о публичных представлениях, относящихся к другим объектам Kaspersky Security Center Linux, например, устройствам, приложениям, пользователям. Вы можете использовать эту информацию при создании запросов.
В этом разделе приведены инструкции по выполнению SQL-запроса с помощью утилиты klsql2, а также пример такого запроса.
Вы также можете использовать любые другие приложения для работы с базами данных для создания SQL-запросов и представлений баз данных. Информация о том, как посмотреть параметры подключения к базе данных Kaspersky Security Center Linux, например, имя инстанса и имя базы данных, приведена в соответствующем разделе.
Выполнение SQL-запроса с помощью утилиты klsql2
В этой статье приведены инструкции по использованию утилиты klsql2, а также по выполнению SQL-запроса с использованием этой утилиты. Используйте версию утилиты klsql2, которая входит в вашу установленную версию Kaspersky Security Center Linux.
Чтобы использовать утилиту klsql2:
- Перейдите в директорию, в которой установлен Сервер администрирования. По умолчанию задан путь /opt/kaspersky/ksc64/sbin.
- В этой директории создайте пустой файл src.sql.
- Откройте файл src.sql с помощью любого текстового редактора.
- В файле src.sql введите требуемый SQL-запрос и сохраните файл.
- На устройстве, на котором установлен Сервер администрирования, в командной строке введите следующую команду для выполнения SQL-запроса из файла src.sql и сохранения результатов в файл result.xml:
sudo ./klsql2 -i src.sql -u <
имя пользователя
> -p <
пароль
> -o result.xml
где
<
имя пользователя
>
и<
пароль
>
являются учетными данными учетной записи пользователя, имеющего доступ к базе данных. - При необходимости введите имя учетной записи и пароль пользователя, имеющего доступ к базе данных.
- Откройте созданный файл result.xml и посмотрите результаты выполнения SQL-запроса.
Вы можете изменить файл src.sql и создавать в нем любые SQL-запросы к публичным представлениям. Затем с помощью команды в командной строке можно запустить запрос и сохранить результаты в файл.
Пример SQL-запроса, созданного с помощью утилиты klsql2
В этом разделе приведен пример SQL-запроса, выполненного с помощью утилиты klsql2.
Следующие примеры показывают, как получить список событий, зарегистрированных на устройствах пользователей за последние 7 дней, и отсортировать их по времени возникновения, самые недавние события отображаются первыми.
Пример для Microsoft SQL Server: SELECT e.nId, /* идентификатор события */ e.tmRiseTime, /* время возникновения события */ e.strEventType, /* внутреннее имя типа события */ e.wstrEventTypeDisplayName, /* отображаемое имя события */ e.wstrDescription, /* отображаемое описание события */ e.wstrGroupName, /* имя группы устройств */ h.wstrDisplayName, /* отображаемое имя устройства, на котором произошло событие */ CAST(((h.nIp / 16777216) & 255) AS varchar(4)) + '.' + CAST(((h.nIp / 65536) & 255) AS varchar(4)) + '.' + CAST(((h.nIp / 256) & 255) AS varchar(4)) + '.' + CAST(((h.nIp) & 255) AS varchar(4)) as strIp /* IP-адрес устройства, на котором произошло событие */ FROM v_akpub_ev_event e INNER JOIN v_akpub_host h ON h.nId=e.nHostId WHERE e.tmRiseTime>=DATEADD(Day, -7, GETUTCDATE()) ORDER BY e.tmRiseTime DESC |
Пример для PostgreSQL: SELECT "e"."nId", /* идентификатор события */ "e"."tmRiseTime", /* время возникновения события */ "e"."strEventType", /* внутреннее имя типа события */ "e"."wstrEventTypeDisplayName", /* отображаемое имя события */ "e"."wstrDescription", /* отображаемое описание события */ "e"."wstrGroupName", /* отображаемое описание события */ "h"."wstrDisplayName", /* отображаемое имя устройства, на котором произошло событие */ ( CAST((("h"."nIp" / 16777216 )& 255 ) AS VARCHAR(4)) || '.' || CAST((("h"."nIp" / 65536 )& 255 ) AS VARCHAR(4)) || '.' || CAST((("h"."nIp" / 256 )& 255 ) AS VARCHAR(4)) || '.' || CAST((("h"."nIp" )& 255 ) AS VARCHAR(4)) ) AS "strIp" /* IP-адрес устройства, на котором произошло событие */ FROM "v_akpub_ev_event" AS "e" INNER JOIN "v_akpub_host" AS "h" ON "h"."nId" = "e"."nHostId" WHERE "e"."tmRiseTime" >= NOW() AT TIME ZONE 'utc' + make_interval(days => CAST(-7 AS INT)) ORDER BY "e"."tmRiseTime" DESC ; |
Пример для MySQL или MariaDB: SELECT `e`.`nId`, /* идентификатор события */ `e`.`tmRiseTime`, /* время возникновения события */ `e`.`strEventType`, /* внутреннее имя типа события */ `e`.`wstrEventTypeDisplayName`, /* отображаемое имя события */ `e`.`wstrDescription`, /* отображаемое описание события */ `e`.`wstrGroupName`, /* имя группы устройств */ `h`.`wstrDisplayName`, /* отображаемое имя устройства, на котором произошло событие */ CONCAT( LEFT(CAST(((`h`.`nIp` DIV 1677721) & 255) AS CHAR), 4), '.', LEFT(CAST(((`h`.`nIp` DIV 65536) & 255) AS CHAR), 4), '.', LEFT(CAST(((`h`.`nIp` DIV 256) & 255) AS CHAR), 4), '.', LEFT(CAST(((`h`.`nIp`) & 255) AS CHAR), 4) ) AS `strIp` /* IP-адрес устройства, на котором произошло событие */ FROM `v_akpub_ev_event` AS `e` INNER JOIN `v_akpub_host` AS `h` ON `h`.`nId` = `e`.`nHostId` WHERE `e`.`tmRiseTime` >= ADDDATE( UTC_TIMESTAMP( ) , INTERVAL -7 DAY) ORDER BY `e`.`tmRiseTime` DESC ; |
Просмотр имени базы данных Kaspersky Security Center Linux
Для доступа к базе данных Kaspersky Security Center Linux с помощью MySQL или MariaDB необходимо знать имя базы данных, чтобы иметь возможность подключиться к ней из редактора скриптов SQL.
Чтобы просмотреть имя базы данных Kaspersky Security Center Linux:
- В главном меню нажмите на значок параметров (
) рядом с именем требуемого Сервера администрирования.
Откроется окно свойств Сервера администрирования.
- На вкладке Общие выберите раздел Информация об используемой базе данных.
Имя базы данных указано в поле Имя базы данных. Используйте это имя базы данных для подключения и обращения к базе данных в ваших SQL-запросах.