我有一个 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 插件收集统计数据..
- 您能尝试确定哪个应用程序正在生成此流量吗?我看到了两种方法:
- 您是否正在运行本地 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 所建议的那样,知道哪个软件正在生成流量会很好。