- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 System.Diagnostics.Eventing.Reader.EventLogWatcher 类 Hook 安全事件日志,并且我正在观察 2008 服务器机器上的事件 ID 4625,用于传入的失败登录(特别是 RDP)。
日志捕获工作正常,我正在将结果转储到队列中以供以后进行相关处理。但是,有时捕获的日志会填充(解析)IPAddress 数据字段,有时则不会。
我在观察服务器时运行了 windump,尝试从不同的服务器和操作系统风格进行我通常的 RDP 登录,我能得出的唯一结论是版本差异问题,而不是糟糕的编码。虽然我可能是错的,哈哈。
问题出在与这些连接相关的事件日志中。所有失败的 RDP 登录都会被记录下来,并得到正确处理,但有些日志根本不记录失败连接的源 IP 地址。
某些较新的 mstsc 是否会以某种方式导致远程事件日志不记录源 IP 地址?这似乎适用于我针对此 Hook 服务器运行的任何其他 2008 服务器。到目前为止,我尝试过的任何 2003 或 XP 机器都可以正确记录。
如果您需要更多信息,请告诉我。非常感谢!
编辑
我是否需要做一些疯狂的事情——比如实现 sharpPcap 并以这种方式将 IP 与事件日志相关联? =/.是否可以查询 lsass(它不是通常写入安全日志的唯一内容)吗?
最佳答案
我终于搞定了。发生这种情况是因为 RDP 连接使用了两种身份验证方法:NTLM 和 User32。我更改了 GPO 设置以终止外部 NTLM 连接。
这些是我设置的神奇的 GPO 设置。请注意,这是一个 Server 2008 R2 盒子。
必需
计算机配置\Windows 设置\安全设置\安全选项
网络安全:LAN Manager 身份验证级别——仅发送 NTLMv2 响应。拒绝 LM & NTLM
网络安全:限制 NTLM:审核传入的 NTLM 流量 -- 为所有帐户启用审核
网络安全:限制 NTLM:传入 NTLM 流量 -- 拒绝所有帐户
推荐
不允许保存密码 -- 已启用
在客户端计算机上提示输入凭据 -- 已启用
我也更改了其他一些与安全相关的 key ,但这些应该是核心 key 。强制传入网络流量不使用 NTLM 允许每个 4625 事件包含故障计算机的 IP 地址,因为它们强制使用 User32 登录。
让我知道这是否看起来完全不安全,或者可能有更好的方法来做到这一点,但这允许正确计数和记录失败尝试,同时保留连接的加密级别。
关于c# - 事件记录 IPAddress 并不总能解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1734635/
我是一名优秀的程序员,十分优秀!