Перейти к содержанию

Решения Endpoint Security

При работе по подключению решений Endpoint Security в качестве источника событий в Платформу Радар вам может пригодиться следующая справочная информация:

Dr.Web Enterprise Security Suite. Отправка событий через PostgreSQL Server

1. Настройка пользователя для чтения данных (PostgreSQL)

Настройка пользователя pgr_reader с минимально необходимыми правами для доступа к данным, требуемым для сбора журналов.

  1. Создание роли

-- Создание роли с запретом на административные действия
CREATE ROLE pgr_reader WITH
    LOGIN  -- Разрешает аутентификацию
    NOSUPERUSER  -- Запрещает выполнение административных  операций
    NOCREATEDB  -- Запрещает создание баз данных
    NOCREATEROLE  -- Запрещает создание/изменение ролей
    INHERIT  -- Наследует права от родительских ролей (если есть)
    NOREPLICATION  -- Блокирует участие в репликации
    NOBYPASSRLS  -- Запрещает обход политик безопасности (RLS)
    CONNECTION LIMIT 5  -- Ограничение на 5 одновременных подключений (настраивается в зависимости от нагрузки и количества используемых журналов)
    PASSWORD '<УКАЖИТЕ_ТУТ_ВАШ_ПАРОЛЬ>';  -- Пример пароля.
2. Предоставление доступа к базе данных

GRANT CONNECT ON DATABASE drwcs TO pgr_reader;
3. Предоставление доступа к схеме

GRANT USAGE ON SCHEMA public TO pgr_reader;
4. Предоставление прав на чтение необходимых таблиц

GRANT SELECT ON TABLE
    admin_activity,
    activity_data,
    admin_msg_log,
    admin_msg_lst,
    admins,
    online_statistics,
    server_jobs_log,
    cat_job,
    cat_job_srv,
    update_srv_files,
    update_srv_history,
    cat_upd_admin,
    cat_upd_product,
    cat_upd_descr,
    server_status,
    quarantine_actions,
    station_appctl_event,
    cat_sid,
    cat_users,
    cat_profile_name,
    cat_rule_name,
    cat_path,
    appctl_event_file,
    cat_hashdb,
    station_hips_event,
    cat_hash,
    station_infection,
    cat_virus,
    cat_name_stations,
    cat_name_groups,
    cat_descr,
    cat_mac,
    cat_ldapdn,
    station_run,
    client_disconnect,
    cat_reason,
    station_quarantine,
    cat_virusinfo,
    station_status,
    station_user_logon
TO pgr_reader;
5. Проверка выданных прав доступа
SELECT * FROM information_schema.table_privileges 
WHERE grantee = 'pgr_reader';
Ожидаемый результат - Для всех указанных таблиц в колонке privilege_type должно быть SELECT.

2. Настройка СУБД PostgreSQL

Для корректного сбора журналов DrWeb ESS необходимо настроить доступ к служебной базе данных drwcs. PostgreSQL требует дополнительной конфигурации для разрешения сетевых подключений.

2.1 Расположение конфигурационных файлов

Для разрешения подключений к PostgreSQL извне необходимо отредактировать два конфигурационных файла. Расположение конфигурационных файлов PostgreSQL различается в зависимости от операционной системы и дистрибутива СУБД:

СУБД Операционная система Путь к конфигурации
PostgreSQL Windows C:\Program Files\PostgreSQL\<версия>\data\
Ubuntu, Astra Linux Special Edition /etc/postgresql/<версия>/main/
RedOS /var/lib/pgsql/<версия>/data/
Alt Linux 10 /var/lib/pgsql/data/
PostgreSQL Pro Windows C:\Program Files\PostgresPro\<версия>\data\
Linux /var/lib/pgpro/std-<версия>/data/

Примечание: <версия> соответствует установленной версии PostgreSQL (например, 14, 15).

1 Настройка аутентификации

Файл pg_hba.conf определяет правила аутентификации клиентов:

  1. Откройте файл в текстовом редакторе с правами администратора.
  2. Найдите существующую строку для локальных подключений (пример):

host    all     all     127.0.0.1/32    scram-sha-256
3. Добавьте после неё новое правило, разрешающее доступ с IP-адреса Платформы Радар или подсети:
host    all    all    192.168.1.100/32    scram-sha-256
Замените 192.168.1.100/32 на конкретный IP-адрес Платформы или подсеть (например, 192.168.1.0/24).

2 Настройка прослушивания

Файл postgresql.conf управляет параметрами сервера:

  1. Откройте файл в текстовом редакторе.
  2. Найдите параметр listen_addresses и установите значение:

listen_addresses = '*'
Значение '*' позволяет PostgreSQL прослушивать подключения со всех сетевых интерфейсов.
Для повышения безопасности можно указать конкретный IP-адрес.

  1. Убедитесь, что параметр port имеет стандартное значение 5432 или установлен в соответствии с вашей конфигурацией.

4 Применение изменений

После внесения изменений в конфигурационные файлы необходимо:

  1. Сохранить изменения в обоих файлах.
  2. Перезапустить службу PostgreSQL для применения изменений:

  3. Windows: net stop postgresql → net start postgresql

  4. Linux: systemctl restart postgresql

5 Проверка доступности

Убедитесь, что PostgreSQL принимает подключения:

# Проверка статуса службы
systemctl status postgresql

# Проверка сетевого прослушивания
netstat -tlnp | grep 5432
ss -tlnp | grep 5432

# Тестовое подключение (с Платформы Радар)
psql -h <IP_адрес_сервера_DRWeb> -U pgr_reader -d drwcs
3. Настройка профилей сбора

Журналы DrWeb Enterprise Security Suite (ESS) хранятся в виде набора реляционных таблиц в служебной базе данных drwcs . Для сбора каждого типа журнальных событий на Платформе мониторинга необходимо активировать соответствующий профиль сбора, который выполняет специализированный SQL-запрос к этой БД.

Каждый из приведенных ниже запросов включает обязательное поле journal_type. Это поле является ключевым для последующей корректной нормализации и маршрутизации событий в правилах обработки. Для обеспечения инкрементального сбора данных (пагинации) в большинстве запросов используется параметр ?, который подставляется как значение временной метки последнего успешно обработанного события. Исключением является запрос о состоянии сервера, который выполняется без пагинации по времени для получения актуального снимка системы.

3.1 События сервера

Раздел содержит запросы для сбора журналов, фиксирующих активность и операции, выполняемые на самом сервере DrWeb ESS.

3.1.1. Аудит действий администраторов

Тип журнала: admin_audit
Используемые таблицы: admin_activity, activity_data
Описание: Журнал регистрирует все действия, выполненные администраторами через консоль управления DrWeb ESS. Включает детализацию параметров каждого действия через связанную таблицу activity_data.
События: Авторизация/выход администраторов, создание/изменение/удаление объектов (пользователей, групп, политик), изменение конфигурации системы, запуск системных операций (сканирование, обновление).
Поле-закладка: bookmark (admin_activity.createtime)

SELECT
    'admin_audit' as journal_type,
    aa.record,
    aa.login,
    aa.address,
    aa.subsys,
    aa.objid,
    aa.oper,
    aa.status,
    aa.createtime as bookmark,
    ad.item,
    ad.value
FROM admin_activity aa
LEFT JOIN activity_data ad ON aa.record = ad.record
WHERE aa.createtime > ?
ORDER BY aa.createtime
LIMIT 1000;
3.1.2. Журнал сообщений администратора

Тип журнала: admin_messages
Используемые таблицы: admin_msg_log, admin_msg_lst, admins
Описание: Содержит информацию о текстовых сообщениях, отправленных администратором на клиентские станции. Включает полное содержимое сообщения и статус доставки.
События: Отправка уведомлений, предупреждений, инструкций отдельным станциям или группам станций.
Поле-закладка: bookmark (admin_msg_lst.created)

SELECT
    'admin_messages' as journal_type,
    log.sid,
    log.mid,
    log.admin as admin_id,
    admins.name as admin_name,
    log.subsys,
    log.delivered,
    lst.msg_body,
    lst.msg_options,
    lst.created as bookmark
FROM admin_msg_log log
INNER JOIN admin_msg_lst lst ON log.mid = lst.mid
LEFT JOIN admins ON log.admin = admins.id
WHERE lst.created > ?
ORDER BY lst.created
LIMIT 1000;
3.1.3. Статистика обнаруженных угроз

Тип журнала: threat_statistics
Используемые таблицы: online_statistics
Описание: Агрегированная статистика по обнаруженным вирусам и результатам сканирований, собираемая с клиентских станций в реальном времени.
События: Факты обнаружения угроз (вирусы, трояны, шпионское ПО), результаты плановых и внеплановых проверок, статистика сканированных файлов.
Поле-закладка: bookmark (online_statistics.recordtime)

SELECT
    'threat_statistics' as journal_type,
    station,
    sid,
    recordtime as bookmark,
    virus,
    amount
FROM online_statistics
WHERE recordtime > ?
ORDER BY recordtime
LIMIT 1000;
3.1.4. Журнал выполнения системных заданий

