Sysmon+Nxlog+GrayLog实现Windows服务器安全日志监控

Sysmon+Nxlog+GrayLog实现Windows服务器安全日志监控
最新回答
相爱?算了吧

2022-12-23 19:24:26

使用 Sysmon + Nxlog + Graylog 可以构建一个完整的 Windows 服务器安全日志监控体系,涵盖从日志生成、收集到集中分析与可视化的全流程。以下是具体实现步骤:

一、核心组件功能
  • Sysmon:Windows 系统服务,持续监控进程创建、网络连接、文件变更等行为,生成详细事件日志。
  • Nxlog:日志收集代理,支持从 Windows 事件日志中提取 Sysmon 数据,并通过 UDP/TCP 协议转发至远程服务器。
  • Graylog:日志管理平台,接收并解析 Nxlog 转发的日志,提供实时搜索、可视化及告警功能。
二、实施步骤1. 安装与配置 Sysmon
  • 下载工具:从
    Microsoft 官方页面
    获取 Sysmon64.exe。
  • 配置文件:使用 sysmonconfig-export.xml(需提前准备或从社区获取模板)定义监控规则,例如:

    监控进程创建、驱动加载、网络连接等行为。

    排除正常业务进程以减少噪声。

  • 安装命令:Sysmon64.exe -i sysmonconfig-export.xml -accepteula

2. 安装与配置 Nxlog
  • 下载安装包:获取 nxlog-ce-2.10.2150.msi 并完成安装。

  • 修改配置文件:编辑 nxlog.conf,关键配置如下:

    <Input eventlog> Module im_msvistalog Query <QueryList><Query Id="0">*[System[Provider[@Name='Microsoft-Windows-Sysmon']]]]</Query></QueryList></Input><Output sysmonout> Module om_udp Host 192.168.31.127 # Graylog服务器IP Port 1518 # Sysmon日志专用端口</Output><Route sysmon_route> Path eventlog => sysmonout</Route>

    说明

    im_msvistalog 模块读取 Windows 事件日志,通过 XPath 过滤 Sysmon 事件(Provider 名为 Microsoft-Windows-Sysmon)。

    使用 UDP 协议发送日志至 Graylog,需确保网络可达。

  • 启动服务

    通过服务管理器或命令行启动 Nxlog:net start nxlog

3. 配置 Graylog 接收日志
  • 创建 Input

    登录 Graylog 控制台,导航至 System > Input

    新建 GELF UDP 输入,绑定端口 1518,用于接收 Sysmon 日志。

    重复操作创建另一个输入(如端口 1517)接收系统日志(可选)。

  • 配置索引与流

    索引:为 Sysmon 日志创建独立索引(如 sysmon_index),便于单独管理。

    :根据字段(如 source 或 event_id)分流日志,例如:

    规则:event_id:1(进程创建)自动归类到“进程监控”流。

4. 开放防火墙端口
  • 在 Graylog 服务器上执行以下命令,允许 UDP 1517/1518 端口入站:firewall-cmd --permanent --zone=public --add-port=1517/udpfirewall-cmd --permanent --zone=public --add-port=1518/udpfirewall-cmd --reload

三、验证与测试
  1. 生成测试日志

    在 Windows 服务器上执行命令(如 ping

    www.baidu.com
    ),触发网络活动。

    Sysmon 会记录 DNS 查询(Event ID 22)和进程创建(Event ID 1)事件。

  2. 检查 Graylog 日志

    登录 Graylog,搜索 source:"Windows服务器IP" 或 event_id:1。

    确认日志包含进程名称、用户、命令行参数等详细信息。

四、高级优化
  • 日志过滤:在 Nxlog 配置中添加 Exec 语句,过滤无关事件(如排除 svchost.exe)。
  • 告警规则:在 Graylog 中设置告警,例如:

    检测到可疑进程(如 powershell.exe 执行 Base64 编码命令)。

    异常网络连接(如连接到已知恶意 IP)。

  • 日志留存:配置 Graylog 索引生命周期策略,自动归档或删除旧日志。
五、注意事项
  • 性能影响:Sysmon 会增加系统负载,建议在生产环境中精细化配置监控规则。
  • 安全性:Nxlog 和 Graylog 需使用 HTTPS/TLS 加密传输日志,防止中间人攻击。
  • 备份配置:定期备份 sysmonconfig-export.xml 和 nxlog.conf,便于快速恢复。

通过以上步骤,可实现 Windows 服务器安全日志的全面监控,为威胁检测与响应提供数据支撑。