Перейти к основному содержимому
Версия: 4.3.58

Подключение с помощью Агента журнала событий Windows (WMI)

Конфигурация

### schema: komrad/wmi-agent/4.1.33


# Идентификатор предприятия
tenant_id: 75
# Идентификатор установки
setup_id: komrad-local
# Метка безопасности, аналог Oracle Security Label
sl: 715
bus:
servers:
- nats://localhost:3490
user: komrad
password: pass
user-credentials: ""
tls:
disable: false
ServerName: ""
TrustedCA: "C:\\Program Files\\Echelon\\komrad\\certs\\ca.pem"
Cert: "C:\\Program Files\\Echelon\\komrad\\certs\\client.pem"
CertKey: "C:\\Program Files\\Echelon\\komrad\\certs\\client-key.pem"
system-pool: false
min-version: "1.3"
client-auth: require-and-verify-client-cert
tuning:
# Возможность установить время ожидания при соединении.
connect-timeout: 10s
# Возможность установить максимальное количество попыток повторного подключения.
max-reconnects: 1000000
# Устанавливает максимальное количество времени, в течение которого мы будем ждать ответа.
max-wait: 0s
# Параметр для установки периода для клиентских команд ping.
ping-interval: 2m
# Возможность установить максимальное количество запросов ping,
# которые могут остаться без ответа сервера, прежде чем закрыть соединение.
max-pings-outstanding: 2
# Устанавливает максимальное количество незавершенных асинхронных публикаций,
# которые могут быть одновременно запущены.
publish-async-max-pending: 0
# Интервал переподключения.
reconnect-interval: 5s
# Возможность установить время ожидания между попытками повторного подключения.
reconnect-wait: 1s
# Устанавливает соединение в состояние повторного подключения, если оно не может подключиться.
retry-on-failed-connect: false
# Таймаут между попытками рестарта коллектора во время неустойчивой связи с центральным сервером KOMRAD
restart-timeout: 1s
# local_ip: 10.0.0.1
# Настройки пакетного сбора данных - включает накопление событий в пакеты
# для оптимизации скорости передачи информации.
# Например, увеличение параметра timeout до 3s и limit до 20000 позволяет достигать 100 000 EPS.
batching:
# предельный интервал времени накопления пакетов, по умолчанию 1 секунда
timeout: 1s
# предельный лимит событий в пакете, по умолчанию - 100
limit: 1000
# Настройки write-ahead-log (WAL) - механизма записи на диск событий
# в случае разрыва соединения с сетью. События пишутся на диск в сжатом виде, в случае
# восстановления соединения с сетью сжатые пакеты событий направляются в шину событий KOMRAD.
# Рекомендуется контролировать объем свободного дискового пространства на узле с коллектором/агентом.
wal:
# Путь до папки в которой будет храниться конфигурационная информация коллектора/агента.
# Конфигурация хранится в сжатом, зашифрованном виде.
# Если путь не указан, будет выбрана папка по-умолчанию:
# - для Windows:
# C:\Program Files\Echelon\komrad\<name>-collector\.wal
# - для Linux:
# /var/lib/echelon/komrad/<name>-collector/.wal
# В случае установки нескольких одинаковых коллекторов на один хост необходимо устанавливать
# раздельные пути до хранилища каждого коллектора, путь к хранилищу одного коллектора не должен
# быть вложенным в путь до хранилища другого коллектора.
path: "C:\\Program Files\\Echelon\\komrad\\wmi-agent\\.wal"
# no-copy -- когда равен true включается режим оптимизации работы с памятью,
# изменять значение стоит лишь при рекомендации Службы Поддержки.
no-copy: true
# segment-size -- размер одного сегмента WAL, по умолчанию 4 Кб,
# изменять значение стоит лишь при рекомендации Службы Поддержки.
segment-size: 4MB
# max-length - максимальная длина WAL, если равно 0 длина не ограничена.
max-length: 0
# Настройки вывода логов приложения.
# Сервис может отправлять логи сразу в несколько целей -- файл, системный журнал ОС, консоль, syslog.
# Включить вывод логов в консоль для режима отладки приложения
# - filename: stdout
# format: color
# filter: ""
# levels: [all]
# Включить вывод логов в файл с ротацией.
# ВАЖНО: старые файлы с логами не удаляются, необходимо производить мониторинг использования диска.
# - filename: "/var/log/echelon/komrad/service.log"
# format: json
# возможно задать выражение для фильтрации выводимых логов
# filter: ""
# levels: [info, error, warn, panic, fatal]
# Отправлять критические сообщения в Журнал Windows.
# ВНИМАНИЕ: не стоит включать levels (info, warn, debug, error) в windowseventlog , это может
# крайне негативно сказаться на быстродействии и доступности узла.
# - filename: windowseventlog
# format: json
# levels: [panic, fatal]
log:
- filename: "winfile:///C:\\Program Files\\Echelon\\komrad\\logs\\wmi-agent.log"
format: json
filter: ""
levels:
- all
# Настройки дискового хранилища конфигурационной информации коллектора/агента
storage:
# Путь до папки в которой будет храниться конфигурационная информация коллектора/агента.
# Конфигурация хранится в сжатом, зашифрованном виде.
# Если путь не указан, будет выбрана папка по-умолчанию:
# - для Windows:
# C:\Program Files\Echelon\komrad\<name>-collector\.storage
# - для Linux:
# /var/lib/echelon/komrad/<name>-collector/.storage
# В случае установки нескольких одинаковых коллекторов на один хост необходимо устанавливать
# раздельные пути до хранилища каждого коллектора, путь к хранилищу одного коллектора не должен
# быть вложенным в путь до хранилища другого коллектора.
path: "C:\\Program Files\\Echelon\\komrad\\wmi-agent\\.storage"
compress: false
# Включить режим синхронной записи каждого результата на диск, по-умолчанию отключено
sync-writes: false
# Путь к базе данных GeoIP
geo-ip:
path: "C:\\Program Files\\Echelon\\Komrad\\geoip\\db.mmdb"
# Проверка на корректность базы данных geoIP при инициализации geodata.
# Полезная опция, чтобы удостоверится, что база mmdb не содержит ошибок.
# Однако верификация длится от 20 секунд до 2х минут в зависимости от ресурсов
# и размера базы геоданных. По умолчанию опция отключена.
verify-on-start: false
# Отключить запись исходного текста события в поле Raw.
# Большинство требований регулятора требуют сохранять текст исходного события.
# Сохранение исходного текста события влияет на размер БД для хранения событий,
# возможно повышение требований в 2-10 раз.
# Коллекторы WMI, SQL, SNMP, xFLOW всё, что получают от протоколов источников
# сбора сохраняют в нормализованные поля события. Поле Raw заполняется
# синтетическими данными -- нормализованные поля в формате JSON.
# Рекомендуется установить `disable-raw-field: true` для коллекторов типа WMI, SQL, SNMP, xFLOW
# для сохранения затрат на хранение избыточных данных.
# Коллекторы Syslog и File имеют доступ к исходному тексту события, отключать запись в Raw
# для этих коллекторов невозможно.
disable-raw-field: false
# Использовать при работе только в локальном автономном режиме
offline: false
events_file: ""