Тип журнала: server_jobs
Используемые таблицы: server_jobs_log, cat_job, cat_job_srv
Описание: История выполнения фоновых заданий и задач обслуживания на сервере DrWeb. Содержит расшифровку кодов завершения и ошибок.
События: Запуск заданий обновления антивирусных баз, очистки устаревших данных, резервного копирования, мониторинга производительности.
Поле-закладка: bookmark (server_jobs_log.completed)

SELECT
    'server_jobs' as journal_type,
    log.id,
    log.name as task_id,
    job.str as task_name,
    log.done,
    log.completed as bookmark,
    log.error,
    srv.str as err_descr
FROM server_jobs_log log
LEFT JOIN cat_job job ON log.name = job.id
LEFT JOIN cat_job_srv srv ON log.error = srv.id
WHERE log.completed > ?
ORDER BY log.completed
LIMIT 1000;
3.1.5. Журнал файлов обновлений

Тип журнала: update_files
Используемые таблицы: update_srv_files, update_srv_history
Описание: Детализированная запись изменений в репозитории обновлений сервера. Фиксирует каждую операцию с файлами обновлений.
События: Добавление новых файлов обновлений, замена существующих версий, удаление устаревших файлов из репозитория.
Поле-закладка: bookmark (update_srv_files.starttime)

SELECT
    'update_files' as journal_type,
    files.id,
    files.filename,
    files.filehash,
    files.filesize,
    CASE files.fileaction
        WHEN 0 THEN 'added'
        WHEN 1 THEN 'replaced'
        WHEN 2 THEN 'deleted'
        ELSE 'unknown'
    END AS fileaction,
    files.starttime as bookmark,
    history.sid,
    history.login,
    history.product,
    history.descr
FROM update_srv_files files
LEFT JOIN update_srv_history history ON files.id = history.id
WHERE files.starttime > ?
ORDER BY files.starttime
LIMIT 1000;
3.1.6. Журнал обновлений репозитория

Тип журнала: update_history
Используемые таблицы: update_srv_history, cat_upd_admin, cat_upd_product, cat_upd_descr
Описание: История сеансов обновления репозитория сервера DrWeb. Содержит информацию об инициаторах, источниках и результатах обновлений.
События: Запуск процессов обновления ПО, смена версий компонентов, успешное или неудачное завершение операций обновления.
Поле-закладка: bookmark (update_srv_history.starttime)

SELECT
    'update_history' as journal_type,
    ush.id,
    ush.sid,
    cua.str as login,
    ush.address,
    ush.src,
    cup.str as product,
    cud.str as descr,
    ush.starttime as bookmark,
    ush.endtime,
    ush.rc,
    ush.crevision,
    ush.nrevision
FROM update_srv_history ush
LEFT JOIN cat_upd_admin cua ON ush.login = cua.id
LEFT JOIN cat_upd_product cup ON ush.product = cup.id
LEFT JOIN cat_upd_descr cud ON ush.descr = cud.id
WHERE ush.starttime > ?
ORDER BY ush.starttime
LIMIT 1000;
3.2 Состояние сервера

Раздел содержит запросы для получения информации о текущем состоянии и метриках производительности сервера DrWeb ESS.

3.2.1. Мониторинг состояния серверов

Тип журнала: server_status
Используемые таблицы: server_status
Описание: Запрос для получения актуального снимка состояния серверов. Содержит ключевые метрики доступности, нагрузки и системные характеристики, необходимые для оперативного мониторинга здоровья инфраструктуры. В отличие от журналов событий, выполняется без пагинации по времени для отображения текущей ситуации.
События: Изменение состояния сервера (работает/остановлен), колебания нагрузки CPU, подключение/отключение клиентов, изменения сетевой активности.
Поле-закладка: Не используется (запрос состояния), регулируется интервалами запросов.

SELECT
    'server_status' as journal_type,
    NOW() as timestatus,
    id,
    state,
    marker,
    uptime,
    flavour,
    version,
    cpu,
    platform,
    os_full,
    distrib,
    host,
    clients_total,
    clients_maximum,
    total_clients,
    total_agents,
    total_newbies,
    total_installs,
    total_links,
    total_proxies,
    bytes_in,
    bytes_out
FROM server_status
ORDER BY state DESC, uptime DESC;
3.3 События станций

Раздел содержит запросы для сбора журналов безопасности и операционных событий, произошедших на конечных станциях (клиентских компьютерах).

3.3.1 Действия над объектами, перемещёнными в карантин на станциях

Тип журнала: quarantine_actions
Используемые таблицы: quarantine_actions
Описание: Журнал регистрирует все операции, выполняемые пользователями или системой над файлами, помещёнными в карантин (например, восстановление, удаление, отправка на анализ). Критичен для аудита обработки инцидентов и отслеживания судьбы изолированных угроз.
События: Восстановление файла из карантина, удаление заражённого объекта, отправка файла на анализ в DrWeb, ошибки обработки карантинных объектов.
Поле-закладка: bookmark (quarantine_actions.created)

SELECT
    'quarantine_actions' as journal_type,
    opid,
    id,
    object,
    qtime,
    opname,
    opresult,
    created as bookmark
FROM quarantine_actions
WHERE created > ?
ORDER BY created
LIMIT 1000;
3.3.2 Статистика событий Контроля приложений на станциях

Тип журнала: station_appctl_events
Используемые таблицы: station_appctl_event, cat_sid, cat_users, cat_profile_name, cat_rule_name, cat_path, appctl_event_file, cat_hashdb
Описание: Детализированные события, сгенерированные компонентом "Контроль приложений" (Application Control). Содержит информацию о попытках запуска процессов, примененных правилах политики безопасности, путях исполняемых файлов и их хэш-суммах. Необходим для анализа поведения программ и эффективности политик белого/черного списков. События: Блокировка запуска неразрешенного приложения, разрешение запуска доверенного приложения, срабатывание правила контроля приложений, события тестового режима политики.
Поле-закладка: bookmark (station_appctl_event.recvtime)

SELECT
    'station_appctl_events' as journal_type,
    se.id,
    cs.str as sid,
    cu.str as username,
    se.type,
    se.act,
    se.policy_type,
    se.policy_mask,
    se.profile_id,
    cpn.str as profile_name,
    crn.str as rule_name,
    se.test_mode,
    cpp.str as process_path,
    cep.sha256 as process_sha256,
    cep.descr as process_description,
    cep.origname as process_original_name,
    cep.prodname as process_product_name,
    cep.company as process_company,
    cep.filesize as process_filesize,
    chp.str as process_hashdb,
    cop.str as object_path,
    ceo.sha256 as object_sha256,
    ceo.descr as object_description,
    ceo.origname as object_original_name,
    ceo.prodname as object_product_name,
    ceo.company as object_company,
    ceo.filesize as object_filesize,
    cho.str as object_hashdb,
    se.eventtime,
    se.recvtime as bookmark,
    se.notified,
    se.pid,
    se.ppid
FROM station_appctl_event se
LEFT JOIN cat_sid cs ON se.sid = cs.id
LEFT JOIN cat_users cu ON se.username = cu.id
LEFT JOIN cat_profile_name cpn ON se.profile_name = cpn.id
LEFT JOIN cat_rule_name crn ON se.rule_name = crn.id
LEFT JOIN cat_path cpp ON se.process_path = cpp.id
LEFT JOIN appctl_event_file cep ON se.process = cep.id
LEFT JOIN cat_hashdb chp ON se.process_hashdb = chp.id
LEFT JOIN cat_path cop ON se.object_path = cop.id
LEFT JOIN appctl_event_file ceo ON se.object = ceo.id
LEFT JOIN cat_hashdb cho ON se.object_hashdb = cho.id
WHERE se.recvtime > ?
ORDER BY se.recvtime
LIMIT 1000;
3.3.3 Статистика по событиям, обнаруженным на станциях компонентом Превентивная защита

Тип журнала: station_hips_events
Используемые таблицы: station_hips_event, cat_path, cat_users, cat_hash, cat_hashdb
Описание: События, зарегистрированные компонентом HIPS (Host Intrusion Prevention System — Превентивная защита). Фиксирует попытки подозрительных действий на станции, такие как модификация системных файлов, реестра, создание процессов, срабатывания по поведенческим шаблонам. Ключевой источник данных для выявления атак нулевого дня и сложных угроз.
События: Попытка модификации защищенного системного файла, изменение критических параметров реестра, выполнение скрипта с подозрительными действиями, блокировка эксплойта.
Поле-закладка: bookmark (station_hips_event.recvtime)

SELECT
    'station_hips_events' as journal_type,
    se.id,
    se.pid,
    ppath.str as process_path,
    tpath.str as target_path,
    se.denied,
    se.isuser,
    euser.str as event_user,
    auser.str as action_user,
    se.htype,
    se.stype,
    se.account,
    se.eventtime,
    se.notified,
    se.recvtime as bookmark,
    sha256_hash.str as sha256_hash,
    hashdb.str as hashdb_name
