我没有最强的计算机安全背景,但昨天我的一台服务器被我们的主机closures了。
这是一个分配了公共IP的服务器,我托pipe了几个Web服务应用程序,包括网站和API。 有人告诉我,我的服务器“正在运行一个开放的DNSparsing器,用于将拒绝服务攻击转发给外部实体。”
这是什么意思? 这个攻击如何工作? 我怎样才能保护我的系统免受这样的虐待?
在我的具体情况下,有问题的服务器在Windows Server 2012上,它正在为Active Directory域提供DNS服务。
“开放式DNSparsing器”是一个DNS服务器,它愿意parsing互联网上任何人的recursionDNS查询。 这就像一个开放的SMTP中继,简单的缺乏身份validation允许恶意的第三方使用不安全的设备传播他们的有效载荷。 打开SMTP中继,问题是他们转发垃圾邮件。 使用开放的DNSparsing器,问题是他们允许被称为DNS放大攻击的拒绝服务攻击。
这种攻击的方式非常简单 – 因为您的服务器将parsing来自任何人的recursionDNS查询,攻击者可以通过向您的服务器发送recursionDNS查询来返回大量数据,从而使其参与到DDoS中原始的DNS请求包。 通过欺骗(伪造)他们的IP地址,他们会将这些额外的stream量引导到受害者的计算机而不是他们自己的计算机上,当然,他们会尽可能多地向您的服务器发送请求,以及任何其他开放的DNS他们可以findparsing器。 以这种方式,一个pipe道较小的人可以通过使用pipe道上的所有带宽来“扩大”拒绝服务攻击,从而将更多的stream量引导到受害者身上。
ArsTechnica就最近对Spamhaus的DNS Amplification DDoS攻击做了一个体面的文章 ,值得快速阅读以获得基础知识(以及放大的良好视觉效果)。
保护系统免受这种滥用的最简单方法是限制服务器对本地子网执行recursion查找的地址。 (当然,具体取决于您使用哪个DNS服务器)。
例如,如果我使用的是BIND 9,并且想要防止从外部地址进行DNSrecursion,那么我会在我的configuration文件中使用以下代码:
options { directory "/var/named/master"; allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/12; };
这行代码告诉我的BIND服务器只处理本地回送地址(我想我可以/应该设置到本地回送块,整个/ 8)和3个私有IPv4地址空间的recursionDNS请求。
对于您所说的Windows Server 2012,您有以下选项。
Remote IP address部分,并添加LAN上使用的子网,以及任何需要访问Active Directory的服务器的公共IP地址。 与BIND示例一样,IPv4专用地址空间是127.0.0.0/8 10.0.0.0/8 192.168.0.0/16和172.16.0.0/12 。