Windows DNS 服务器上的黑洞 DNS

Joh*_*ohn 3 domain-name-system windows blacklist blackhole

我正在考虑为某种基于 DNS 的黑洞操作配置我们的 Windows DNS 服务器。理想情况下,我们将能够使用来自 MalwareDomains.com 等的提要。我很好奇人们如何设置和实施这样的设置。工作流程如下所示:

  1. 下拉和解析提要列表的脚本
  2. 将提要列表发布到 Windows DNS 的脚本
  3. 由于新的 DNS 条目,错误连接停止

我面临的挑战是第 2 步。我不确定如何将大量 DNS 条目发布到 Windows DNS 服务器中。理想情况下,这适用于 Server 2008 或更新版本。

Wes*_*ley 5

要攻击 #2, “将提要列表发布到 Windows DNS 的脚本”,您很可能会dnscmd以某种方式使用。您需要使用一些 PowerShell cmdlet(例如get-contentwrite-host可能的示例)将提要列表分成与在您自己的 DNS 服务器中创建ACNAME记录相关的信息位。然后将相关信息粘贴到变量中以供dnscmd使用。

为了攻击#3,你会创建误导人们的记录。因此,要么A记录指向您控制下的 IP 地址(可能是您控制的 Web 服务器显示“您已被阻止!期待来自 HR 的电话,哈哈!!1”),或者只是将人们发送到 0.0.0.0。另一种选择是将域 CNAME 到您控制的 Web 服务器。

与其自己构建,不如考虑站在为您完成大部分工作的人的支持下:Windows DNS Server Sinkhole Domains Tool。这是 SANS Institute 支持的 PowerShell 脚本,用于管理 Windows DNS 服务器上的 DNS 黑名单。有一个名为Windows HOSTS File Script To Block Bad Domains的姊妹项目,可以预见,它使用本地机器上的主机文件,这听起来很恶心,但也许可以使用 GPO 将其推送到您的 Windows 客户端(只要用户权限不允许任何主机文件篡改,并假设您的 Active Directory 控制您要使用黑名单的所有 PC)。

至于关于阻塞的报告,这有点困难,因为我发现 Windows DNS 并没有真正具有每个域的响应报告。可能对您有利的是对列入黑名单的域进行 CNAME,然后使用您将列入黑名单的域 CNAME 到的 Web 服务器的功能作为检查谁在做什么的一种手段。理论上,您可以根据引用域和源 IP 地址来解构传入的 HTTP 请求,并制作一组漂亮的报告。AWStats 甚至可能提供一些开箱即用的帮助。