FROM station_hips_event se
LEFT JOIN cat_path ppath ON se.ppath = ppath.id
LEFT JOIN cat_path tpath ON se.tpath = tpath.id
LEFT JOIN cat_users euser ON se.euser = euser.id
LEFT JOIN cat_users auser ON se.auser = auser.id
LEFT JOIN cat_hash sha256_hash ON se.sha256 = sha256_hash.id
LEFT JOIN cat_hashdb hashdb ON se.hashdb = hashdb.id
WHERE se.recvtime > ?
ORDER BY se.recvtime
LIMIT 1000;
3.3.4 Статистика по угрозам, обнаруженным на станциях

Тип журнала: station_infection
Используемые таблицы: station_infection, cat_virus, cat_path, cat_users, cat_name_stations, cat_name_groups, cat_descr, cat_mac, cat_sid, cat_ldapdn, cat_hash, cat_hashdb
Описание: Основной журнал инфекций. Содержит полную информацию о каждой обнаруженной на станции угрозе: имя вируса, путь к заражённому объекту, действие лечения, данные пользователя и станции. Является центральным источником для анализа векторов атак и эффективности антивирусной защиты.
События: Обнаружение вируса/трояна/шпионского ПО, успешное лечение заражённого файла, удаление нелечимого объекта, помещение угрозы в карантин.
Поле-закладка: bookmark (station_infection.infectionrecvtime)

SELECT
    'station_infection' as journal_type,
    si.id,
    si.processid,
    si.originator,
    si.infectionrecvtime as bookmark,
    si.infectiontime,
    si.type1,
    si.type2,
    virus.str as virus_name,
    object_path.str as object_path,
    si.treatment,
    owner_user.str as owner_name,
    username_user.str as username,
    station_name.str as station_name,
    si.address,
    si.group_id,
    group_name.str as group_name,
    si.login_time,
    si.notified,
    st_descr.str as station_description,
    st_mac.str as station_mac,
    st_uid.str as station_sid,
    st_ldapdn.str as station_ldapdn,
    sha256_hash.str as sha256_hash,
    hashdb.str as hashdb_name
FROM station_infection si
LEFT JOIN cat_virus virus ON si.virus = virus.id
LEFT JOIN cat_path object_path ON si.object = object_path.id
LEFT JOIN cat_users owner_user ON si.owner = owner_user.id
LEFT JOIN cat_users username_user ON si.username = username_user.id
LEFT JOIN cat_name_stations station_name ON si.station = station_name.id
LEFT JOIN cat_name_groups group_name ON si.group_name = group_name.id
LEFT JOIN cat_descr st_descr ON si.st_descr = st_descr.id
LEFT JOIN cat_mac st_mac ON si.st_mac = st_mac.id
LEFT JOIN cat_sid st_uid ON si.st_uid = st_uid.id
LEFT JOIN cat_ldapdn st_ldapdn ON si.st_ldapdn = st_ldapdn.id
LEFT JOIN cat_hash sha256_hash ON si.sha256 = sha256_hash.id
LEFT JOIN cat_hashdb hashdb ON si.hashdb = hashdb.id
WHERE si.infectionrecvtime > ?
ORDER BY si.infectionrecvtime
LIMIT 1000;
3.3.5 Статистика по запуску и завершению работы антивирусных компонентов на станциях

Тип журнала: station_run, station_stop
Используемые таблицы: station_run, cat_users
Описание: Пара запросов для отслеживания фактов запуска и остановки антивирусных служб и процессов на станциях. Позволяет детектировать нештатное завершение работы защиты, перезапуски служб и потенциальные вмешательства злоумышленника.
События: Запуск и остановка компонентов защиты.
Поле-закладка: Для событий запуска — bookmark (station_run.beginrecvtime), для событий остановки — bookmark (station_run.endrecvtime).

Запрос для сбора информации о завершении работы:

SELECT
    'station_stop' as journal_type,
    sr.id,
    sr.processid,
    sr.originator,
    sr.engine,
    sr.viruses,
    sr.rc,
    sr.infections,
    sr.errors,
    cu.str as username,
    sr.begintime,
    sr.endrecvtime as bookmark,
    sr.endtime
FROM station_run sr
LEFT JOIN cat_users cu ON sr.username = cu.id
WHERE sr.beginrecvtime < sr.endrecvtime
  AND sr.endrecvtime > ?
ORDER BY sr.endrecvtime
LIMIT 1000;
Запрос для сбора информации о запуске:

SELECT
    'station_run' as journal_type,
    sr.id,
    sr.processid,
    sr.originator,
    sr.engine,
    sr.viruses,
    sr.rc,
    sr.infections,
    sr.errors,
    cu.str as username,
    sr.beginrecvtime as bookmark,
    sr.begintime,
    sr.endrecvtime,
    sr.endtime
FROM station_run sr
LEFT JOIN cat_users cu ON sr.username = cu.id
WHERE sr.beginrecvtime > sr.endrecvtime
  AND sr.beginrecvtime > ?
ORDER BY sr.beginrecvtime
LIMIT 1000;
3.4 Состояние станций

Раздел содержит запросы для сбора информации о текущем статусе, подключениях и состоянии компонентов на конечных станциях.

3.4.1 Аварийно завершённые соединения с клиентами

Тип журнала: client_disconnect
Используемые таблицы: client_disconnect, cat_name_stations, cat_mac, cat_sid, cat_descr, cat_ldapdn, cat_reason
Описание: Журнал фиксирует факты нештатного разрыва соединений между клиентскими станциями и сервером DrWeb. Содержит код причины разрыва, длительность сессии, идентификаторы станции. Важен для диагностики проблем с сетью, стабильностью агентов и выявления атак типа "отказ в обслуживании".
События: Неожиданный разрыв сетевого соединения, таймаут сессии, принудительное отключение станции администратором, ошибки аутентификации агента.
Поле-закладка: bookmark (client_disconnect.disconnat)

SELECT
    'client_disconnect' as journal_type,
    cd.uuid,
    cd.type,
    cd.addr,
    cns.str as name,
    cm.str as mac,
    cs.str as sid,
    cdsc.str as descr,
    cldap.str as ldapdn,
    cd.disconnat as bookmark,
    cd.duration,
    cd.reason as reason_code,
    cr.str as reason_descr,
    cd.notified
FROM client_disconnect cd
LEFT JOIN cat_name_stations cns ON cd.name = cns.id
LEFT JOIN cat_mac cm ON cd.mac = cm.id
LEFT JOIN cat_sid cs ON cd.sid = cs.id
LEFT JOIN cat_descr cdsc ON cd.descr = cdsc.id
LEFT JOIN cat_ldapdn cldap ON cd.ldapdn = cldap.id
LEFT JOIN cat_reason cr ON cd.reason = cr.id
WHERE cd.disconnat > ?
ORDER BY cd.disconnat
LIMIT 1000;
3.4.2 Состояние карантина на станциях

Тип журнала: station_quarantine
Используемые таблицы: station_quarantine, cat_path, cat_users, cat_virusinfo
Описание: Актуальный снимок объектов, находящихся в карантине на каждой станции. Включает информацию о файле, причине изоляции (вирус), владельце и времени помещения. Позволяет централизованно отслеживать изолированные угрозы и управлять ими.
События: Помещение файла в карантин, автоматическая синхронизация состояния карантина между станцией и сервером.
Поле-закладка: bookmark (station_quarantine.created)

SELECT
    'station_quarantine' as journal_type,
    sq.id,
    sq.object,
    sq.qtime,
    cp.str as origname,
    sq.hash,
    sq.len,
    sq.mtime,
    cu.str as owner,
    cvi.str as virusinfo,
    sq.created as bookmark,
    sq.sync,
    sq.component
FROM station_quarantine sq
LEFT JOIN cat_path cp ON sq.origname = cp.id
LEFT JOIN cat_users cu ON sq.owner = cu.id
LEFT JOIN cat_virusinfo cvi ON sq.virusinfo = cvi.id
WHERE sq.created > ?
ORDER BY sq.created
LIMIT 1000;
3.4.3 Статистика о состоянии станций

Тип журнала: station_status
Используемые таблицы: station_status
Описание: Общие статусные события и сообщения о состоянии станций. Включает коды ошибок, предупреждения и информационные события от агентов. Используется для мониторинга работоспособности клиентской части инфраструктуры и оперативного реагирования на проблемы.
События: Ошибки связи с сервером, проблемы с обновлением антивирусных баз, предупреждения о нехватке ресурсов, информационные сообщения о работе агента.
Поле-закладка: bookmark (station_status.createtime)

SELECT
    'station_status' as journal_type,
    ss.id,
    ss.severity,
    ss.source,
    ss.reserved,
    ss.code,
    ss.args,
    ss.createtime as bookmark
FROM station_status ss
WHERE ss.createtime > ?
ORDER BY ss.createtime
LIMIT 1000;
3.4.4 Список сессий пользователей ОС на станциях

