处理IPTables中的NTP反射攻击


16

我们正在托管服务器上处理NTP反射/放大攻击。此问题特定于对NTP反射攻击的响应,而不是一般针对DDoS。

这是交通:

路由器网络流量图

它在我们的路由器上浪费了一些CPU:

路由器CPU使用率图

不幸的是,它还不足以导致我们的上游提供商对流量进行黑洞处理,这意味着流量正在传递给我们。

我们使用以下规则来阻止源自端口123的NTP通信:

-p udp --sport 123 -j DROP

这是IPTables中的第一条规则。

我进行了很多搜索,但找不到关于如何使用IPTables缓解NTP反射攻击的大量信息。而且那里的某些信息似乎完全不正确。此IPTables规则正确吗?除了联系我们的上游网络提供商之外,我们还能添加或做些其他事情来缓解NTP反射/放大攻击吗?

另外:由于这些攻击者必须使用的网络

  • 允许对数据包中的IP地址进行欺骗
  • 未打补丁,约2010年NTP代码

我们可以向这些全球IP的地址报告这些IP地址,以便它们得到修复以停止允许欺骗性数据包并修补其NTP服务器吗?


10
是的,iptables规则是正确的,但是在管道末端,在服务器上运行数据包筛选器不会阻止管道填满,有关更多背景信息,请参阅:serverfault.com/questions/531941/i-am- under-ddos-what-c​​an-i-do
HBruijn

Answers:


20

从本质上讲,如果DDoS攻击设法填满通往Internet的任何管道(这是任何UDP反射攻击的目的–填满管道),您都不会感到幸运。如果您的上游链路可以承受1Gbps的流量,并且总共有2Gbps的流量通过该链路,那么一半的流量将被路由器或交换机丢弃,从而使数据包沿着链路下行。攻击者并不关心攻击流量的一半被丢弃,但是您的客户却这么做:TCP连接中50%的数据包丢失将对这些连接的性能和可靠性造成可怕的,可怕的事情。

阻止体积DDoS攻击只有两种方法:

  1. 拥有足够大的管道,以使攻击流量无法填满它。
  2. 停止攻击数据包,然后将其丢弃。
  3. 转移到不受NTP反射攻击的其他IP地址。

将它们阻止在iptables中不会蹲下来,因为到那时攻击流量已经挤出了合法流量,并导致其掉在了地板上,因此攻击者赢得了胜利。由于您(大概)不控制转发攻击流量的上游路由器或交换机,是的,您必须与上游网络提供商联系并让他们做一些事情以阻止攻击流量到达您的网络链接,无论是

  • 阻止攻击端口上的所有流量(不是大多数ISP愿意在其colo客户访问路由器上进行的操作$REASONS

  • 过滤掉攻击的源IP地址(使用S / RTBH似乎更合理,但并非每个提供商都已经可用)

  • 最坏的情况是黑洞目标IP地址

请注意,仅当您拥有其他可以继续运行的IP地址时,才对IP进行黑洞操作-如果提供商对您唯一的IP地址进行了黑洞攻击,则攻击者成功了,因为您不在Internet上,这是他们试图达到的目标首先。


您是否有任何想法,为什么ISP不想阻止流量?
安德烈·博里

4
原因很多。1. ISP获得报酬来传递流量,而不是阻止流量。2.只有高端网络设备才能对大流量(100G +)进行线路速率检查,这很昂贵。3.从客户请求转到核心路由器中的配置线路并非易事。
womble

5

我假设您有通往ISP的管道,该管道终止于您自己的路由器/防火墙。然后,在该路由器/防火墙之后,您将拥有自己的计算机。ISP不会阻止流量,因此您必须自己处理。您要阻止路由器/防火墙上的通信,以使其停止撞击路由器后面的计算机,同时最大程度地减少路由器/防火墙上的负载。

您的规则对于从标准端口上丢弃来自ntp服务器的任何内容看起来都是正确的。请记住,如果您实际上使用了ntp,则可能需要戳防火墙规则中的漏洞

如果您的防火墙使用连接跟踪(大多数情况下使用),那么您可能希望使用“原始”表在数据包到达连接跟踪机构之前将其丢弃。

iptables -t raw -A PREROUTING -p udp --sport 123 -j DROP


1

看来我们可以向NTP报告NTP滥用的IP(并希望向NTP修补)

http://openntpproject.org/

至于允许欺骗性IP的报告网络,我找不到很多

我们的测量结果表明,在我们调查的大约25%的自治系统和网络块中,欺骗仍然很普遍。更重要的是,欺骗流量的单个入口点为攻击者提供了一种将欺骗流量发送到整个Internet的方法。ISP可以使用过滤[RFC2827]以确保不欺骗其出站流量。

也许唯一的方法是直接联系ISP?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.