Answers:
首先,正如您的标题所暗示的那样,这种攻击不是(主要)针对DNS本身。当然,它会在DNS服务器上产生一些额外的负载,但主要目的是为了对其他人进行DDoS。错误的服务器配置可能会使情况变得更糟,但最终,此问题是DNS和UDP以及实际上任何无状态通信协议的设计所固有的。
基本上是这样的:攻击者将普通(DNS)查询发送到(DNS)服务器。这些查询被伪造为看起来好像它们源自目标系统。DNS服务器现在回答查询,将答案发送回其所谓的来源-受害人。这就是为什么它被称为反射攻击。
这是可能的,因为您可以验证无状态通信的源(作为UDP上的DNS),以及可以信任明信片上的发件人地址。服务器无法确定查询是合法的还是此类攻击的一部分。DNS只是这里最受欢迎的协议,因为它周围有很多服务器,并且您不需要太多的技术知识或特殊设备来使用它。
为了使事情变得更糟(并提高攻击效率),请看一下放大部分。如果攻击者的流量与所产生的流量相等,则危害不大。攻击者的唯一好处是,他的地址隐藏在DNS服务器后面。他可以直接伪造发件人地址,完全不需要通过DNS重新路由。但是DNS的答案,这就是为什么DNS在这里如此受欢迎的另一个原因,可能比问题要大得多。您可以根据所使用的确切查询在此找到不同的数字,但是如果服务器足够友好以执行递归查询,则可以达到1:60。为了你。因此,攻击者不需要很多受其控制的机器即可产生大量恶意流量。
由于您可以轻松地在公共互联网上找到成千上万个“开放式” DNS服务器,因此您可以快速算一下,如果攻击者知道的每个开放式DNS服务器都会将其查询放大六倍,从而使攻击者几乎不需要做任何工作。正如我在开始时所说的那样,没有真正好的方法来对此进行反制。自然,由于配置错误,许多DNS服务器自然对所有人开放,而对所有人都不开放。但是有很多必须打开的开放服务器,因为这正是它们的目的。
虽然您无法确定请求是否属于攻击的一部分,但是您唯一的选择就是不再运行服务器。您可以摆弄限速玩具和其他玩具,但不能完全摆脱这种限制。如果您提供DNS娱乐,则可以将请求的源IP列入黑名单。但是,如果您的规模更大,这将对受害者造成更大的伤害。请记住,您在DNS服务器上看到的就是受害者的地址。想象一下,您的公司正在通过提供商的DNS受到攻击,并且提供商决定削减公司的DNS服务。攻击者可以将此作为与拒绝服务有关的不计其数的奖励积分。
无论如何,这些攻击全天候发生,被认为是互联网的“背景噪音”。如果您设置了公共(递归)DNS服务器,那么您很快就会参与随机攻击。当然,当大型基础设施(例如dns根服务器)被滥用放大时,情况有时会变得非常糟糕,但是在这种情况下,人员会采取积极的对策,直到攻击降至“正常”水平。
到目前为止,在教学上。最后要回答您的问题:
您知道如果服务器无限制地回答查询,则服务器很容易受到攻击。期。如果您要提供递归查询,则服务器可以为攻击者生成上述1:60的比率。如果它只提供非递归服务,那还不算坏,但是仍然...
所以...
allow-recursion
和allow-query
指令allow-recursion
为“无”;。
iptables -A INPUT -p udp --dport 53 --set --name dnslimit
iptables -A INPUT -p udp --dport 53 -m recent --update --seconds 60 --hitcount 11 --name dnslimit -j DROP
现在,考虑到这些要点,您应该一切顺利。您的服务器上有时可能仍然存在恶意流量,但数量不多,因此您无法一夜安眠。