Тип журнала: station_user_logon
Используемые таблицы: station_user_logon, cat_users
Описание: Журнал регистрации пользователей в операционной системе на станциях. Фиксирует время входа, тип сессии (консольная/RDP), IP-адрес и идентификатор станции. Критичен для аудита доступа, корреляции событий безопасности с учётными записями и расследования инцидентов.
События: Вход пользователя в систему, выход из системы, переключение пользователя, подключение по RDP.
Поле-закладка: bookmark (station_user_logon.logontime)

SELECT
    'station_user_logon' as journal_type,
    sul.id,
    cu.str as username,
    sul.logontime as bookmark,
    sul.isession,
    sul.proto,
    sul.address,
    sul.sid
FROM station_user_logon sul
LEFT JOIN cat_users cu ON sul.username = cu.id
WHERE sul.logontime > ?
ORDER BY sul.logontime
LIMIT 1000;

ESET Security Management Center

Характеристики источника в Платформе Радар:

Характеристика Значение
Название ESET-Security-Management-Center
Номер (Порт) 2609
Вендор ESET
Тип SMC
Профиль сбора tcp_input

Для настройки источника выполните следующие действия:

  1. Войдите в веб-интерфейс системы ESET Protect (см. рисунок 1).

    Ввод пароля от БД

    Рисунок 1 -- Вход в систему ESET Protect

  2. Перейдите в настройки системы и откройте Advanced settings (см. рисунок 2).

    Ввод пароля от БД

    Рисунок 2 -- Вход в систему ESET Protect

  3. В блоке SYSLOG SERVER (см. рисунок 3) укажите следующие настройки:

    Ввод пароля от БД

    Рисунок 3 -- Настройка SYSLOG SERVER

    • в поле Use Syslog server установите переключатель в положение "включен";
    • в поле Host укажите IP-адрес агента сбора лог-коллектора;
    • в поле Формат выберите значение "Syslog";
    • в поле Transport выберите протокол взаимодействия: "TCP".
  4. В блоке LOGGING (см. рисунок 4) укажите следующие настройки:

    Ввод пароля от БД

    Рисунок 4 -- Настройка LOGGING

    • в поле Trace log verbosity из выпадающего списка выберите уровень детализации журналов: "Information";
    • в поле Export logs to Syslog включите экспорт журналов в формате syslog;
    • в поле Export logs format из выпадающего списка выберите значение "CEF".
  5. Нажмите кнопку SAVE.

  6. Включите источник ESET-Security-Management-Center.

FireEye HX

Характеристики источника в Платформе Радар:

Характеристика Значение
Название FireEye-HX
Номер (Порт) 4560
Вендор FireEye
Тип HX
Профиль сбора udp_input

Для настройки источника выполните следующие действия:

  1. Подключитесь к устройству FireEye HX с помощью интерфейса командной строки.
  2. Активируйте режим конфигурации:

    # enable
    # configure terminal
    
  3. Настройте отправку событий на агент сбора лог-коллектора:

    # logging <IP_address агента сбора лог-коллектора> trap none
    # logging <IP_address агента сбора лог-коллектора> trap override class cef priority info
    
  4. Сохраните изменения:

    # write mem
    
  5. Включите источник FireEye-HX.

Kaspersky Security Center. Общая информация

В Kaspersky Security Center существуют следующие типы событий:

  • Общие события - это события, которые возникают во всех управляемых программах "Лаборатории Касперского". Например, общее событие Вирусная атака. Общие события имеют строго определенный синтаксис и семантику. Общие события используются, например, в отчетах и панели мониторинга;
  • Специфические события управляемых программ "Лаборатории Касперского". Каждая управляемая программа "Лаборатории Касперского" имеет собственный набор событий.

В зависимости от условий возникновения, событию могут быть присвоены различные уровни важности. Существует четыре уровня важности событий:

  • Критическое событие – событие, указывающее на возникновение критической проблемы, которая может привести к потере данных, сбою в работе или критической ошибке;
  • Отказ функционирования – событие, указывающее на возникновение серьезной проблемы, ошибки или сбоя, произошедшего во время работы программы или выполнения процедуры;
  • Предупреждение – событие, не обязательно являющееся серьезным, однако указывающее на возможное возникновение проблемы в будущем. Чаще всего события относятся к Предупреждениям, если после их возникновения работа программы может быть восстановлена без потери данных или функциональных возможностей;
  • Информационное сообщение – событие, возникающее с целью информирования об успешном выполнении операции, корректной работе программы или завершении процедуры.

Для каждого события задано время хранения, которое можно посмотреть и изменить в Kaspersky Security Center. Некоторые события не сохраняются в базе данных "Сервера администрирования" по умолчанию, поскольку для них установленное время хранения равно нулю. Во внешние системы можно экспортировать только те события, которые хранятся в базе данных "Сервера администрирования" не менее одного дня.

Kaspersky Security Center. Отправка событий в формате syslog

Только общие события могут быть экспортированы от управляемых программ в форматах CEF и LEEF. Если необходимо экспортировать и общие и специфические события управляемых программ или пользовательский набор событий, который настроен с помощью политик управляемых программ, используйте экспорт событий в формате syslog.

Характеристики источника в Платформе Радар:

Характеристика Значение
Название Kaspersky-Security-Center-syslog
Номер (Порт) 2605
Вендор Kaspersky
Тип KSC
Профиль сбора udp_input

Настройка источника включает в себя следующие шаги:

  1. Настройка автоматического экспорта событий.
  2. Настройка событий для отправки в Платформу Радар.
  3. Включение источника в платформе.

Шаг 1. Настройка автоматического экспорта событий

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

  1. Войдите в Kaspersky Security Center и перейдите в раздел <Наименование Сервера администрирования>, события которого необходимо экспортировать.
  2. В рабочей области выбранного "Сервера администрирования" перейдите на вкладку События.
  3. Нажмите на кнопку Настроить параметры уведомлений и экспорта событий и в выпадающем списке выберите пункт Настроить экспорт в SIEM-систему. Откроется окно "Свойства событий".
  4. В открывшемся окне перейдите в раздел Экспорт событий и укажите следующие параметры экспорта:
    • включите автоматический экспорт событий в базу SIEM-системы, установив соответствующий флаг;
    • в поле SIEM-система выберите значение: "Формат Syslog (RFC 5424)";
    • в поле Адрес сервера SIEM-системы укажите IP-адрес агента сбора лог-коллектора;
    • в поле Протокол из выпадающего списка выберите протокол взаимодействия: "UDP";
    • в поле Максимальный размер сообщения в байтах укажите значение: "2048".
  5. Нажмите на кнопку ОК.

Если требуется выполнить экспорт в Платформу Радар событий, произошедших после определенной даты, нажмите на кнопку Экспортировать архив и укажите дату, начиная с которой будет выполнен экспорт событий. По умолчанию экспорт событий начинается сразу после включения.

Шаг 2. Выбор событий для отправки в Платформу Радар

Вы можете настроить экспорт событий в формате syslog в Платформу Радар на основе одного из следующих условий:

  • Выбор общих событий. Если вы выберите экспортируемые события в политике (в свойствах события или в свойствах "Сервера администрирования"), то в Платформу Радар будут переданы выбранные события, которые произошли во всех программах, управляемых данной политикой, но вам не удастся их переопределить для отдельной программы, управляемой этой политикой.
  • Выбор событий для управляемой программы. Если вы выбираете экспортируемые события для управляемой программы, установленной на управляемых устройствах, то в Платформу Радар будут переданы только события, которые произошли в этой программе.

Выбор событий для управляемой программы:

  1. Войдите в Kaspersky Security Center, перейдите в раздел Управляемые устройства и откройте вкладку Устройства.
  2. Выберите устройство, вызовите контекстное меню и выберите пункт Свойства.
  3. В открывшемся окне "Свойства устройства" выберите вкладку Программы.
  4. В списке программ выберите программу, события которой требуется экспортировать и нажмите на кнопку Свойства.
  5. В открывшемся окне "Свойства программы" выберите раздел Настройка событий.
  6. В появившемся списке событий выберите одно или несколько событий, которые требуется экспортировать в Платформу Радар и нажмите на кнопку Свойства.
  7. В открывшемся окне "Свойства событий" выполните следующие действия:
    • выберите параметр Экспортировать в SIEM-систему по протоколу Syslog для тех событий, которые нужно экспортировать в формате syslog;
    • выключите параметр Экспортировать в SIEM-систему по протоколу Syslog, чтобы отменить выбор событий для экспорта в формате syslog;
    • нажмите на кнопку ОК.
  8. Нажмите на кнопку ОК в окне свойств программы и в окне свойств устройства.

Выбор общих событий:

  1. Войдите в Kaspersky Security Center и перейдите в раздел Политики.
  2. Выберите политику, откройте контекстное меню и выберите пункт Свойства.
  3. В открывшемся окне "Свойства политики" выберите раздел Настройка событий.
  4. В списке событий выберите одно или несколько событий, которые требуется экспортировать в Платформу Радар, и нажмите на кнопку Свойства.
  5. В открывшемся окне "Свойства событий" выполните следующие действия:
    • выберите параметр Экспортировать в SIEM-систему по протоколу Syslog для тех событий, которые нужно экспортировать в формате syslog;
    • снимите флажок Экспортировать в SIEM-систему по протоколу Syslog, чтобы отменить выбор событий для экспорта в формате syslog;
    • нажмите на кнопку ОК.
  6. В окне свойств политики нажмите на кнопку ОК.