Подключение нового WMI-агента

Предварительные условия:

  • На узле-источнике (машине под управлением Windows) скопирован файл WMI-агента и конфигурационный файл
  • Отсутствуют какие-либо ограничения на передачу трафика по выбранному порту между источником событий ИБ и сервером KOMRAD
  • Наличие лицензии (разрешения) на использование WMI-агента (см. Обзор пользовательского интерфейса ⇒ О программе ⇒ Информация о программе)
  • WMI-агент работает с Windows Server 2012 / 2016 / 2019 / 2022. Использовать более старые версии крайне не рекомендуется.
  • Работа WMI-агента была успешно протестирована на Windows 10 64-bit, рекомендуется использовать аналогичную версию ОС

Для установки WMI-агента на определенный узел, необходимо:

  1. На узле создать директорию, в которую нужно переместить исполняемый файл wmi-agent.exe и конфигурационный файл wmi-agent.yaml из дистрибутива KOMRAD

  2. В файле wmi-agent.yaml в параметре bus-url задать IP-адрес сервера KOMRAD:

    bus:
    servers:
    - nats://IP_KOMRAD:3490
  3. Запустить консоль PowerShell от имени администратора Win+X ⇒ Windows PowerShell (от администратора)

  4. Сменить текущую директорию на папку с WMI-агентом:

    Set-Location -Path директория_с_WMI_агентом
  5. Установить WMI-агент в качестве службы с помощью следующей команды:

    .\wmi-agent.exe --service install -c .\wmi-agent.yaml

    После данной команды в «Службы» появится WMI-агент под названием Komrad WMI Agent

  6. Скопируйте client-key.pem client.pem ca.pem и поместите их в папку

    C:\Program Files\Echelon\komrad\certs.

    подсказка

    Сертификаты расположены на машине с KOMRAD в каталоге /var/lib/echelon/komrad/certs

  7. Запустить службу WMI-агента с помощью следующей команды:

    .\wmi-agent.exe --service start -c .\wmi-agent.yaml
  8. Новый WMI-агент отобразится в списке коллекторов в веб-интерфейсе

  9. Зайдите в появившийся коллектор и укажите журналы для сбора и уровень логирования событий, чтобы события начали появляться в системе

