我们在开发和生产环境中总共使用了 7 个 Windows Server (2008/2012) R2 标准版。上个月我们的服务器遭到入侵,我们在 Windows 事件查看器中发现了许多失败尝试日志。我们尝试了 cyberarms IDDS,但之前效果并不好。
现在我们已经重新镜像了所有服务器,并重命名了管理员/访客账户。在重新设置服务器后,我们使用这个idds检测并阻止不需要的 IP 地址。
IDDS 运行良好,但我们仍然在事件查看器中收到 4625 个事件,但没有任何源 IP 地址。我该如何阻止来自匿名 IP 地址的这些请求?
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'>
<System>
<Provider Name='Microsoft-Windows-Security-Auditing' Guid='{54849625-5478-4994-A5BA-3E3B0328C30D}'/>
<EventID>4625</EventID>
<Version>0</Version>
<Level>0</Level>
<Task>12544</Task>
<Opcode>0</Opcode>
<Keywords>0x8010000000000000</Keywords>
<TimeCreated SystemTime='2015-04-18T15:18:10.818780700Z'/>
<EventRecordID>187035</EventRecordID>
<Correlation/>
<Execution ProcessID='24876' ThreadID='133888'/>
<Channel>Security</Channel>
<Computer>s17751123</Computer>
<Security/>
</System>
<EventData>
<Data Name='SubjectUserSid'>S-1-0-0</Data>
<Data Name='SubjectUserName'>-</Data>
<Data Name='SubjectDomainName'>-</Data>
<Data Name='SubjectLogonId'>0x0</Data>
<Data Name='TargetUserSid'>S-1-0-0</Data>
<Data Name='TargetUserName'>aaron</Data>
<Data Name='TargetDomainName'>\aaron</Data>
<Data Name='Status'>0xc000006d</Data>
<Data Name='FailureReason'>%%2313</Data>
<Data Name='SubStatus'>0xc0000064</Data>
<Data Name='LogonType'>3</Data>
<Data Name='LogonProcessName'>NtLmSsp </Data>
<Data Name='AuthenticationPackageName'>NTLM</Data>
<Data Name='WorkstationName'>SSAWSTS01</Data>
<Data Name='TransmittedServices'>-</Data>
<Data Name='LmPackageName'>-</Data>
<Data Name='KeyLength'>0</Data>
<Data Name='ProcessId'>0x0</Data>
<Data Name='ProcessName'>-</Data>
<Data Name='IpAddress'>-</Data>
<Data Name='IpPort'>-</Data>
</EventData>
</Event>
更新 : 检查了我的防火墙日志后,我认为这些 4625 事件与 Rdp 无关,但可能是 SSH 或任何其他我不熟悉的尝试
答案1
即使启用了 NLA,失败的 RDP 尝试的 IP 地址也会记录在此处(无需调整)(在 Server 2012 R2 上测试,不确定其他版本是否适用)
应用程序和服务日志 > Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational(事件 ID 140)
记录的文本示例:
由于用户名或密码不正确,IP 地址为 108.166.xxx.xxx 的客户端计算机连接失败。
XML:
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Microsoft-Windows-RemoteDesktopServices-RdpCoreTS" Guid="{1139C61B-B549-4251-8ED3-27250A1EDEC8}" />
<EventID>140</EventID>
<Version>0</Version>
<Level>3</Level>
<Task>4</Task>
<Opcode>14</Opcode>
<Keywords>0x4000000000000000</Keywords>
<TimeCreated SystemTime="2016-11-13T11:52:25.314996400Z" />
<EventRecordID>1683867</EventRecordID>
<Correlation ActivityID="{F4204608-FB58-4924-A3D9-B8A1B0870000}" />
<Execution ProcessID="2920" ThreadID="4104" />
<Channel>Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational</Channel>
<Computer>SERVER</Computer>
<Security UserID="S-1-5-20" />
</System>
- <EventData>
<Data Name="IPString">108.166.xxx.xxx</Data>
</EventData>
</Event>
答案2
这是 4625 事件和使用 TLS/SSL 的 RDP 连接的已知限制。您需要对远程桌面服务器设置使用 RDP 加密,或者获取更好的 IDS 产品。
答案3
您应该使用内置的 Windows 防火墙及其日志记录设置。日志将告诉您所有传入连接尝试的 IP 地址。由于您提到所有服务器都面向互联网,因此确实存在不不使用 Windows 防火墙作为纵深防御策略的一部分的借口。我特别建议不是关闭 NLA(网络级身份验证),因为过去对 RDP 的许多攻击都已通过使用 NLA 得到缓解,并且仅影响运行经典 RDP 加密的 RDP 会话主机。
答案4
此事件通常是由过期的隐藏凭证引起的。尝试从出现错误的系统中执行此操作:
从命令提示符运行: psexec -i -s -d cmd.exe
从新的 cmd 窗口运行: rundll32 keymgr.dll,KRShowKeyMgr
删除“存储的用户名和密码”列表中显示的所有项目。重新启动计算机。