Шаг 3. Включите источник Kaspersky-Security-Center-syslog.

Kaspersky Security Center. Отправка событий через Microsoft SQL Server

Характеристики источника в Платформе Радар:

Характеристика Значение
Название Kaspersky-SecurityCenter-db
Номер (Порт) 2604
Вендор Kaspersky
Тип KSC-db
Профиль сбора odbc_input

Настройка источника включает в себя следующие шаги:

  1. Создание учетной записи Microsoft SQL Server.
  2. Предоставление доступа к БД KAV.
  3. Предоставление удаленного сетевого доступа.
  4. Настройка профиля сбора.
  5. Включение источника в платформе.

Шаг 1. Создание учетной записи Microsoft SQL Server

Примечание: создание учетной записи Microsoft SQL Server необходимо выполнять от имени учетной записи, имеющей права локального администратора ОС Windows.

  1. Откройте среду разработки MS SQL Management Studio.
  2. В окне "Connect to Server" подключитесь к экземпляру необходимой базы данных с правами администратора (см. рисунок 5).

    Подключение к экземпляру БД

    Рисунок 5 -- Подключение к экземпляру БД

  3. Откройте окно "Object Explorer" (см. рисунок 6).

    Дерево каталогов экземпляра БД

    Рисунок 6 -- Окно "Object Explorer"

  4. Выберите раздел Logins, вызовите контекстное меню и выберите пункт New Login.... Откроется окно "Login--New" (см. рисунок 7).

    Создание нового пользователя экземпляра БД

    Рисунок 7 -- Создание нового пользователя экземпляра БД

  5. В открывшемся окне перейдите в раздел General и выполните следующие настройки:

    • включите режим SQL Server authentication;
    • в поле Login name укажите имя пользователя "radaruser";
    • в полях Password и Confirm password установите и подтвердите пароль пользователя;
    • при необходимости включите использование политики паролей и задайте срок окончания действия пароля в полях Enforce password policy и Enforce password expiration;
    • в поле Default database выберите значение "KAV".
  6. Перейдите в раздел Server Roles и предоставьте пользователю роль public (см. рисунок 8).

    Предоставление роли для создаваемого пользователя

    Рисунок 8 -- Предоставление роли пользователю

  7. Перейдите в раздел User Mapping (см. рисунок 9) и выполните следующие настройки:

    Настройка прав доступа к БД KAV

    Рисунок 9 -- Настройка прав доступа к БД KAV

    • В блоке User mapped to this login предоставьте разрешение на подключение и чтение к БД KAV.
    • В блоке Database role membership for: <имя БД> установите для выбранной БД роль "db_datareader".
  8. Перейдите в раздел Securables (см. рисунок 10) и в блоке Permission for: <имя сервера СУБД> установите следующее разрешение: "Connect SQL - Grant".

    Установка разрешения на подключение к БД

    Рисунок 10 -- Установка разрешения на подключение к БД

  9. Нажмите кнопку ОК.

Шаг 2. Предоставление доступа к БД KAV

Для предоставления доступа к БД KAV выполните следующие действия:

  1. Войдите в среду разработки MS SQL Management Studio, откройте окно "Object Explorer" и выберите раздел Databases → KAV → Security → Users (см. рисунок 11):

    Функция создания пользователя в БД KAV

    Рисунок 11 -- Функция создания пользователя в БД KAV

  2. Вызовите контекстное меню и выберите пункт New User.... Откроется окно создания нового пользователя в БД KAV (см. рисунок 12).

    Регистрация пользователя в БД KAV

    Рисунок 12 -- Регистрация пользователя в БД KAV

  3. В открывшемся окне перейдите в раздел General и установите следующие параметры (см. рисунок 12):

    • в поле User name установите имя пользователя "dbuser";
    • в поле Login name выберите пользователя "radaruser".
  4. Перейдите в раздел Membership и установите для пользователя роль "db_datareader" (см. рисунок 13).

    Назначение роли

    Рисунок 13 -- Назначение роли

  5. Нажмите кнопку ОК.

Шаг 3. Предоставление удаленного сетевого доступа

  1. Откройте диспетчер конфигурации SQL Server Configuration Manager.
  2. Выберите службу SQL Server Network Configuration → Protocols for SQLEXPRESS (см. рисунок 14).

    Подключение по протоколу TCP/IP

    Рисунок 14 -- Подключение по протоколу TCP/IP

  3. В списке протоколов выберите протокол TCP/IP, вызовите контекстное меню и установите статус "Enabled" . Затем из контекстного меню выберите пункт Properties. Откроется окно "TCP/IP Properties" (см. рисунок 15).

    Пример настройки протокола для удаленного доступа к БД

    Рисунок 15 -- Пример настройки протокола для удаленного доступа к БД

  4. В открывшемся окне перейдите на вкладку IP Adresses и в блоке параметров IPAll укажите TCP порт для данного источника: "1433".

  5. Нажмите кнопку OK.
  6. Перезапустите службу MS SQL Server:

    • запустите управление службами (см. рисунок 16);

      Перезапуск службы MS SQL Server

      Рисунок 16 -- Перезапуск службы MS SQL Server

    • выберите службу SQL Server c запущенным экземпляром БД (SQLEXPRESS) и нажмите кнопку Перезапустить службу.

Шаг 4. Настройте профиль сбора для данного источника

