5

我正在将安全事件日志与 System.Diagnostics.Eventing.Reader.EventLogWatcher 类挂钩,并且我正在 2008 服务器框上观看事件 ID 4625,用于传入失败的登录(特别是 RDP)。

日志捕获工作正常,我将结果转储到队列中以进行相关的后续处理。但是,有时捕获的日志会填充(已解析)IPAddress 数据字段,有时则不会。

我在观察服务器时运行了windump,尝试了我通常从不同服务器和操作系统风格登录的RDP,我能得出的唯一结论是版本差异问题,而不是糟糕的编码。虽然我可能是错的,哈哈。

问题在于关于这些连接的事件日志本身。所有失败的 RDP 登录都被记录下来,并得到正确处理,但有些日志根本不记录失败连接的源 IP 地址。

一些较新的 mstsc 是否会以某种方式导致远程事件日志不记录源 IP 地址?这似乎适用于我针对此挂钩服务器运行的任何其他 2008 服务器。到目前为止,我尝试过的任何 2003 或 XP 机器都可以正确记录。

如果您需要更多信息,请告诉我。谢谢!

编辑

我是否需要做一些疯狂的事情——比如实现SharpPcap并将IP与事件日志相关联?=/。也许可以查询 lsass (这不是通常写入安全日志的唯一内容)吗?

4

2 回答 2

9

我终于得到了这个工作。发生这种情况是因为 RDP 连接使用了两种身份验证方法:NTLM 和 User32。我更改了 GPO 设置以终止外部 NTLM 连接。

这些是我设置的 GPO 设置。请注意,这是一个 Server 2008 R2 盒子。

所需的
计算机配置\Windows 设置\安全设置\安全选项

网络安全:LAN Manager 身份验证级别——仅发送 NTLMv2 响应。拒绝 LM 和 NTLM
网络安全:限制 NTLM:审核传入 NTLM 流量 -- 启用对所有帐户的审核
网络安全:限制 NTLM:传入 NTLM 流量 -- 拒绝所有帐户

推荐
不允许保存密码 -- 启用
提示客户端计算机上的凭据 -- 启用

我也更改了其他一些与安全相关的密钥,但这些应该是核心密钥。强制传入网络流量不使用 NTLM 允许每个 4625 事件包含故障计算机的 IP 地址,因为它们被迫使用 User32 登录。

让我知道这是否看起来完全不安全,或者可能有更好的方法来做到这一点,但这允许正确计数和记录失败的尝试,同时保持连接的加密级别。

于 2010-01-18T23:21:05.737 回答
8

Asteroid's answer works, but you MUST enable "Allow connections from computers running any version of Remote Desktop (less secure)" instead of "Allow connections only from computers running Remote Desktop with Network Level Authentication (more secure)".

NLA does not use User32, but uses NtLmSsp which relies on LM responses. If that's blocked (as the instructions above will do), you'll end up with ye olde "The Local Security Authority cannot be contacted."

于 2013-02-14T16:49:50.727 回答