DNSSEC具有一些风险,但它们与反射或放大没有直接关系。在这种情况下,EDNS0邮件大小扩展为红色鲱鱼。让我解释。
不依赖于以前的身份证明的任何数据包交换都会受到DDoS攻击者的滥用,攻击者可以将未经身份验证的数据包交换用作反射器,也可能用作放大器。例如,可以以这种方式滥用ICMP(“ ping”后面的协议)。就像TCP SYN数据包一样,TCP SYN数据包也可请求多达40个SYN-ACK数据包,即使SYN被欺骗是来自某些不希望这些SYN-ACK数据包的受害者。当然,所有UDP服务都容易受到此攻击,包括NTP,SSDP,uPNP,并且如此处其他响应所指出的,也包括DNS。
大多数入侵检测,入侵防御和负载平衡器设备都是瓶颈,无法跟上“线路速率”流量。同样,许多路由器不能以线速运行,有些交换机也不能。这些瓶颈(在路径中)是最小的,并且比链接本身小,它们是基于拥塞的DDoS攻击的实际目标。如果您可以让某人的防火墙忙于攻击流量,那么即使链接未满,也不会通过良好的流量。减慢防火墙速度的不是每秒的位数(可以通过使用更大的消息来增加,而EDNS0和DNSSEC可以增加),而是每秒的数据包总数。
由于DNSSEC的邮件大小较大,关于DNSSEC如何使DDoS变得更糟,这方面有许多都市传说,尽管这具有直觉性和“听起来不错”,但这完全是错误的。但是,如果这个传说有真相,那么真正的答案仍然会摆在其他地方-[因为DNSSEC始终使用EDNS0,但是EDNS0可以不使用DNSSEC使用],并且许多常规的非DNSSEC响应都和DNSSEC一样大。回应会。考虑用于表示SPF策略或DKIM密钥的TXT记录。或者只是任何大型地址或MX记录集。简而言之,无需攻击就可以使用DNSSEC,因此,将DNSSEC作为DDoS风险的任何关注都是浪费精力。
DNSSEC确实有风险!它很难使用,而且很难正确使用。通常,它需要新的工作流程来进行区域数据更改,注册商管理以及新服务器实例的安装。所有这些都必须经过测试和记录,并且每当与DNS相关的问题出现故障时,都必须对DNSSEC技术进行调查,作为可能的原因。如果您做对了所有事情,最终结果将是,作为区域签名者,您自己的在线内容和系统对客户而言将更加脆弱。作为远程服务器运营商,结果将是,其他人的内容和系统对您来说都将更脆弱。人们通常认为这些风险超过了收益,因为唯一的好处是保护DNS数据免于进行中的修改或替换。这种攻击非常罕见,因此不值得所有这些努力。我们都希望DNSSEC有一天会成为主流,因为它将启用新的应用程序。但是事实是,今天,DNSSEC完全是成本,没有收益,而且风险很高。
因此,如果您不想使用DNSSEC,那是您的特权,但是不要让任何人混淆DNSSEC的问题是其作为DDoS放大器的作用。DNSSEC无需充当DDoS放大器;还有其他更便宜的更好方法将DNS用作DDoS放大器。如果您不想使用DNSSEC,请放开它,因为您还没有喝醉Kool Aid,并且想要成为后一个行动者(后来)而不是第一个行动者(现在)。
必须防止DNS内容服务器(有时称为“权威服务器”)被滥用为DNS反射放大器,因为DNS使用UDP,并且UDP可被欺骗性源数据包滥用。保护您的DNS内容服务器免遭这种滥用的方法既不是阻止UDP,也不是强制TCP(使用TC = 1技巧),也不是阻止ANY查询,也不选择退出DNSSEC。这些东西都不会帮助您。您需要DNS响应速率限制(DNS RRL),这是一种完全免费的技术,目前已在包括BIND,Knot和NSD在内的数个开源名称服务器中使用。您无法解决防火墙的DNS反射问题,因为只有内容感知中间箱(例如DNS服务器本身(添加了RRL))对请求了解得足够多,才能准确地猜测什么是攻击,什么不是攻击。我想再次强调:DNS RRL是免费的,每个授权服务器都应运行它。
最后,我想揭露我的偏见。我写了大多数BIND8,发明了EDNS0,并共同发明了DNS RRL。自1988年以来,我从事DNS的工作已有20余年,而现在我脾气暴躁的是50余年,对于半生半熟的被误解的解决方案的耐心越来越少。如果此消息听起来太像“嘿,孩子们,请从我的草坪上走出去!”,请接受我的歉意。