Для настройки профиля сбора выполните следующие действия:

  1. Начните процесс настройки профиля сбора для источника 2604 Kaspersky Security Center Database и выберите модуль odbc_input (см. рисунок 17):

    Перезапуск службы MS SQL Server

    Рисунок 17 -- Создание профиля сбора. Модуль "odbc_input"

  2. В поле SQL запрос укажите запрос, которым будут запрашиваться события из базы данных KSC.

    • Пример. Запрос всех типов событий:
    SELECT
      events.event_id AS event_id,
      events.nHostId AS host_id,
      events.severity AS severity,
      events.group_name AS group_name, 
      events.event_type AS event_type,
      events.event_type_display_name AS event_name,
      FORMAT(events.rise_time AT TIME ZONE 'UTC', 'yyyy-MM-ddTHH:mm:ss.ffffffzzz') AS event_time,
      events.descr AS description,
      events.task_display_name AS task_name,
      events.task_id AS task_id,
      events.product_displ_version AS product_version,
      events.par1,
      events.par2,
      events.par3,
      events.par4,
      events.par5,
      events.par6,
      events.par7,
      events.par8,
      events.par9,
      events.product_name,
      hosts_view.strDisplayName AS hostname,
      dnsdomains.strName AS domain,
      fqdns.wstrfqdn AS fqdn,
      CAST(((hosts.nIpAddress / 16777216) & 255) AS varchar(4)) + '.' +
      CAST(((hosts.nIpAddress / 65536) & 255) AS varchar(4)) + '.' +
      CAST(((hosts.nIpAddress / 256) & 255) AS varchar(4)) + '.' +
      CAST(((hosts.nIpAddress) & 255) AS varchar(4)) AS ip_address,
      hosts_view.nPlatformType AS platform_id,
      hosts_view.tmLastInfoUpdate AS last_update,
      hosts_view.nVirusCount AS virus_count
    FROM KAV.dbo.ev_event AS events
    JOIN KAV.dbo.Hosts AS hosts ON hosts.nId = events.nHostId
    JOIN KAV.dbo.v_hosts AS hosts_view ON hosts_view.nId = hosts.nId
    JOIN KAV.dbo.v_hst_fqdns AS fqdns ON fqdns.nId = hosts.nId
    RIGHT JOIN KAV.dbo.DnsDomains AS dnsdomains ON dnsdomains.nId = hosts.nDnsDomain
    WHERE event_id > ?;
    
    • Пример. Запрос событий с фильтром по типу:
    SELECT
      events.event_id AS event_id,
      events.nHostId AS host_id,
      events.severity AS severity,
      events.group_name AS group_name, 
      events.event_type AS event_type,
      events.event_type_display_name AS event_name,
      FORMAT(events.rise_time AT TIME ZONE 'UTC', 'yyyy-MM-ddTHH:mm:ss.ffffffzzz') AS event_time,
      events.descr AS description,
      events.task_display_name AS task_name,
      events.task_id AS task_id,
      events.product_displ_version AS product_version,
      events.par1,
      events.par2,
      events.par3,
      events.par4,
      events.par5,
      events.par6,
      events.par7,
      events.par8,
      events.par9,
      events.product_name,
      hosts_view.strDisplayName AS hostname,
      dnsdomains.strName AS domain,
      fqdns.wstrfqdn AS fqdn,
      CAST(((hosts.nIpAddress / 16777216) & 255) AS varchar(4)) + '.' +
      CAST(((hosts.nIpAddress / 65536) & 255) AS varchar(4)) + '.' +
      CAST(((hosts.nIpAddress / 256) & 255) AS varchar(4)) + '.' +
      CAST(((hosts.nIpAddress) & 255) AS varchar(4)) AS ip_address,
      hosts_view.nPlatformType AS platform_id,
      hosts_view.tmLastInfoUpdate AS last_update,
      hosts_view.nVirusCount AS virus_count
    FROM KAV.dbo.ev_event AS events
    JOIN KAV.dbo.Hosts AS hosts ON hosts.nId = events.nHostId
    JOIN KAV.dbo.v_hosts AS hosts_view ON hosts_view.nId = hosts.nId
    JOIN KAV.dbo.v_hst_fqdns AS fqdns ON fqdns.nId = hosts.nId
    RIGHT JOIN KAV.dbo.DnsDomains AS dnsdomains ON dnsdomains.nId = hosts.nDnsDomain
    WHERE events.event_type IN (
        'FSEE_AKPLUGIN_AVDB_TOTALY_EXPIRED',  
        'FSEE_AKPLUGIN_CRITICAL_PATCHES_AVAILABLE',  
        'FSEE_AKPLUGIN_LICENSE_ERROR',  
        'FSEE_AKPLUGIN_OBJECT_BACKED_UP',  
        'FSEE_AKPLUGIN_OBJECT_FOUND',  
        'FSEE_AKPLUGIN_OBJECT_NOT_DELETED',  
        'FSEE_AKPLUGIN_OBJECT_NOT_ISOLATED',  
        'FSEE_AKPLUGIN_OBJECT_NOT_PROCESSED',  
        'FSEE_AKPLUGIN_PEP_APPLICATION_AUDIT_DENIED',  
        'FSEE_AKPLUGIN_TASK_LICENSE_ERROR',  
        'FSEE_AKPLUGIN_UPDATE_ERROR',  
        'GNRL_EV_ANTIVIRAL_BASES_EXPIRED',  
        'GNRL_EV_APP_LAUNCH_TESTED_DENIED',  
        'GNRL_EV_APPLICATION_LAUNCH_DENIED',  
        'GNRL_EV_APPLICATION_WAS_RESTARTED',  
        'GNRL_EV_ATTACK_DETECTED',  
        'GNRL_EV_DEVCTRL_DEV_PLUGGED',  
        'GNRL_EV_DEVCTRL_DEV_UNPLUGGED',  
        'GNRL_EV_FULLSCAN_STATUS_NOTIFICATION',  
        'GNRL_EV_INTERNAL_ERROR',  
        'GNRL_EV_LICENSE_EXPIRATION',  
        'GNRL_EV_OBJECT_BLOCKED',  
        'GNRL_EV_OBJECT_CURED',  
        'GNRL_EV_OBJECT_DELETED',  
        'GNRL_EV_OBJECT_NOTCURED',  
        'GNRL_EV_OBJECT_QUARANTINED',  
        'GNRL_EV_OBJECT_REPORTED',  
        'GNRL_EV_PASSWD_ARCHIVE_FOUND',  
        'GNRL_EV_PTOTECTION_LEVEL_CHANGED',  
        'GNRL_EV_SUSPICIOUS_OBJECT_FOUND',  
        'GNRL_EV_VIRUS_FOUND',  
        'GNRL_EV_VIRUS_FOUND_AND_BLOCKED',  
        'GNRL_EV_VIRUS_FOUND_BY_KSN',  
        'GNRL_EV_VIRUS_OUTBREAK',  
        'KLAUD_EV_ADMGROUP_CHANGED',  
        'KLAUD_EV_OBJECTMODIFY',  
        'KLAUD_EV_SERVERCONNECT',  
        'KLAUD_EV_SERVERDISCONNECT',  
        'KLAUD_EV_SIEM_TEST_FAILED',  
        'KLAUD_EV_TASK_STATE_CHANGED',  
        'KLEVP_GroupTaskSyncState',  
        'KLNAG_EV_DEVICE_ARRIVAL',  
        'KLNAG_EV_DEVICE_REMOVE',  
        'KLNAG_EV_INV_APP_INSTALLED',  
        'KLNAG_EV_INV_APP_UNINSTALLED',  
        'KLNAG_EV_INV_CMPTR_APP_INSTALLED',  
        'KLPRCI_TaskState',  
        'KLSRV_DATABASE_UNAVAILABLE',  
        'KLSRV_DISK_FULL',  
        'KLSRV_EV_LICENSE_SRV_EXPIRE_SOON',  
        'KLSRV_EV_LICENSE_SRV_LIMITED_MODE',  
        'KLSRV_EV_MASTER_SRV_CONNECTED',  
        'KLSRV_EV_MASTER_SRV_DISCONNECTED',  
        'KLSRV_EVENT_HOSTS_CONFLICT',  
        'KLSRV_EVENT_HOSTS_NEW_DETECTED',  
        'KLSRV_EVENT_HOSTS_NOT_VISIBLE',  
        'KLSRV_HOST_MOVED_WITH_RULE_EX',  
        'KLSRV_HOST_STATUS_CRITICAL',  
        'KLSRV_HOST_STATUS_WARNING',  
        'KLSRV_INVISIBLE_HOSTS_REMOVED',  
        'KLSRV_NO_SPACE_ON_VOLUMES',  
        'KLSRV_RUNTIME_ERROR',  
        'KLSRV_SEAMLESS_UPDATE_REGISTERED',  
        'KLSRV_UPD_BASES_UPDATED',  
        'KSNPROXY_STARTED_CON_CHK_FAILED',  
        'KSNPROXY_STARTED_CON_CHK_OK',  
        'KSNPROXY_STOPPED',  
        'KSWS_OBJECT_DELETED_ONREBOOT',  
        'ServerCertificateRenewed',  
        '000000cc',  
        '000000cf',  
        '000000d1',  
        '000000d2',  
        '000000d3',  
        '000000d4',  
        '000000d5',  
        '000000d6',  
        '000000d8',  
        '000000d9',  
        '000000da',  
        '000000db',  
        '000000dc',  
        '000000dd',  
        '000000de',  
        '000000df',  
        '000000fc',  
        '0000012f',  
        '00000134',  
        '00000136',  
        '0000013a',  
        '00000141',  
        '0000014d',  
        '0000014e',  
        '0000014f',  
        '00000150',  
        '00000191',  
        '00000192',  
        '00000193',  
        '000001c4',  
        '000001c7',  
        '000002c3',  
        '000002c4',  
        '00000321',  
        '000003a3',  
        '000003e9',  
        '000003fa',  
        '0000051e',  
        '000007d0',  
        '000007d4',  
        '000007e4',  
        '000007e5',  
        '000007e6',  
        '000007e7'
    )
    AND event_id > ?;
    
  3. В поле Поле, которое будет использоваться как закладка для сохранения позиции укажите значение event_id, оно используется для сохранения позиции вычитки между запросами.

  4. В блоке Данные для подключения (см. рисунок 18) выполните следующие настройки:

    Перезапуск службы MS SQL Server

    Рисунок 18 -- Создание профиля сбора. Модуль "odbc_input". Блок "Данные для подключения"

    • в поле Драйвер для подключения выберите значение ODBC Driver 17 for SQL Server;
    • остальные поля заполните соответствующими сетевыми и учетными данными для подключения.
  5. Сохраните профиль сбора.

Шаг 5. Включите источник Kaspersky-SecurityCenter-db.

Kaspersky Security Center. Отправка событий через MariaDB

Характеристики источника в Платформе Радар:

Характеристика Значение
Название Kaspersky-SecurityCenter-db
Номер (Порт) 2604
Вендор Kaspersky
Тип KSC-db
Профиль сбора odbc_input