Подключение новых источников событий

Предварительные условия:

  • убедиться, что существует возможность сетевого взаимодействия между KOMRAD и источником событий (можно воспользоваться командой ping)

Расположение: manage ⇒ Настройка коллекторов ⇒ Коллекторы ⇒ Агент журнала событий Windows (WMI)

Действия:

  1. Открыть в веб-интерфейсе KOMRAD вкладку manage ⇒ Настройки коллекторов ⇒ Коллекторы ⇒ Агент журнала событий Windows (WMI), в котором появился новый экземпляр WMI-агента под стандартным названием wmi

  2. С помощью кнопки «Редактировать» при необходимости задайте название коллектора

  3. Включите только необходимые журналы из всех, что представлены на странице — это поможет снизить поток событий

    осторожно

    Внимание! Для корректной работы нового журнала необходимо в названии указать полное имя этого журнала, например, Microsoft-Windows-Windows Defender/Operational. Постарайтесь не ошибиться, т.к. переименовать/удалить ошибку в дальнейшем будет невозможно.

    подсказка

    Посмотреть полное имя журнала в Windows можно так: откройте "Просмотр событий" ⇒ Найдите необходимый вам журнал приложения или службы ⇒ Кликните правой кнопкой мыши ⇒ Свойства ⇒ в графе "Полное имя" вы увидите полное имя журнала, как на скриншоте ниже.

    Полное имя журнала

  4. Включите агент, нажав на кнопку «Включить»

  5. На узле-источнике убедитесь, что события регистрируются в оснастке «Управление компьютером» (compmgmt.msc) в «Просмотре событий»

  6. Для просмотра событий, поступающих от подключенного источника в KOMRAD, перейдите на дашборд событий в реальном времени События ⇒ События в реальном времени

Дополнительно:

  1. У WMI-агента есть возможность собирать события об изменении локальных файлов. Чтобы настроить передачу логов необходимо зайти в "manage" ⇒ "Настройка коллекторов" ⇒ "Агент журнала событий Windows (WMI)" ⇒ "Файлы" ⇒ добавить новый файл "+" ⇒ указать полный путь к отслеживаемому файлу с его расширением ⇒ проверить и сохранить новое подключение ⇒ перезагрузить коллектор.

    примечание

    Важно помнить, что WMI-агент не может проводить мониторинг папки и не будет отслеживать файл, если его переместить

  2. WMI-агент можно удалить из служб с помощью следующих команд:

    .\wmi-agent.exe --service stop -c .\wmi-agent.yaml
    .\wmi-agent.exe --service uninstall -c .\wmi-agent.yaml
  3. Рабочим каталогом запущенной службы является специальный системный каталог

    C:\Program Files\Echelon\komrad\wmi-agent

подсказка

Фильтры (132 шт.) и директивы корреляции (127 шт.) под источник событий можно скачать по ссылке

Установка WMI-агента на несколько доменных машин с помощью групповой политики

Для централизованной установки WMI-агента на доменные машины с использованием групповой политики откройте на контроллере домена в Диспетчере серверов «Управление групповой политикой» (либо через «Выполнить» ⇒ gpmc.msc)

Управление групповой политикой

В структуре доменов кликните правой кнопкой мыши по нужному домену, далее выберите пункт

«Создать объект групповой политики в этом домене и связать его…»

Создание объекта групповой политики

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

Фильтры

Предварительно рекомендуется создать новый каталог (его имя может быть произвольным, например, WMI) и переместить в него следующее:

  1. Установочный файл wmi-агента wmi-agent.exe
  2. Конфигурационный файл wmi-агента wmi-agent.yaml с предварительно заданным адресом KOMRAD SIEM
  3. Папку certs с тремя сертификатами KOMRAD – ca.pem, client.pem и client-key.pem

Переместите указанную папку WMI в sysvol

Папка с файлами установки

Далее создайте скрипт PowerShell со следующим содержимым:

Copy-Item -Path "\\Имя_контроллера_домена\sysvol\название_домена\WMI" -Destination "C:\" -Recurse 
C:\WMI\wmi-agent.exe --service install -c C:\WMI\wmi-agent.yaml
Copy-Item -Path "\\Имя_контроллера_домена\sysvol\название_домена\WMI\certs" -Destination 'C:\Program Files\Echelon\komrad' -Recurse
C:\WMI\wmi-agent.exe --service start -c C:\WMI\wmi-agent.yaml

Переместите созданный скрипт в каталог netlogon:

Netlogon

Убедитесь, что группа пользователей «Прошедшие проверку» имеют право на чтение и выполнение созданного скрипта:

