出站 DNS 流量过多

出站 DNS 流量过多

我有一个 VPS 系统,在一台主机上用了 3 年,没有出现任何问题。最近,主机开始发送极端到 31.193.132.138 的出站 DNS 流量量。由于 Linode 对此的回应方式,我最近离开了 Linode 并转向了 6sync。服务器已在 6sync 上完全重建,但 postfix 邮件配置除外。

目前运行的守护进程如下:

sshd nginx postfix dovecot

php5-fpm(仅限本地主机) spampd(仅限本地主机) clamsmtpd(仅限本地主机)

鉴于服务器已 100% 重建,我找不到针对上述守护进程的任何严重漏洞,密码已更改,ssh 密钥甚至在重建时还不存在,等等……这似乎极不可能是一个用于对地址进行 DoS 攻击的妥协。

提供的 IP 在网上被标记为已知垃圾邮件来源。我最初的假设是它试图使用我的 postfix 服务器作为中继,它提供的虚假地址是将该 IP 注册为其名称服务器的域。我可以想象,根据我的 postfix 配置,对 SPF 信息等内容的 DNS 查询数量将等于或大于尝试发送的垃圾邮件数量。

Linode 和 6Sync 都表示出站流量极不成比例。以下是我从 Linode 收到的有关出站流量的所有信息:

21:28:28.647263 IP 97.107.134.33.32775 > 31.193.132.138.53: 28720 op8+% [b2&3=0x4134] [17267a] [30550q] [28773n] [14673au][|domain]
21:28:28.647264 IP 97.107.134.33 > 31.193.132.138: udp
21:28:28.647264 IP 97.107.134.33.32775 > 31.193.132.138.53: 28720 op8+% [b2&3=0x4134] [17267a] [30550q] [28773n] [14673au][|domain]
21:28:28.647265 IP 97.107.134.33 > 31.193.132.138: udp
21:28:28.647265 IP 97.107.134.33.32775 > 31.193.132.138.53: 28720 op8+% [b2&3=0x4134] [17267a] [30550q] [28773n] [14673au][|domain]
21:28:28.647266 IP 97.107.134.33 > 31.193.132.138: udp

6sync 无法确认最近外发流量激增是否发往同一 IP 或通过 DNS,但我推测是这样的。目前我的服务器正在阻止整个 31.0.0.0/8 子网,以便在我弄清楚之前阻止这种情况。

有谁有任何知道发生了什么事吗?

答案1

不是答案,只是一些随机的想法:

  • 当你在 [虚拟] 网络接口上运行 tcpdump 时,你能看到这些流量吗?如果是的话,你能试着找出是否存在每日/每小时的模式吗?你可以创建 iptables 规则来计算流量,然后允许munin 插件收集统计数据..
  • 您能尝试确定哪个应用程序正在生成此流量吗?我看到了两种方法:
    • 野蛮的方法是等到流量显示出来然后开始一个接一个地杀死应用程序。
    • 温和的方法 - 在 OUTPUT 链上使用 iptables,并且所有者匹配日志将端口 53 上的数据包输出到系统日志。类似于: iptables -I OUTPUT -p udp --dport 53 --match 所有者 --uid-owner 33 -j LOG --log-prefix "uid 33"应用于所有您使用的 uid。检查系统日志以查看哪个进程生成了不需要的流量。
  • 您是否正在运行本地 DNS 服务器 [例如 bind]?如果是:
    • 还可以嗅探环回,看看哪个应用程序可能发送导致不必要流量的请求。
    • 外部服务器可以与您的 DNS 服务器通信吗?如果可以 - 这可能是某种反向散射攻击,您的服务器会从欺骗地址接收数据包,然后对受害者进行轰炸。
  • 您是否 110% 确定您的 php 代码没有被更改?您的某些脚本是否可能包含一些恶意代码行?

答案2

我(还)不知道流量是多少,但我可以确认不是符合的 DNS 流量。

12 字节标头包含:

  • 2 字节 ID 字段(28720 - 0x7030)
  • 2 字节标志字段(0x4134)
  • 4 * 2 字节记录计数[17267a] [30550q] [28773n] [14673au]

普通递归查询中的标志应该为 0x0100。4 个计数应为 (1, 0, 0, 0+)。

答案3

尝试以详细模式 (-v) 运行 tcpdump 以查看实际进行的 DNS 请求和回复。这可能是一些通过 DNS 的 IP 隧道。如 pQd 所建议的那样,知道哪个软件正在生成流量会很好。

相关内容