运行带有 IIS 8 的 Windows 2012 服务器。
Windows 安全日志
该日志显示 6 小时内登录尝试失败次数约为 40,000 次 / 每天超过 160,000 次。
示例数据
我的服务器 IP 地址 ***** 登录失败的 IP
TCP xxx.xxx.xxx.123:3389 *** 60.174.69.158:38578 已建立
TCP xxx.xxx.xxx.122:3389 *** 100.38.123.93:64161 已建立
TCP xxx.xxx.xxx.125:3389 *** 5.39.217.104:34567 已建立
如何在服务器上查找远程桌面连接日志?
我检查了这个 Stack Exchange 链接服务器遭受 DDOS 攻击,但它似乎是用于 Linux 的,因此日志参考不适用于 IIS。
谢谢...
答案1
解决方案
来自微软的 Yuk Ding 提供了以下 Server Fault 链接:如何获取 IP 地址,其中包含几个用于记录我一直在寻找的登录 IP 地址的选项。
看来默认日志中没有提供此信息,而这正是我所寻找的。看来必须创建一个事件监听器才能记录 IP 地址。
PowerShell 脚本读取 IP 地址
SET logfile="rdp_ip_logs.log"
netstat -n | find ":3389" | find "ESTABLISHED">>%logfile%
@chaz 提供了一个有用的 PowerShell 脚本来读取与失败的登录尝试相关的 IP 地址,点击这里。
Windows 防火墙脚本用于阻止 IP 地址
我发现了一个非常有用的 PowerShell 脚本,可以自动执行阻止 Windows 防火墙中的 IP 地址的任务。该脚本由 Jason Fossen 编写。
以下内容摘自 Jason 的网站这里。
基于主机的 Windows 防火墙可通过脚本和 NETSH.EXE 命令行工具轻松管理。本文介绍一个简单的 PowerShell 脚本,该脚本可以创建规则来阻止对数千个 IP 地址和网络 ID 范围的入站和出站访问,例如针对攻击者和不受欢迎的国家/地区。
要获取该脚本,请在此处或从下载页面下载 SEC505 压缩文件,打开压缩文件并在“Day5-IPSec”文件夹中查找名为 Import-Firewall-Blocklist.ps1 的脚本(以及示例 BlockList.txt 文件)。与压缩文件中的所有其他脚本一样,此脚本是免费的,属于公共领域。
与 C# 集成的脚本
我编写了一个 C# 程序来集成这些脚本,将每天超过 160,000 次的登录失败次数减少到很小。
希望这篇简短的文章/链接能为其他遇到同样问题的人提供一些帮助。如果您有问题/疑问,请联系我。