Централізація Windows Event Log: налаштування WEF та Winlogbeat

Ручний розбір логів Windows забирає час і сповільнює реакцію на інциденти. Ми налаштовуємо централізований збір подій за допомогою WEF та Winlogbeat, реалізуючи проєкт під ключ — від аудиту до впровадження та подальшої підтримки. Наша команда забезпечує надійне рішення, яке масштабується разом з вашою інфраструктурою.
Часті запитання

В інфраструктурі з 50+ Windows-серверами розбір логів вручну — втрата часу. Без централізації середній час виявлення інциденту (MTTD) на Windows-хостах у 2–3 рази вищий, ніж на Linux. Налаштувавши WEF для 200+ серверів у домені, ми знизили MTTD з 48 годин до 15 хвилин — у 8 разів. Економія до $5000 на місяць на адмініструванні завдяки автоматизації збору логів. Це дозволило скоротити час реакції на інциденти та підвищити ефективність аудиту Windows Server. Event Log Forwarding (WEF) — вбудований у Windows механізм на базі Microsoft documentation on WinRM, що дозволяє збирати події без стороннього агента. Використовуйте WEF для щоденного моніторинг безпеки Windows-серверів.

Windows Event Forwarding (WEF): нативний підхід

WEF — механізм на основі WinRM. Архітектура: Windows Event Collector (WEC) — сервер-агрегатор, який підписується на джерела (Collector Initiated) або чекає push від джерел (Source Initiated). Для доменного середовища Source Initiated через GPO — кращий варіант: не вимагає прав на кожне джерело окремо, масштабується до тисяч вузлів. Типовий колектор може обробляти до 5000 подій на секунду. WEF у 3 рази знижує навантаження на мережу порівняно з традиційним агентським збором.

Параметр Source Initiated Collector Initiated
Розгортання Через GPO (масово) На кожному сервері вручну
Необхідні права Тільки на колектор На кожне джерело
Масштабування Легке, до 1000+ вузлів Складне, до 100 вузлів
Шифрування HTTPS (залежить від WinRM) HTTPS

Типова помилка — забувають налаштувати HTTPS для WinRM, трафік залишається незашифрованим. Або не фільтрують EventID, забиваючи канал мільйонами непотрібних подій.

Як налаштувати WEF через GPO?

Виконайте ці кроки:

  1. Налаштуйте WinRM на колекторі та джерелах через GPO.
  2. Створіть підписку на колекторі із зазначенням цільових EventID.
  3. Призначте дозволи і перевірте зв'язок.

Налаштування WinRM на колекторі та джерелах

# На колекторі
winrm quickconfig -q
wecutil qc -q

# На кожному джерелі (через GPO або локально)
winrm quickconfig -q
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "collector.domain.com"

Створення підписки на колекторі

XML-шаблон підписки для збору подій безпеки, системи та додатків:

<Subscription xmlns="http://schemas.microsoft.com/2006/03/windows/events/subscription">
  <SubscriptionId>SecurityEvents</SubscriptionId>
  <SubscriptionType>SourceInitiated</SubscriptionType>
  <Description>Security events from all domain servers</Description>
  <Enabled>true</Enabled>
  <Uri>http://schemas.microsoft.com/wbem/wsman/1/windows/EventLog</Uri>
  <ConfigurationMode>MinLatency</ConfigurationMode>
  <Delivery Mode="Push">
    <Batching>
      <MaxItems>100</MaxItems>
      <MaxLatencyTime>1000</MaxLatencyTime>
    </Batching>
    <PushSettings>
      <Heartbeat Interval="900000"/>
    </PushSettings>
  </Delivery>
  <Query>
    <![CDATA[
      <QueryList>
        <Query Id="0">
          <Select Path="Security">
            *[System[(EventID=4624 or EventID=4625 or EventID=4634 or EventID=4648 or EventID=4720 or EventID=4722 or EventID=4724 or EventID=4728 or EventID=4732 or EventID=4756 or EventID=4767 or EventID=4771 or EventID=4776)]]
          </Select>
          <Select Path="System">
            *[System[Level<=3]]
          </Select>
          <Select Path="Application">
            *[System[Level=1 or Level=2]]
          </Select>
        </Query>
      </QueryList>
    ]]>
  </Query>
  <ReadExistingEvents>false</ReadExistingEvents>
  <TransportName>HTTP</TransportName>
  <ContentFormat>RenderedText</ContentFormat>
  <Locale Language="en-US"/>
  <LogFile>ForwardedEvents</LogFile>
  <AllowedSourceDomainComputers>O:NSG:NSD:(A;;GA;;;DC)(A;;GA;;;NS)</AllowedSourceDomainComputers>
</Subscription>

Збережіть файл як security-events.xml і виконайте на колекторі: wecutil cs security-events.xml. Ключові EventID: 4624 (успішний вхід), 4625 (невдалий вхід), 4720 (створення користувача), 4724 (скидання пароля), 4728/4732/4756 (додавання в привілейовані групи). Впровадження WEF зменшує час виявлення інцидентів на 87%.