Для подключения в качестве источника Kaspersky Security Center, работающего на базе данных MariaDB, выполните следующие действия:

  1. Войдите в CMD MariaDB (см. рисунок 19).

    Запуск CMD MariaDB

    Рисунок 19 -- CMD MariaDB.

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

    CREATE USER '<имя пользователя>'@'<ip-адрес агента сбора лог-коллектора>' IDENTIFIED BY '<Пароль Пользователя>';
    
  3. Выдайте права на чтение таблиц в базе Kaspersky Security Center:

    GRANT SELECT ON KAV.ev_event TO '<имя пользователя>'@'<ip-адрес агента сбора лог-коллектора>' IDENTIFIED BY '<Пароль Пользователя>';  
    GRANT SELECT ON KAV.dnsdomains TO '<имя пользователя>'@'<ip-адрес агента сбора лог-коллектора>' IDENTIFIED BY '<Пароль Пользователя>';  
    GRANT SELECT ON KAV.v_hst_fqdns TO '<имя пользователя>'@'<ip-адрес агента сбора лог-коллектора>' IDENTIFIED BY '<Пароль Пользователя>';  
    GRANT SELECT ON KAV.hosts TO '<имя пользователя>'@'<ip-адрес агента сбора лог-коллектора>' IDENTIFIED BY '<Пароль Пользователя>';  
    GRANT SELECT ON KAV.v_hosts TO '<имя пользователя>'@'<ip-адрес агента сбора лог-коллектора>' IDENTIFIED BY '<Пароль Пользователя>';
    
  4. Запустите веб-интерфейс Платформы Радар и выполните следующие действия:

    • перейдите в раздел Администрирование → Кластер → Узлы и перейдите к настройкам узла, на котором расположен агент сбора лог-коллектора;
    • в разделе Секреты Агента добавьте два секрета:
      • для "Имени пользователя" укажите в соответствующих полях "Название секрета" и "Значение секрета";
      • для "Пароля пользователя" укажите в соответствующих полях "Название секрета" и "Значение секрета".
  5. Начните процесс настройки профиля сбора для источника 2604 Kaspersky Security Center Database и выберите модуль odbc_input (см. рисунок 20):

    Перезапуск службы MS SQL Server

    Рисунок 20 -- Создание профиля сбора. Модуль "odbc_input"

  6. В поле SQL запрос укажите запрос, которым будут запрашиваться события из базы данных KSC.

    • Пример. Запрос всех типов событий:
    SELECT
      events.event_id AS event_id,
      events.nHostId AS host_id,
      events.severity AS severity,
      events.group_name AS group_name, 
      events.event_type AS event_type,
      events.event_type_display_name AS event_name,
      DATE_FORMAT(CONVERT_TZ(events.rise_time, @@session.time_zone, '+00:00'),'%Y-%m-%dT%H:%i:%s.%fZ') AS event_time,
      events.descr AS description,
      events.task_display_name AS task_name,
      events.task_id AS task_id,
      events.product_displ_version AS product_version,
      events.par1,
      events.par2,
      events.par3,
      events.par4,
      events.par5,
      events.par6,
      events.par7,
      events.par8,
      events.par9,
      events.product_name,
      hosts_view.strDisplayName AS hostname,
      dnsdomains.strName AS domain,
      fqdns.wstrfqdn AS fqdn,
      CONCAT(CAST(((hosts.nIpAddress DIV 16777216) & 255) AS CHAR),
      '.',
      CAST(((hosts.nIpAddress DIV 65536) & 255) AS CHAR),
      '.',
      CAST(((hosts.nIpAddress DIV 256) & 255) AS CHAR),
      '.',
      CAST((hosts.nIpAddress & 255) AS CHAR)
      ) AS ip_address,
      hosts_view.nPlatformType AS platform_id,
      hosts_view.tmLastInfoUpdate AS last_update,
      hosts_view.nVirusCount AS virus_count
    FROM `KAV`.`ev_event` AS events
    JOIN `KAV`.`Hosts` AS hosts ON hosts.nId = events.nHostId
    JOIN `KAV`.`v_hosts` AS hosts_view ON hosts_view.nId = hosts.nId
    JOIN `KAV`.`v_hst_fqdns` AS fqdns ON fqdns.nId = hosts.nId
    RIGHT JOIN `KAV`.`DnsDomains` AS dnsdomains ON dnsdomains.nId = hosts.nDnsDomain
    WHERE event_id > ?;
    
    • Пример. Запрос событий с фильтром по типу:
    SELECT
      events.event_id AS event_id,
      events.nHostId AS host_id,
      events.severity AS severity,
      events.group_name AS group_name, 
      events.event_type AS event_type,
      events.event_type_display_name AS event_name,
      DATE_FORMAT(CONVERT_TZ(events.rise_time, @@session.time_zone, '+00:00'),'%Y-%m-%dT%H:%i:%s.%fZ') AS event_time,
      events.descr AS description,
      events.task_display_name AS task_name,
      events.task_id AS task_id,
      events.product_displ_version AS product_version,
      events.par1,
      events.par2,
      events.par3,
      events.par4,
      events.par5,
      events.par6,
      events.par7,
      events.par8,
      events.par9,
      events.product_name,
      hosts_view.strDisplayName AS hostname,
      dnsdomains.strName AS domain,
      fqdns.wstrfqdn AS fqdn,
      CONCAT(CAST(((hosts.nIpAddress DIV 16777216) & 255) AS CHAR),
      '.',
      CAST(((hosts.nIpAddress DIV 65536) & 255) AS CHAR),
      '.',
      CAST(((hosts.nIpAddress DIV 256) & 255) AS CHAR),
      '.',
      CAST((hosts.nIpAddress & 255) AS CHAR)
      ) AS ip_address,
      hosts_view.nPlatformType AS platform_id,
      hosts_view.tmLastInfoUpdate AS last_update,
      hosts_view.nVirusCount AS virus_count
    FROM `KAV`.`ev_event` AS events
    JOIN `KAV`.`Hosts` AS hosts ON hosts.nId = events.nHostId
    JOIN `KAV`.`v_hosts` AS hosts_view ON hosts_view.nId = hosts.nId
    JOIN `KAV`.`v_hst_fqdns` AS fqdns ON fqdns.nId = hosts.nId
    RIGHT JOIN `KAV`.`DnsDomains` AS dnsdomains ON dnsdomains.nId = hosts.nDnsDomain
    WHERE events.event_type IN (
        'FSEE_AKPLUGIN_AVDB_TOTALY_EXPIRED',  
        'FSEE_AKPLUGIN_CRITICAL_PATCHES_AVAILABLE',  
        'FSEE_AKPLUGIN_LICENSE_ERROR',  
        'FSEE_AKPLUGIN_OBJECT_BACKED_UP',  
        'FSEE_AKPLUGIN_OBJECT_FOUND',  
        'FSEE_AKPLUGIN_OBJECT_NOT_DELETED',  
        'FSEE_AKPLUGIN_OBJECT_NOT_ISOLATED',  
        'FSEE_AKPLUGIN_OBJECT_NOT_PROCESSED',  
        'FSEE_AKPLUGIN_PEP_APPLICATION_AUDIT_DENIED',  
        'FSEE_AKPLUGIN_TASK_LICENSE_ERROR',  
        'FSEE_AKPLUGIN_UPDATE_ERROR',  
        'GNRL_EV_ANTIVIRAL_BASES_EXPIRED',  
        'GNRL_EV_APP_LAUNCH_TESTED_DENIED',  
        'GNRL_EV_APPLICATION_LAUNCH_DENIED',  
        'GNRL_EV_APPLICATION_WAS_RESTARTED',  
        'GNRL_EV_ATTACK_DETECTED',  
        'GNRL_EV_DEVCTRL_DEV_PLUGGED',  
        'GNRL_EV_DEVCTRL_DEV_UNPLUGGED',  
        'GNRL_EV_FULLSCAN_STATUS_NOTIFICATION',  
        'GNRL_EV_INTERNAL_ERROR',  
        'GNRL_EV_LICENSE_EXPIRATION',  
        'GNRL_EV_OBJECT_BLOCKED',  
        'GNRL_EV_OBJECT_CURED',  
        'GNRL_EV_OBJECT_DELETED',  
        'GNRL_EV_OBJECT_NOTCURED',  
        'GNRL_EV_OBJECT_QUARANTINED',  
        'GNRL_EV_OBJECT_REPORTED',  
        'GNRL_EV_PASSWD_ARCHIVE_FOUND',  
        'GNRL_EV_PTOTECTION_LEVEL_CHANGED',  
        'GNRL_EV_SUSPICIOUS_OBJECT_FOUND',  
        'GNRL_EV_VIRUS_FOUND',  
        'GNRL_EV_VIRUS_FOUND_AND_BLOCKED',  
        'GNRL_EV_VIRUS_FOUND_BY_KSN',  
        'GNRL_EV_VIRUS_OUTBREAK',  
        'KLAUD_EV_ADMGROUP_CHANGED',  
        'KLAUD_EV_OBJECTMODIFY',  
        'KLAUD_EV_SERVERCONNECT',  
        'KLAUD_EV_SERVERDISCONNECT',  
        'KLAUD_EV_SIEM_TEST_FAILED',  
        'KLAUD_EV_TASK_STATE_CHANGED',  
        'KLEVP_GroupTaskSyncState',  
        'KLNAG_EV_DEVICE_ARRIVAL',  
        'KLNAG_EV_DEVICE_REMOVE',  
        'KLNAG_EV_INV_APP_INSTALLED',  
        'KLNAG_EV_INV_APP_UNINSTALLED',  
        'KLNAG_EV_INV_CMPTR_APP_INSTALLED',  
        'KLPRCI_TaskState',  
        'KLSRV_DATABASE_UNAVAILABLE',  
        'KLSRV_DISK_FULL',  
        'KLSRV_EV_LICENSE_SRV_EXPIRE_SOON',  
        'KLSRV_EV_LICENSE_SRV_LIMITED_MODE',  
        'KLSRV_EV_MASTER_SRV_CONNECTED',  
        'KLSRV_EV_MASTER_SRV_DISCONNECTED',  
        'KLSRV_EVENT_HOSTS_CONFLICT',  
        'KLSRV_EVENT_HOSTS_NEW_DETECTED',  
        'KLSRV_EVENT_HOSTS_NOT_VISIBLE',  
        'KLSRV_HOST_MOVED_WITH_RULE_EX',  
        'KLSRV_HOST_STATUS_CRITICAL',  
        'KLSRV_HOST_STATUS_WARNING',  
        'KLSRV_INVISIBLE_HOSTS_REMOVED',  
        'KLSRV_NO_SPACE_ON_VOLUMES',  
        'KLSRV_RUNTIME_ERROR',  
        'KLSRV_SEAMLESS_UPDATE_REGISTERED',  
        'KLSRV_UPD_BASES_UPDATED',  
        'KSNPROXY_STARTED_CON_CHK_FAILED',  
        'KSNPROXY_STARTED_CON_CHK_OK',  
        'KSNPROXY_STOPPED',  
        'KSWS_OBJECT_DELETED_ONREBOOT',  
        'ServerCertificateRenewed',  
        '000000cc',  
        '000000cf',  
        '000000d1',  
        '000000d2',  
        '000000d3',  
        '000000d4',  
        '000000d5',  
        '000000d6',  
        '000000d8',  
        '000000d9',  
        '000000da',  
        '000000db',  
        '000000dc',  
        '000000dd',  
        '000000de',  
        '000000df',  
        '000000fc',  
        '0000012f',  
        '00000134',  
        '00000136',  
        '0000013a',  
        '00000141',  
        '0000014d',  
        '0000014e',  
        '0000014f',  
        '00000150',  
        '00000191',  
        '00000192',  
        '00000193',  
        '000001c4',  
        '000001c7',  
        '000002c3',  
        '000002c4',  
        '00000321',  
        '000003a3',  
        '000003e9',  
        '000003fa',  
        '0000051e',  
        '000007d0',  
        '000007d4',  
        '000007e4',  
        '000007e5',  
        '000007e6',  
        '000007e7'
    )
    AND event_id > ?;
    
  7. В поле Поле, которое будет использоваться как закладка для сохранения позиции укажите значение event_id, оно используется для сохранения позиции вычитки между запросами.

  8. В блоке Данные для подключения (см. рисунок 21) выполните следующие настройки:

    Перезапуск службы MS SQL Server

    Рисунок 21 -- Создание профиля сбора. Модуль "odbc_input". Блок "Данные для подключения"

    • в поле Драйвер для подключения выберите значение MySQL ODBC 8.0 ANSI Driver;
    • остальные поля заполните соответствующими сетевыми и учетными данными для подключения.
  9. Сохраните профиль сбора.

  10. Включите источник Kaspersky-SecurityCenter-db.

