Windows事件日志转发WEF配置方法
Windows事件日志在安全数据分析领域非常重要,通过收集分析Windows AD事件日志可以获取到诸如登录登出、登录失败、账号创建、提权等才操作,对于安全分析审计意义重大,因此在公司内部我们需要将所有AD域控实例的事件日志集中收集分析,但同时AD系统部署分散,日志量庞大,敏感度高等特点又让日志收集工作困难重重。常见的AD事件日志收集有三种方案:
- 在域控服务器上安装Agent,优点:相对简单,缺点:依赖于Agent可能导致系统不稳定
- 通过SCOM收集:优点:集中管理,缺点:从SCOM收集数据非常困难
- 通过WEF转发:优点:不需要安装额外组件,轻量灵活扩展性好
WEF即Windows Event Forwarding,从Windows Server2008开始加入到系统的默认组件中,他的主要目的就是帮助管理员集中监控Windows客户端或者服务器的系统日志。转发采用DMTF标准,一种开放Web Service-Management协议,内嵌在WMF框架里。
本文基于Windows Server 2012 R2,介绍如何配置两台Windows Server做日志转发,实验里我们装一台Server 2012 R2模拟AD服务器作为转发的源服务器,Server 2008R2作为日志接收服务器。事实上接收器收到数据以后也可以继续向外转发,如此可以使日志收集方案更加灵活。
因为WEF使用的所有组件都是Windows内嵌的,所以整个技术方案不需要安装任何额外的客户端软件。
工作原理
事实上源服务器和接收器的配置方法至少有两种,本文采用其中一种方案,即在接收器上配置订阅,由接收器主动到源服务器拉取数据,如此一来接收器也可以配置多个。我们要在源服务器和接收器上开启Windows远程管理(WinRM),同时让接收器拥有在源服务器上读取Event Log的权限。 最重要的一点是,源服务器和接收器都必须加入到同一个域。
配置源服务器
我们将在一台Windows Server 2012 R2上配置日志转发 开启Windows 远程管理 Windows 2012R2默认开启了WinRM,我们也可以通过如下命令检查开启状态:
winrm get winrm/config
如果没有开启,可以用如下命令开启:
winrm quickconfig
接下来要在源服务器上对收集器做访问授权,即将转发器的“机器账号”加入到“Event Log Reader”组里,有两种方法:
方法一,使用PowerShell命令行添加
Add-ADGroupMember –identity ‘Event Log Readers’ –member contososrv1$
方法二,在域控制器的“AD用户和计算机”中找到“Event Log Reader”组
双击进入这个组, 选择“成员”标签,点击“添加”按钮,在“输入对象名称来选择:”中查找接收器的机器名。这里要注意,默认情况这里的搜索范围是不包含机器账号的,需要点击上方的“对象类型”在弹出对话框中勾选“计算机”,然后才能收到机器账号,如下图所示:
配置接收器
在接收器服务器上打开Event Viewer,在Event Viewer左侧找到订阅“Subscriptions”,在弹出对话框中点“Yes”开启Windows Event Collector服务,并设置为自启动。
提示:上述操作也可以在命令行输入wecutil qc
实现
右键点击“Subscriptions”->“创建订阅”在弹出对话框中配置:
注意事项:
- 目标日志:表示接收到转发日志以后存放在本机Event Log的哪个目录,维持默认即可 - 订阅类型和原计算机中,点击选择计算机,在弹出对话框中查找源计算机在AD域中的机器账号,找到以后可以点“测试”测试连通性。
选择事件,可以订阅需要转发的数据类型,如事件的级别,事件类型等,订阅的内容越多,可能产生的网络日志流量就越大。
配置完成后等待大约15分钟左右就可以在“已转发事件”中看到从源服务器转发的日志了,我们也可以在源服务器通过以下命令手动产生事件:
eventcreate /id 999 /t error /l application /d “Error test event”
安全事件日志转发配置
安全事件日志在Event Log里面权限有些特殊,如果要转发此类日志还需要做额外的配置,具体来说要给Network Service账号授予Security Event Log的访问权限。
使用管理员账号登录源服务器,打开Powser Shell执行以下命令查看当前通道的访问权限:
wevtutil get-log security
Network Service 的SID是S-1-5-20,所以我们用如下命令给这个账号授权
wevtutil set-log security /ca:’O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;S-1-5-20)’
之后我们就可以在“已转发事件”中查询到所有日志啦
- 点赞
- 收藏
- 关注作者
评论(0)