我听说过ntp用于reflection的新型DDOS。
我的问题很简单:
你能否详细说明他们如何工作和澄清? 由于ntp是通过UDP运行的,我想假设在某个地方必须有某种伪造的数据包?
如何彻底检查一些ntp服务器是否容易受到攻击(不能参与攻击)?
如果我们成为这种攻击的目标,有什么办法可以缓解?
由于这种攻击在2014年被广泛使用,下面是一些细节:
预防和减轻这种问题的一个简单方法是默认监听127.0.0.1? 我想这是真的任何服务(bind9,mysql,…)?
这些袭击已经存在了很长时间,在过去的几个月里,它们再次成为人们的热门话题。 他们的工作方式与普通的放大攻击相似:主机欺骗一个查询,使源IP地址成为目标主机。 NTP服务器将其答复发送到欺骗地址。 由于特定查询types的答案可能相当大,并且通常是UDP,所以这对于目标主机来说可能会很快成为问题:它正在被NTP数据包吞噬。
不幸的是,这不是NTP服务器的漏洞,只是一个被滥用的function。 有一点需要考虑的是,如果你需要运行可以从整个互联网上查询的NTP服务器。 如果不需要,请创build访问列表或防火墙策略以阻止来自不可信来源的查询。 那么,你可以做什么来检查你的NTP服务器是否易受攻击,从不受信任的来源进行NTP查询,并validation你是否得到答案。 但不幸的是,有相当多的NTP服务器是通过意图公开的(例如pool.ntp.org所有服务器)。 如果您需要运行公共NTP服务器,则可以考虑实施查询速率限制,以减less滥用时对目标主机的影响。
解决scheme的另一个更通用的部分是networking需要实现BCP38 ,告诉他们过滤掉离开他们networking的stream量,所以发送欺骗数据包是不可能的。 不幸的是,仍然有大量的networking没有实现这种过滤,所以所有利用伪造的源包(使用任何协议如NTP,DNS或者chargen)的攻击仍然是可能的。
你可以做些什么来减轻这种攻击,这取决于你的networking和工具的可用性,但是你应该考虑的一件事就是阻止来自不受信任源的NTP包(所以你要检查你正在使用哪个NTP服务器)。 当然,如果你的上行链路拥塞,这并没有帮助。 在这种情况下,您需要询问您的ISP来帮助您过滤stream量。
我的回答是:
- 你能否详细说明他们如何工作和澄清? 由于ntp是通过UDP运行的,我想假设在某个地方必须有某种伪造的数据包?
US-CERT在“ Alert(TA14-017A)UDP-based Amplification Attacks ”和“ Alert(TA14-013A)NTP Amplification Attacks Using CVE-2013-5211 ”中对这种攻击有很好的描述。
TA14-013A最好说:
描述
UDP在devise上是一种无连接协议,不validation源IP地址。 除非应用层协议使用诸如会话发起之类的对策,否则伪造IP分组数据报非常容易包含任意源IP地址[7]。 当许多UDP数据包的源IP地址被伪造成一个单独的地址时,服务器响应这个受害者,产生一个reflection拒绝服务(DoS)攻击。
最近,已经发现某些UDP协议对某些比初始请求大得多的命令有特定的响应。 在那之前,攻击者被直接发送到目标的数据包的数量线性地限制进行DoS攻击,现在单个数据包在其响应中可以产生数十或数百倍的带宽。 这就是所谓的放大攻击,与大规模的reflection式DoS攻击相结合,使得DDoS攻击相对容易。
所包含的关于“带宽放大因子(BAF)”的图表显示NTPperformance出最差的行为。 由于NTP是一个非常普遍的协议,许多Linux操作系统都带有一个活动的NTP服务器,所以这个问题尤其严重。