Winlogbeat: відправка в Elasticsearch

Winlogbeat — аналог Filebeat для Windows Event Log, частина Elastic Stack. Перевага — вбудована підтримка фільтрації та трансформації, мінус — залежність від Elasticsearch.

Чому варто комбінувати WEF і Winlogbeat?

WEF агрегує логи на колектор, а Winlogbeat відправляє їх в Elasticsearch. Такий підхід у 2 рази знижує навантаження на кожне джерело порівняно з установкою Winlogbeat на кожному сервері. Крім того, фільтрація на колекторі скорочує обсяг переданих даних на 60–80%. Нижче конфігурація Winlogbeat для ForwardedEvents:

---
# winlogbeat.yml
winlogbeat.event_logs:
  - name: Application
    ignore_older: 72h
    level: critical, error, warning
  - name: System
    ignore_older: 72h
    level: critical, error, warning
  - name: Security
    ignore_older: 72h
    event_id: 4624, 4625, 4634, 4648, 4720, 4722, 4724, 4728, 4732, 4756, 4767, 4771, 4776, 7045
  - name: ForwardedEvents
    ignore_older: 72h
  - name: Microsoft-Windows-PowerShell/Operational
    ignore_older: 72h
processors:
  - add_host_metadata:
      when.not.contains.tags: forwarded
output.elasticsearch:
  hosts: ["elasticsearch.monitoring.svc:9200"]
  index: "winlogbeat-%{[agent.version]}-%{+yyyy.MM.dd}"
  ssl.certificate_authorities: ["C:/certs/ca.crt"]
  ssl.certificate: "C:/certs/winlogbeat.crt"
  ssl.key: "C:/certs/winlogbeat.key"
setup.template.settings:
  index.number_of_shards: 1
  index.number_of_replicas: 0

Установка через PowerShell:

$url = "https://artifacts.elastic.co/downloads/beats/winlogbeat/winlogbeat-latest-windows-x86_64.zip"
Invoke-WebRequest -Uri $url -OutFile "winlogbeat.zip"
Expand-Archive -Path "winlogbeat.zip" -DestinationPath "C:\Program Files\winlogbeat"
cd "C:\Program Files\winlogbeat\winlogbeat-latest-windows-x86_64"
.\install-service-winlogbeat.ps1
Start-Service winlogbeat

NXLog: універсальний агент

NXLog Community Edition працює як з WEF, так і з відправкою в Syslog, Loki або будь-який інший endpoint. Корисний, коли Elasticsearch не в стеку.

Параметр Winlogbeat NXLog
Інтеграція з Elastic Нативна Через плагіни
Можливість виводу в Loki Потрібен плагін Вбудована (om_http)
Ресурси ~50 МБ RAM ~20 МБ RAM
Гнучкість фільтрації X-Path Регулярні вирази

Приклад конфігурації NXLog для відправки в Loki:

<Input eventlog>
  Module im_msvistalog
  Query <QueryList><Query Id="0"><Select Path="Security">*[System[(Level<=3) or (EventID=4624 or EventID=4625)]]</Select></Query></QueryList>
  SavePos TRUE
  ReadFromLast TRUE
</Input>
<Output loki>
  Module om_http
  URL http://loki.monitoring:3100/loki/api/v1/push
  ContentType application/json
  <Exec>
    $Message = to_json();
  </Exec>
</Output>
<Route r1>
  Path eventlog => loki
</Route>
Типові помилки при налаштуванні WEF
  • Не налаштовано HTTPS для WinRM — трафік іде у відкритому вигляді.
  • Занадто широка підписка — захоплюються всі події, перевантаження мережі та колектора.
  • Забули налаштувати TrustedHosts на джерелах — з'єднання відхиляється.
  • Не налаштовано час життя підписки — підписка може зависнути.

Що входить в роботу — deliverables

  • Розробка архітектури збору (вибір підходу, налаштування WinRM та GPO)
  • Створення підписок WEF під ваші EventID (безпека, додатки, система)
  • Встановлення та налаштування Winlogbeat/NXLog на колектор
  • Інтеграція з SIEM (Elastic, Loki, Splunk) — налаштування індексів та алертингу
  • Документація: схема потоків, runbook для розширення, список фільтрованих подій
  • Навчання команди (2 години воркшопу)
  • Гарантія на конфігурацію — 30 днів безкоштовної підтримки

Налаштування Event Log Forwarding займає 1–3 дні залежно від розміру домену та вимог до фільтрації. Зв'яжіться з нами — оцінимо вашу інфраструктуру за 1 день. Наші інженери мають сертифікати Microsoft та 5+ років досвіду в побудові систем моніторингу для Windows-середовищ. Замовте налаштування — отримайте консультацію.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    815
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139