Microsoft Windows AppLocker

Характеристики источника в Платформе Радар:

Характеристика Значение
Название Microsoft-Windows-AppLocker
Номер (Порт) 1528
Вендор Microsoft
Тип AppLocker
Профиль сбора eventlog_input_local

Примечание: агент сбора лог-коллектора должен быть установлен на том же сервере, где и Microsoft Windows AppLocker.

Для настройки источника выполните следующие действия:

  1. Включите службы Application Management и Application Identity.
  2. Откройте локальные политики безопасности (secpol.msc) и перейдите в раздел Application Control Policies → AppLocker → Configure rule enforcement (см. рисунок 22).

    Ввод пароля от БД

    Рисунок 22 -- Local Security Policy. Configure rule enforcement

  3. Откроется окно "AppLocker Properties" (см. рисунок 23).

    Ввод пароля от БД

    Рисунок 23 -- Окно "AppLocker Properties"

  4. Выполните в окне следующие действия:

    • в поле Executable rules установите флаг "Configured" и из выпадающего списка выберите значение "Enforce rules";
    • в полях Windows installer rules, Script rules, Packaged app Rules установите флаг "Configured" и из выпадающего списка выберите значение "Audit only";
    • нажмите кнопку OK. Будут созданны соответствующие наборы правил.
  5. Наполните созданные наборы правил Executable rules, Windows installer rules, Script rules, Packaged app Rules одним из следующих способом:

    • автоматически;
    • вручную.
  6. Способ 1. Автоматически:

    • В разделе Application Control Policies → AppLocker выберите необходимый набор правил, вызовите контекстное меню и выберите пункт Automatically Generate Rules... (см. рисунок 24).

      Ввод пароля от БД

      Рисунок 24 -- Выбор способа генерации правил

    • На первом шаге укажите пользователя или группу пользователей, на кого будет применяться правило и путь к файлам для анализа (см. рисунок 25).

      Ввод пароля от БД

      Рисунок 25 -- Автоматическая генерация правил. Шаг 1

      Нажмите кнопку Next.

    • На втором шаге укажите, как будут анализироваться файлы: по сертификату, по хэшу или по пути (см. рисунок 26).

      Ввод пароля от БД

      Рисунок 262 -- Автоматическая генерация правил. Шаг 2

      Нажмите кнопку Next.

    • Проверьте информацию, указанную в правиле, и нажмите кнопку Create (см. рисунок 27).

      Ввод пароля от БД

      Рисунок 27 -- Автоматическая генерация правил. Шаг 3

      Правило будет создано.

    • Повторите действия для каждого набора правил Executable rules, Windows installer rules, Script rules, Packaged app Rules.

  7. Способ 2. Вручную:

    • В разделе Application Control Policies → AppLocker выберите необходимый набор правил, вызовите контекстное меню и выберите пункт New Rule (см. рисунок 20). Отроется окно "Create Rules" (см. рисунок 28).

      Ввод пароля от БД

      Рисунок 28 -- Ручная генерация правил. Шаг 1

      Ознакомьтесь с информацией в окне и нажмите кнопку Next.

    • На втором шаге выберите действие (разрешить или запретить запуск) и пользователя (группу пользователей), на кого применится правило (см. рисунок 29).

      Ввод пароля от БД

      Рисунок 29 -- Ручная генерация правил. Шаг 2

      Нажмите кнопку Next.

    • На третьем шаге выберите тип проверки файла: по сертификату, либо по пути, либо по хэшу (см. рисунок30).

      Ввод пароля от БД

      Рисунок 30 -- Ручная генерация правил. Шаг 3

      Нажмите кнопку Next.

    • На четвертом шаге в зависимости от выбранного типа проверки файлов добавьте соответствующее условие (путь, либо хэш, либо сертификат) (см. рисунок 31).

      Ввод пароля от БД

      Рисунок 31 -- Ручная генерация правил. Шаг 4

      Нажмите кнопку Next.

    • На пятом шаге при необходимости добавьте исключения из правила (см. рисунок 32.

      Ввод пароля от БД

      Рисунок 32 -- Ручная генерация правил. Шаг 5

      Нажмите кнопку Next.

    • На шестом шаге укажите наименование правила и нажмите кнопку Create (см. рисунок 33).

      Ввод пароля от БД

      Рисунок 33 -- Ручная генерация правил. Шаг 6

      Правило будет создано.

    • Повторите действия для каждого набора правил Executable rules, Windows installer rules, Script rules, Packaged app Rules.

  8. Примените политику, выполнив следующую команду в консоли:

    gpupdate /force
    
  9. Проверить наличие событий в разделе AppLocker: EventViewer.msc → Application and Service Log → Microsoft → Windows → AppLocker (см. рисунок 34).

    Ввод пароля от БД

    Рисунок 34 -- Проверка наличия событий

  10. Включите источник Microsoft-Windows-AppLocker.

Microsoft Windows Defender

Характеристики источника в Платформе Радар:

Характеристика Значение
Название Microsoft-Windows-Defender
Номер (Порт) 1511
Вендор Microsoft
Тип Defender
Профиль сбора eventlog_input_local

Примечание: события от источника включены по умолчанию и записываются в журнал Windows по пути Microsoft-Windows-Windows Defender/Operational. Агент сбора лог-коллектора должен быть установлен на том же сервере, где и Microsoft Windows Defender.

Включите источник Microsoft-Windows-Defender.

Microsoft Windows Firewall

Характеристики источника в Платформе Радар:

Характеристика Значение
Название Microsoft-Windows-Firewall
Номер (Порт) 1512
Вендор Microsoft
Тип Firewall
Профиль сбора eventlog_input_local

Примечание: агент сбора лог-коллектора должен быть установлен на том же сервере, где и Microsoft Windows Firewall.

Для настройки источника выполните следующие действия:

  1. Запустите консоль Powershell от имени администратора.
  2. Включите журналирование для Windows Firewall (для каждого профиля, журналирование включается отдельно):

    Set-NetFireWallProfile -Profile Domain -LogBlocked True -LogAllowed True -LogMaxSize 4096 -LogFileName "$env:systemroot\system32\LogFiles\Firewall\pfirewall.log"
    Set-NetFireWallProfile -Profile Public -LogBlocked True -LogAllowed True -LogMaxSize 4096 -LogFileName "$env:systemroot\system32\LogFiles\Firewall\pfirewall.log"
    Set-NetFireWallProfile -Profile Private -LogBlocked True -LogAllowed True -LogMaxSize 4096 -LogFileName "$env:systemroot\system32\LogFiles\Firewall\pfirewall.log"
    
  3. Включите источник Microsoft-Windows-Firewall.