使用ntp服务器的DDOS

我听说过ntp用于reflection的新型DDOS。

我的问题很简单:

  1. 你能否详细说明他们如何工作和澄清? 由于ntp是通过UDP运行的,我想假设在某个地方必须有某种伪造的数据包?

  2. 如何彻底检查一些ntp服务器是否容易受到攻击(不能参与攻击)?

  3. 如果我们成为这种攻击的目标,有什么办法可以缓解?


由于这种攻击在2014年被广泛使用,下面是一些细节:

  • 你可以在这个cve上find更多的信息。
  • “昨天傍晚01/30/2014,从CET开始的22:15,巴黎的Witbenetworking受到了使用NTP放大的分布式拒绝服务(DDOS)攻击的严重影响。
  • Ouch,350Gpbs,伤害http://www.itnews.com.au/News/372033,worlds-largest-ddos-strikes-us-europe.aspx
  • 有关ddos的通用行为可以在这里find: 我在DDoS下。 我能做什么?
  • Bbc谈到ntp攻击: http : //www.bbc.com/news/technology-26662051
  • 还有一个问题:如果我logging正确,默认情况下在127.0.0.1上监听openntpd,在0.0.0.0上监听ntpd – 我不太确定参与reflectionddos的所有ntp服务器是否需要公开地提供服务 – 仅仅是我想不熟练的系统pipe理员安装ntp本地同步时间和保留默认的configuration文件。

预防和减轻这种问题的一个简单方法是默认监听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量。

我的回答是:

  1. 这些攻击使用monlist命令(将显示为在tcpdump中保留的ntpv2)。 这些命令不受正常速率限制的速率限制。 Monlist(和其他监控命令)只能从允许“查询”你的服务器的IP地址,因此在你的默认设置中添加“noquery”。
  2. 尝试一个ntpdc -nc monlist yourip从外部IP来看你的服务器是否回答。
  3. 限制您的传入ntpstream量。 不是在ntpd本身,而是在到达守护进程之前。 在ntp池邮件列表中的“我的速率限制设置”中讨论了如何在linux中进行设置
  1. 你能否详细说明他们如何工作和澄清? 由于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服务器,所以这个问题尤其严重。