Teh Hermit
Trace: • windows_event_log_в_graylog

Windows Event Log в Graylog

Общая последовательность действий настройки Graylog для мониторинга событий Windows следующая.

1. На сервере Graylog конфигурируем Input, чтобы сервер мог принимать подключения по TCP на нужном нам порту.

2. В разделе System/Sidecars создаем новый Log Collector. Коллектор логов будет содержать шаблон для наших конфигураций. В плане структуры конфигурации можно ориентироваться на стандартный шаблон для Windows с именем winlogbeat, содержащий по умолчанию полезную директиву, предотвращающую обработку логов старше 96 часов: ignore_older: 96h.

Если нам требуется мониторить какие-либо расширенные или просто более конкретные разделы логов - необходимо получить их имена. Имена для всех логов конкретной ОС Windows легко можно получить с помощью PS-команды:

 Get-WinEvent -ListLog * | Format-List -Property LogName

Если нам необходимо нечто более специфическое, можно воспользоваться средтвами фильтрации PowerShell. Получим, к примеру, все логи, содержащие “Exchange” в своем названии:

Get-WinEvent -ListLog * | Where-Object logname -like "*exchang*" | format-list -Property logname 

Пример конфига коллектора для сбора стандартных логов application, security, system + всех разделов логов Microsoft Exchange:

# Needed for Graylog
fields_under_root: true
fields.collector_node_id: ${sidecar.nodeName}
fields.gl2_source_collector: ${sidecar.nodeId}


output.logstash:
   hosts: ["${user.graylog_host}:5044"]
path:
  data: ${sidecar.spoolDir!"C:\\Program Files\\Graylog\\sidecar\\cache\\winlogbeat"}\data
  logs: ${sidecar.spoolDir!"C:\\Program Files\\Graylog\\sidecar"}\logs
tags:
 - windows
winlogbeat:
  event_logs:
   - name: Application
     level: critical, error
     ignore_older: 96h
   - name: System
     level: critical, error
     ignore_older: 96h
   - name: Security
     level: critical, error
     ignore_older: 96h
   - name: MSExchange Management
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ActiveMonitoring/MaintenanceDefinition
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ActiveMonitoring/MaintenanceResult
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ActiveMonitoring/MonitorDefinition
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ActiveMonitoring/MonitorResult
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ActiveMonitoring/ProbeDefinition
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ActiveMonitoring/ProbeResult
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ActiveMonitoring/ResponderDefinition
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ActiveMonitoring/ResponderResult
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-DxStoreHA/Execution
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-DxStoreHA/General
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-DxStoreHA/Performance
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-DxStoreHA/Server
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-DxStoreHA/Validation
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ESE/Operational
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-HighAvailability/AppLogMirror
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-HighAvailability/BlockReplication
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-HighAvailability/Debug
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-HighAvailability/Monitoring
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-HighAvailability/Network
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-HighAvailability/Operational
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-HighAvailability/Seeding
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-HighAvailability/TruncationDebug
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-MailboxAssistants/Debug
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-MailboxAssistants/Exception
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-MailboxAssistants/Operational
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-MailboxDatabaseFailureItems/Debug
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-MailboxDatabaseFailureItems/Operational
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ManagedAvailability/InvokeNowRequest
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ManagedAvailability/InvokeNowResult
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ManagedAvailability/Monitoring
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ManagedAvailability/RecoveryActionLogs
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ManagedAvailability/RecoveryActionResults
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ManagedAvailability/RemoteActionLogs
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ManagedAvailability/StartupNotification
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-ManagedAvailability/ThrottlingConfig
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-PushNotifications/Analytics
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-PushNotifications/Client
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-PushNotifications/Debug
     level: critical, error
     ignore_older: 96h	 
   - name: Microsoft-Exchange-PushNotifications/Operational
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Exchange-Troubleshooters/Operational
     level: critical, error
     ignore_older: 96h
   - name: Microsoft-Windows-Security-ExchangeActiveSyncProvisioning/Operational
     level: critical, error
     ignore_older: 96h

Ознакомиться подробнее с принципами конфигурирования winlogbeat можно по следующей ссылке:

https://www.elastic.co/guide/en/beats/winlogbeat/current/configuration-winlogbeat-options.html

3. После создания коллектора логов, содержащего шаблон, можно создать конфигурацию из данного коллектора. Именно конкретная конфигурация присваивается определенному клиенту (sidecar).

Общая схема настроек на скриншоте.

4. Теперь нам необходимо завести клиента (и его токен), который будет заниматься сбором логов как показано ниже.

В token name пропишем имя нашего клиента и далее нажмём create token. Запишем сгенерированный токен - он потребуется нам во время установки sidecar на клиентской системе.

5. Теперь мы можем устанавливать клиента. Качаем клиента отсюда: https://github.com/Graylog2/collector-sidecar/releases

При установке нам необходимо указать URL API Graylog, его имя (как в token name), а также, собственно, сам токен. Пример:

6. Устанавливаем связь между созданной нами конфигурации и заведенным клиентом через раздел Administration в System/Sidecars, подтверждая назначение конфигурации.

7. Перейдя в раздел overview - можем убедиться в статусе нашего клиента.

8. Если на наших созданных клиентах много релевантных логов и с передачей всё хорошо - скорее всего увидим изменения в счётчике логов в правой верхней области Graylog.

9. Чтобы искать какие-либо события - воспользуемся поиском в разделе Search, установив какой-нибудь временной интервал, или написав запрос. К примеру:

 source:server_name

Graylog, Exchange, Microsoft, Windows, PowerShell
Previous Next

Teh Hermit

Table of Contents

  

Microsoft

  Active Directory
  Active Directory Certificate Services
  Active Directory Federation Services
  BitLocker
  Terminal Services
  HYPER-V
  Exchange
  Internet Information Services (IIS)
  Storage Spaces Direct
  WSUS
  Windows Server
  Windows Server Core
  Windows
  Windows Admin Center
  Windows Backup
  Windows Firewall
  Windows 11
  Microsoft Office
  IPAM
  NPS и RADIUS
  Office Online
  Microsoft SQL Server
  Microsoft Endpoint Configuration Manager
  PowerShell
  KMS-активация

Unix-like

  Astra Linux
  Asterisk и FreePBX
  SQUID
  Debian
  CentOS
  Ubuntu Server + Desktop
  pfSense
  PostgreSQL
  SSH
  OpenSSL
  Zabbix

  

Hardware

  Keychron
  WakeOnLan
  Серверы HP
  Серверы SNR
  Настройка планшетов Handheld

  

Networking

  Cisco
  D-Link
  Mikrotik
  Keenetic

  

Other

  1С
  Docker
  DokuWiki
  Ghost Blog
  GoodbyeDPI
  Graylog
  VMWare
  ProxMox
  PrivateBin
  Outline VPN
  Wireguard
  Российская криптография
  Р-Виртуализация
  Kaspersky
  FileZilla ftp-сервер
  Soti MobiControl
  SysInternals
  VeraCrypt
  Non-Sucking Service Manager
  NMAP

     

DevOps

  Git
  Gitlab