使用 Graylog 收集 Windows 和 Active Directory 事件日志

Jacki

在上一篇文章中,我们介绍了如何部署基于Graylog堆栈的集中式日志收集和管理服务(Graylog+OpenSearch+MongoDB)。现在让我们介绍如何将事件查看器日志从 Windows 主机(包括 Active Directory 域控制器事件)发送到 Graylog 收集器。

内容:

前往系统->输入并添加一个新的 Windows Server 设备收集器,其类型为节拍监听端口 TCP:5044

然后为 Windows 事件日志创建单独的索引。基于新的输入和索引,创建一个新的 Windows 流(在 Streams 部分下)并运行它。

Winlogbeat:将 Windows 事件日志发送到 Graylog

要将 Windows 主机上的 EventViewer 日志发送到 Graylog 服务器,请使用Winlogbeat日志收集服务。 Winlogbeat 是 ELK 堆栈的开源部分。 Winlogbeat 服务必须安装在您想要在 Graylog 上查看其事件的每台 Windows 主机上。

  1. 从下载页面下载 Winlogbeat 存档(https://www.elastic.co/downloads/beats/winlogbeat
  2. 将存档解压到文件夹中C:Program Fileswinlogbeat
  3. 编辑winlogbeat.yml配置文件。

在最简单的情况下,使用以下配置,其中应用程序、安全和系统事件日志中的所有事件都将发送到指定的 Graylog 服务器

阅读更多:如何重置 Active Directory 中忘记的目录服务恢复模式密码

请注意,Winlogbeat 的配置文件使用 YAML 语法,因此需要小心空格和缩进。

winlogbeat.event_logs:
  - name: Application
    ignore_older: 72h
  - name: Security
  - name: System
output.logstash:
  hosts: ["192.168.14.146:5044"]

使用更灵活的过滤来仅获取您需要的事件日志。例如,使用以下配置来收集具有特定严重性级别和 EventID 编号的事件:

---
winlogbeat.event_logs:
  - name: Security
    event_id: 4627, 4703, 4780-4782
    ignore_older: 24h
    level: critical, error
  - name: Microsoft-Windows-TerminalServicesRDPClient/Operational
    event_id: 1102

例子Windows Server 的典型 winlogbeat.yml 配置。

保存 winlogbeat.yml 文件。检查Winlogbeat配置是否正确,日志采集服务是否可用:

cd "C:Program Fileswinlogbeat"
./winlogbeat test config
./winlogbeat test output

如果一切正常,安装并启动 winlogbeat 服务:

.install-service-winlogbeat.ps1
Start-Service winlogbeat

转至 Graylog Server Web 界面并检查来自 Windows 服务器的事件是否已开始出现在相应的流中。

使用 Graylog 收集 Active Directory 域控制器事件日志

我们来看看如何使用Graylog服务器来搜索和分析Windows事件。我们将使用 Active Directory 域控制器的事件作为示例。

假设 Active Directory 中有多个额外的域控制器。在这种情况下,管理员可能很难找到特定事件,因为他们必须检查每个 DC 上的日志。然而,Graylog 上存储来自所有 DC 的事件的中央日志收集服务器可以在几秒钟内找到任何事件。

例如,您可能需要识别由于密码不正确而锁定用户帐户的计算机。为此,请打开 Graylog 过滤器提示,选择所需的流,或在查询代码中指定它(streams:xxxxxxxxxxxxx)并运行以下查询:

winlogbeat_event_code:(4740 OR 4625) AND winlogbeat_event_provider:Microsoft-Windows-Security-Auditing

Graylog 服务器将快速找到您正在寻找的事件。在其属性下,您将看到锁定帐户的计算机。

以下是在 Active Directory 中搜索不同事件的更多示例:

  • 事件ID4767– 找出谁解锁了 AD 用户
  • 事件ID4724– 谁/何时重置域用户的密码
  • 事件ID4720– 谁以及何时在 AD 中创建了新用户;4722– 帐户已启用,4725– 残疾人,4726– 用户已删除。
  • 跟踪 Active Directory 组成员身份的更改:4727(创建新组),4728(用户添加到组),4729(用户从组中删除),4730(安全组已删除)
  • 事件ID5137(创建新域组策略/GPO),5136(GPO 已更改),5141(GPO 已删除)
  • 事件ID4624— 成功的域用户登录事件(允许快速查看AD用户的登录历史记录)

确保 Winlogbeat 代理配置为在每个域控制器上发送日志(使用 Get-ADDomainController cmdlet 列出活动 DC)。必须在默认域控制器策略的审核策略设置中启用某些 Active Directory 安全事件的收集。

您可以在 Graylog 中创建保存的查询和仪表板,以快速查找您感兴趣的事件。 Gralog 通知可用于提醒管理员 AD 中的关键事件。

集中 Windows 主机的事件日志记录

Graylog 提供对来自其他 Windows Server 服务的事件的便捷收集、存储、检索和分析。以下是管理员可能需要搜索 Windows 事件日志的不同场景的示例。

  • 审核文件服务器上的文件和文件夹访问事件
  • 跟踪共享文件夹中文件/文件夹的删除
  • 审核对 Windows 中的文件和文件夹权限所做的更改
  • 跟踪远程桌面 (RDP) 连接日志
  • 检测 Windows 上的 RDP 暴力攻击
  • 如何找出谁关闭或重新启动了计算机:winlogbeat_event_code:1074
  • 对清除事件日志的响应(可能表明 Windows Server 可能受到损害)
  • 当内置 Windows Defender 防病毒软件在其中一台 Windows Server 主机上检测到病毒时收到警报(事件 ID1006,1116)。

快速而简单的 Graylog 收集器可以轻松搜索和过滤 Windows 日志中的事件。看这篇文章在 Graylog 站点上开始监视 Windows 主机上的关键事件 ID。

Windows 和 Active Directory 事件日志的集中存储可以轻松快速调查和响应信息安全事件、分析基础设施事件以及解决问题。