在构建siem(安全事件与信息管理)系统时,日志监控尤其重要。对于黑客的重点目标——域控制器(域控),其日志监控至关重要。本文将详细介绍如何通过windows事件转发(wef)将windows主机日志汇总到中心节点,并将其导入elasticsearch,最终通过kibana进行展示。
此架构的优点:
Windows WEF环境配置自Windows 2008以来已启用,主要用于日志的集中收集和存储,具有诸多优势。
运行必要条件和架构介绍Windows日志转发有两种方式:
为了确保安全性,可以选择源计算机已启动的方式,其好处是只需开启域控到收集端的访问,无需在域控中添加账户。一旦收集端出现安全风险,在防火墙配置正确的情况下,不会影响任何域控。
本文将以源计算机已启动的方式进行介绍,其中角色包括:
Client端配置Client的安全日志权限查询和添加
使用管理员权限打开PowerShell,运行以下命令:
wevtutil gl security
该命令用于检查安全日志的读取权限是否允许网络服务读取。
如果返回内容包含以下信息,则表示配置成功:
PS C:Windowssystem32> wevtutil gl security...channelAccess: O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;NS
如果缺少 (A;;0x1;;;NS),表示网络服务权限未添加到安全日志项中。需要保存结果后,再添加网络服务权限。
Client的安全日志网络权限添加
通过组策略->计算机配置->管理模板->Windows组件->事件日志服务->安全->配置日志访问
双击后,选择已启用,将 wevtutil gl security 中的值和 (A;;0x1;;;NS) 加入到配置项中,例如:
O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;NS)
Client的发送目标配置
通过组策略->计算机配置->管理模板->Windows组件->事件转发->配置目标订阅管理器(即我们的服务器端地址)
选择已启用,并输入:
Server=http://logcentra.domain.com:5985/wsman/SubscriptionManager/WEC
Server端配置打开日志收集项
使用管理员权限打开PowerShell或CMD,运行 winrm qc 启用WinRM服务,并激活日志收集项:
运行成功后,5985和5986端口将被打开。
配置日志接收项和接收的计算机
打开事件查看器,并选择左侧的订阅:
选择右侧的创建订阅,并选择你感兴趣的项目。



选择添加刚刚配置的域计算机,并输入计算机名以完成日志接收端配置。
转发错误的日志查看
上述步骤已经完成整个日志转发流程的配置,但可能会有疏漏之处。如果需要排错,建议在Client端的日志发起方查看日志,查看位置在:
事件管理器->应用程序和服务日志->Microsoft->Windows->Eventlog-forwardingPlugin
其他命令
命令行导入自定义订阅日志规则:
wecutil cs DomainComputers.xmlwecutil cs DomainControllers.xml
Windows下的nxlog转发配置nxlog https://www.php.cn/link/8fc30966df18b68dc8181947fa6400ea 是一个用于将Windows日志转换为JSON格式后转发到ES或Logstash的开源工具。
其中的关键配置分为输入端和输出端,输入端当然是Windows的事件日志,由于我们是转发日志,所以需要在Select Path输入ForwardedEvents。
输入端:
Module im_msvistalog Exec to_json(); Query <querylist><query id="0"> Select Path="ForwardedEvents">* </query></querylist>
输出端用于将日志输出到指定服务,此示例是将日志输出到Logstash。
输出端配置:
<output out=""> Module om_ssl Host IP_Address Port Port_Number CaFile %ROOT%certca.pem OutputType LineBased</output><output out_debug=""> Module om_file File "C:xlog_debug.log"</output>
可以看到日志传输使用自签发证书加密,确保了日志传输的安全性。
Logstash日志配置
input { tcp { port => Port type => "nxlogs" ssl_cert => "/etc/logstash/conf.d/ssl/logstash.crt" ssl_key => "/etc/logstash/conf.d/ssl/logstash.key" ssl_extra_chain_certs => ["/etc/logstash/conf.d/ssl/ca.pem"] ssl_verify => false ssl_enable => true codec => \'json\' }}filter{ if [type] == "nxlogs" { date { match => ["[EventTime]", "YYYY-MM-dd HH:mm:ss"] } }}output{ #stdout{} elasticsearch { hosts => ["IP:PORT"] index => "ad-monitor-%{+YYYY.MM.dd}" user => "name" password => "password" }}Nxlog和Logstash的加密证书配置命令CA私钥生成
openssl genrsa -out ca.key 2048
签发个人CA
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.pem
创建Logstash的私钥
openssl genrsa -out logstash.key 2048
创建Logstash的证书申请
openssl req -new -key logstash.key -out logstash.csr
使用CA证书对刚刚创建的Logstash证书申请进行签发,并生成证书,过期时间为10年(不安全,但方便)
openssl x509 -req -in logstash.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out logstash.crt -days 3650 -sha256
Kibana展示结果
参考
以上就是SIEM中心日志节点WEF搭建说明的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号