过去几周我收到了无数次 DDoS 攻击。刚才我在运行 iptraf 时捕获了一次。通常我的服务器上使用的 99.9% 的数据包都是 TCP 数据包,而不是 UDP。我看到了一些使用,但通常很少。
现在,当攻击发生时,我注意到每秒有数千个 UDP 数据包传入。tcpdump 还显示了以下内容:http://pastebin.com/raw.php?i=QaybC8C1。
我运行的是 CENTOS 5.6,仅将其用于 nginx (80,443)、ssh (22)、ftp (21)。我不运行名称服务器、电子邮件或类似的东西。
我的问题是。我可以通过 iptables 阻止所有传入的 UDP 流量吗?这对 UDP ddos 攻击有效吗?如果我可以阻止所有 UDP 流量,这会在 Linux 中造成任何问题吗?
答案1
- 是的,你可以阻止 UDP 数据包
- 除非您允许传入的 DNS 数据包进行 DNS 查询,否则它不会造成问题。(相关数据包)
答案2
根据您捕获的图像,它看起来像是 DOS 而不是 DDOS,因为源 IP 地址相同。看起来他们正在尝试连接到 UDP 端口 17(QOTD -http://en.wikipedia.org/wiki/QOTD),如果我正确读取了捕获的数据,我可能没有正确读取,因为我从未使用过 tcpdump。一开始只阻止那个 ip 地址或那个端口怎么样?
答案3
我可以通过 iptables 阻止所有传入的 UDP 流量吗?
当然——但它可能对你没有任何好处。
这对 UDP ddos 攻击有效吗?
取决于 DDoS 攻击的对象。从您的其他问题来看,显然带宽是您关心的问题;因此,一旦请求已经攻击您的服务器,就丢弃该请求对您没有好处;尤其是因为您当前的配置很可能已经立即丢弃了数据包。
如果我可以阻止所有 UDP 流量,这会在 Linux 中引起任何问题吗?
是的。UDP 是一种无状态协议;例如,阻止所有流量将阻止对您的服务器发出的 DNS 请求的入站回复。
我仍然不相信这完全是 DoS 攻击(而且正如 @joeqwerty 指出的那样,这显然不是 DDoS 攻击);他们肯定耗尽了你的入站带宽,但这可能不是故意或恶意的。
流量来源似乎是一个合法的数据中心;64.37.60.212 是这些家伙(我假设这些 PTR 记录是合法的,请确认源 IP 与 PTR 记录相匹配),并且他们对滥用流量有非常明确的政策发布;如果没有其他事情,你可以联系他们的滥用地址。
更确切地说,“攻击”流量看起来是碎片化的 UDP 数据包,长度恰好为 8192 字节 - 这让我觉得像是某种文件传输。由于您正在运行 Web 服务器,因此远的更有效(也是更常见)的 DDoS 策略是在开放端口上使用 TCP 连接,耗尽系统资源,而不必在本地使用与其消耗的下游带宽一样多的上行带宽。
你能看看他们发送数据到哪个端口吗?这可能真的能解释这个问题。
编辑:我猜是 NFS-端口 2049。