Sysmon
Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.
Что такое Sysmon
System Monitor (Sysmon) — это инструмент мониторинга системы для Windows от Microsoft, входящий в пакет Sysinternals Suite. Представляет собой системную службу и драйвер устройства Windows, которые после установки постоянно работают в системе, в том числе после перезагрузки.
Типы событий, создаваемые Sysmon: https://learn.microsoft.com/ru-ru/sysinternals/downloads/sysmon#event-id-1-process-creation
Sysmon предоставляет подробную информацию о создании процессов, сетевых подключениях и изменениях времени создания файлов. За счет сбора событий Sysmon средствами сбора событий Windows (Windows Event Collection) или SIEM-системами и последующего их анализа, можно выявлять вредоносную или аномальную активность и понять, как злоумышленники и вредоносное ПО действуют в вашей сети. Служба работает как защищенный процесс, что блокирует широкий спектр взаимодействий из пользовательского режима.
Sysmon не анализирует генерируемые им события и не пытается скрыть свое присутствие от злоумышленников.
Принцип работы
Установка и настройка Sysmon
На отдельной рабочей станции/сервере
- Выполните загрузку Sysmon.exe с официального сайта Sysinternals:
Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Sysmon.zip" -OutFile "<Путь для загрузки файла>\<Имя файла>"
- Распакуйте архив средствами проводника Windows или с помощью PowerShell-команды:
Expand-Archive -Path "<Путь, куда был загружен файл>\<Имя файла>" -DestinationPath "<Путь для загрузки файла>\<Имя файла>" -Force
- Загрузите готовый конфигурационный файл Sysmon. Можно использовать конфигурационные файлы из других репозиториев, например, отсюда или создать собственный (подробнее см. здесь):
Invoke-WebRequest -Uri "https://github.com/SwiftOnSecurity/sysmon-config/blob/master/sysmonconfig-export.xml" -OutFile "<Путь для загрузки файла>\<Имя файла>"
- Запустите PowerShell с правами администратора и выполните установку Sysmon с ранее загруженной (или собственной) конфигурацией:
<Путь до файла>\Sysmon.exe -accepteula -i "<Путь до файла конфигурации>\<Имя файла конфигурации>"
- Проветье статус службы Sysmon:
Get-Service -Name Sysmon
На группе рабочих станций/серверов средствами GPO
- Выполните загрузку Sysmon.exe с официального сайта Sysinternals:
Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Sysmon.zip" -OutFile "<Путь для загрузки файла>\<Имя файла>"
- Распакуйте архив средствами проводника Windows или с помощью PowerShell-команды:
Expand-Archive -Path "<Путь, куда был загружен файл>\<Имя файла>" -DestinationPath "<Путь для загрузки файла>\<Имя файла>" -Force
- Загрузите готовый конфигурационный файл Sysmon. Можно использовать конфигурационные файлы из других репозиториев, например, отсюда или создать собственный (подробнее см. здесь):
Invoke-WebRequest -Uri "https://github.com/SwiftOnSecurity/sysmon-config/blob/master/sysmonconfig-export.xml" -OutFile "<Путь для загрузки файла>\<Имя файла>"
- На контроллере домена создайте папку sysmon по пути \\<Имя контроллера домена>\SYSVOL\<Название домена>\scripts\.
Почему SYSVOL?
- Гарантированная репликация и доступность: Папка SYSVOL автоматически реплицируется между всеми контроллерами домена (DC). Это означает, что ваши файлы будут доступны с любого DC по пути \\<ANY_DC>\SYSVOL\<domain>\scripts\Sysmon\. Это обеспечивает высокую отказоустойчивость.
Гарантированные права доступа:
По умолчанию у всех компьютеров в домене есть право на чтение из SYSVOL. Вам не нужно вручную настраивать права NTFS или общие ресурсы (Network Shares). Это решает частую проблему "Access Denied" при обращении к обычным сетевым папкам.
Надежность:
SYSVOL — это критически важный, встроенный компонент домена. Он всегда работает и всегда доступен для членов домена. Его работа не зависит от поднятия отдельной файловой службы.
Безопасность:
Поскольку запись в SYSVOL по умолчанию разрешена только администраторам домена, риск случайного или злонамеренного изменения скриптов или файлов Sysmon посторонними лицами минимален.
- Скопируйте файл sysmon.exe и файл конфигурации sysmonconfig-export.xml на контроллер домена в \\<Имя контроллера домена>\SYSVOL\<Название домена>\scripts\sysmon.
- Создайте скрипт установки (deploy_sysmon.bat):
- На контроллере домена
Рекомендации для сервера WEC
Официальная справка
Настройка WEC-сервера
Настройка службы Windows Event Collector (WEC)
Если служба Windows Event Collector (WEC) еще не настроена см. раздел Настройка службы Windows Event Collector (WEC)
Настройка подписки для событий Sysmon на WEC-сервере
Чтобы настроить подписку для событий Sysmon на WEC-сервере:
- Нажмите кнопку Win, введите eventvwr.msc и запустите Просмотр событий от имени администратора.
- Выберите Подписки → правой кнопкой мыши Создать подписку → Укажите имя подписки, например, KUMA Sysmon и тип подписки Инициировано исходным компьютером.
- Выберите отдельные компьютеры или группу компьютеров, на которых установлен Sysmon и события которых требуется собирать. В нашем примере – это группа компьютеров KUMA Sysmon: нажмите Выбрать группы компьютеров → Добавить доменный компьютер → в поле Введите имена выбираемых объектов укажите ранее созданную группу компьютеров и нажмите ОК.
Если предполагается сбор событий с контроллера домена, в таком случае, контроллер домена можно добавить как отдельный доменный компьютер.
- Задайте собираемые события: Выбрать события → перейдите на вкладку XML и установите флажок Изменить запрос вручную.
- Вставьте в поле следующий фильтр событий:
<QueryList>
<Query Id="0" Path="Microsoft-Windows-Sysmon/Operational">
<Select Path="Microsoft-Windows-Sysmon/Operational">*</Select>
</Query>
</QueryList>
- Нажмите ОК.
- Далее в окне Свойства подписки нажмите Дополнительно и для параметра Оптимизация доставки событий укажите Уменьшенная задержка.
- Нажмите ОК.
Описать настройку подписки через wecutil
Нужно ли ставить Sysmon на сам WEC-сервер? Например, в описании к событиям есть такая ошибка. Пропадет ли она если поставить службу?
Настройка WinRM и подписки на источниках событий
Для отдельной рабочей станции/сервера
Если WinRM и подписка на источниках событий еще не настроены см. раздел Настройка WinRM и подписки на источниках событий (Для отдельной рабочей станции/сервера)
Проверка поступления событий
Убедитесь, что на WEC-сервер поступают события Sysmon с рабочих станций/серверов:
- На WEC-сервере нажмите кнопку Win, введите eventvwr.msc и запустите Просмотр событий от имени администратора.
- Перейдите в Журналы Windows → Перенаправленные события (Forwarded Events).
- В панели справа выберите Фильтр текущего журнала.
- В окне Фильтровать текущий журнал в поле Источники событий укажите Microsoft-Windows-Sysmon и нажмите ОК.
- Если в окне Перенаправленные события (Forwarded Events) отображаются события Sysmon, значит подписка работает корректно.
Для MS Server 2016 и 2019 в случае если события не пересылаются, выполнить шаги по этой инструкции. При добавлении разрешения для URL-адреса с помощью netsh http add urlacl добавьте кавычки "..." в параметре SDDL:netsh http delete urlacl url=http://+:5985/wsman/
netsh http add urlacl url=http://+:5985/wsman/ sddl="D:(A;;GX;;;S-1-5-80-569256582-2953403351-2909559716-1301513147-412116970)(A;;GX;;;S-1-5-80-4059739203-877974739-1245631912-527174227-2996563517)"
netsh http delete urlacl url=https://+:5986/wsman/
netsh http add urlacl url=https://+:5986/wsman/ sddl="D:(A;;GX;;;S-1-5-80-569256582-2953403351-2909559716-1301513147-412116970)(A;;GX;;;S-1-5-80-4059739203-877974739-1245631912-527174227-2996563517)"
В случае если от источников не поступают события Sysmon проверьте на WEC-сервере в журнале Microsoft/windows/event_forwardingPlugin/Operational
события с кодом 5004 ( ), если там есть такие события, то выполните рекомендации по этой статье: https://learn.microsoft.com/ru-ru/troubleshoot/windows-server/system-management-components/security-event-log-forwarding-fails-error-0x138c-5004
Настройка коллектора и агента KUMA
Если Вы уже ранее развернули агент KUMA на WEC-сервере и настроили сервис коллектор для сбора событий Windows (см. статью MS WEC), тогда в таком случае дополнительных действий не требуется и можно переходить к шагу Проверка поступления событий Windows в KUMA.
В случае если агент KUMA и сервис коллектора для событий Windows не настроены - см. раздел Настройка коллектора и агента KUMA.
Проверка поступления событий Windows в KUMA
Для проверки, что сбор событий Sysmon успешно настроен перейдите в Ресурсы → Активные сервисы → выберите коллектор для событий Windows/Sysmon и нажмите Перейти к событиям.
2. В открывшемся окне События добавьте в поисковый запрос условие DeviceProduct = 'Sysmon' и убедитесь, что события Sysmon доступны.
https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon
For example, you will need to exclude actions of your antivirus, which will otherwise likely fill up your logs with useless information.
I do recommend using a minimal number of configurations within your environment for multiple obvious reasons, like; maintenance, output equality, manageability and so on. But do make tailored configurations for Domain Controllers, Servers and workstations.