Права

Откройте настройки созданной групповой политики.

Настройки GPO

В открывшемся редакторе управления групповыми политиками создайте новую немедленную задачу в разделе «Конфигурация пользователя»

Создание задачи

В свойствах задачи на вкладке «Общие» укажите:

  1. Название (может быть любым, например, «Установка WMI»)

  2. Учётную запись, от имени которой будет выполняться задача (укажите СИСТЕМА, либо учётную запись администратора домена)

    Новые свойства задачи

На вкладке «Действия» создайте новое действие «Запуск программы». В поле Программа или сценарий укажите powershell.exe со следующим аргументом:

-File "\\Имя_контроллера_домена\netlogon\имя_созданного_скрипта.ps1"

Новое действие задачи

На вкладке «Общие параметры» отметьте пункт «Применить один раз и не применять повторно». Примените созданную задачу.

Общие параметры задачи

Теперь при перезапуске компьютеров, на которые распространена созданная групповая политика, при повторной авторизации пользователей, автоматически должен установиться WMI-агент – новые агенты появятся на графическом интерфейсе KOMRAD.

WMI-агенты в интерфейсе

Заполнение журнала Forwarded Events на Windows Server для получения событий WMI

Предварительные условия:

  1. Имеется Windows Server 2016 / 2019

  2. Имеется машина на ОС Windows, которая будет выступать в роли источника событий

  3. На обеих машинах должны быть полностью отключены брандмауэры

Порядок выполняемых действий:

  1. Настроить статический IP на сервере по примеру ниже:

    IP адрес: выбранный IP

    Маска подсети IPv4: 255.255.255.0

    Шлюз: 10.0.4.1 / 10.0.1.1 (в зависимости от подсети, в которой находится машина)

    DNS-сервер: 10.0.1.1 (в момент тестирования был установлен такой адрес в поле DNS-сервера)
  2. На Windows Server развернуть Active Directory:

    В Диспетчере серверов выбрать "Добавить роли и компоненты";

    Во вкладке "Роли сервера" отметить "Доменные службы Active Directory";

    В остальных вкладках всё оставить по умолчанию.

    подсказка

    Если на этапе установки AD выдаётся ошибка, то необходимо изменить пароль у администратора домена (учетная запись: "Администратор")

  3. Повысить роль сервера до уровня контроллера домена:

    • Добавить новый лес доменных имён

    • Пропустить делегирование DNS

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

  4. Во вкладке "Пользователи и компьютеры" добавить нового пользователя, под которым будет осуществляться вход в домен другими компьютерами. Включить пользователя в группу "Администраторы домена"

  5. Машину-источник Windows вводим в созданный домен при помощи созданной в предыдущем шаге учётной записи

  6. В настройках сети машины-источника в поле DNS указать адрес машины Windows Server

  7. Настраиваем отправку событий из журнала, например, Security у источника (здесь, либо здесь пошаговые гайды при необходимости)

  8. После создания подписки на сервере дать права на чтение журналов локальным админам:

    • В "Просмотре событий" открыть свойства журнала

    • Скопировать Полное имя журнала

    • С помощью cmd дать права на чтение командой:

    wevtutil set-log EventLogFullName /ca:O:BAG:SYD:(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)

    Где EventLogFullName - полное имя журнала.

  9. Убедиться в том, что на Windows Server в журнале "Перенаправленные события" появилось событие. Для получения большего количества событий перезагрузить машину-источник

    подсказка

    Если события долго не приходят, то на машине-источнике нужно перейти в "Службы" и перезапустить Службу удалённого управления Windows (WS-Management)

  10. На Windows Server установить WMI-агента для отправки события на KOMRAD (в конфиге прописан адрес стенда KOMRAD)

  11. На UI (интерфейс KOMRAD) включить добавленный WMI-агент

  12. В интерфейсе коллектора настроить журнал ForwardedEvents

  13. Нажать "Сохранить" журнал

  14. Включить сбор событий через переключатель

  15. Убедиться, что во вкладке "События в реальном времени" появились события из журнала ForwardedEvents.

Пример

осторожно

WEC можно подключить к KOMRAD только без установки службы. Используйте команду:

.\wmi-agent.exe -c .\wmi-agent.yaml

примечание

Если после смены IP-адреса WMI-агент перестал работать, то одним из возможных вариантов решения проблемы может быть очистка папки с логами.

Перейдите по пути C:\Program Files\Echelon\komrad\wmi-agent и удалите содержимое папок wal и storage

В этой папке C:\Windows\System32\config\systemprofile\AppData\Local\komrad\komrad-wmi-agent\offsets хранится состояние агента.

Видео