在具有 nginx/apache(反向代理设置)的简单 Web 服务器配置(CentOS 7)上,我在一个 NIC(eth0)上有大量传入流量。
1. 有没有办法找出导致它的原因或“它到达哪里”?
没有运行 FTP、邮件或 DB 服务。DB(MongoDB 和 MySQL)位于不同的服务器上,并且连接位于不同的 NIC(eth1)上。
eth0 是公用的,而 eth1 连接到没有外部访问权限的私有交换机。有一个防火墙,对于 eth0,只有端口 80、443 和 22 是开放的。Fail2ban 每天禁止几百个 IP(尝试通过 ssh 登录),但这与我的其他服务器类似。
2. 如果有人向任意端口(即 555)发送任意数据(防火墙应该阻止该端口),vnstat 是否仍会记录所有数据,还是仅记录标头的大小而拒绝其余数据?
我在服务器上找不到任何可疑文件。该网站不提供任何上传机制。
我正在用 vnstat 记录流量。过去 24 小时的情况如下:
h rx (MiB) tx (MiB) h rx (MiB) tx (MiB) h rx (MiB) tx (MiB)
13 4045.50 6184.14 21 2683.89 4172.90 05 1652.97 1226.57
14 3210.47 4768.60 22 2923.88 3303.21 06 1473.85 1686.85
15 3310.31 5880.16 23 1850.60 1909.20 07 1506.75 3185.17
16 3697.05 5347.17 00 1924.60 1544.29 08 2412.61 3972.74
17 2656.44 4270.50 01 3103.59 2019.04 09 2602.51 5185.76
18 1889.34 4209.50 02 1890.90 1014.04 10 3353.67 6353.20
19 1679.18 5564.48 03 2502.21 1197.43 11 1792.24 6760.07
20 2661.70 14444.84 04 2187.66 1089.72 12 571.53 1852.97
在晚上,在这种情况下是午夜到凌晨 5 点(UTC)之间,传入流量甚至超过传出流量,这对我来说没有多大意义 - 它仍然只是一个网站。
tcpdump 显示端口 443 上有很多活动,而端口 80 上则少得多,但长度几乎总是 0。有时会有几个字节,但这不足以弥补每小时几 GB 的流量。端口 22 上几乎没有任何活动。
tcpdump -l -n -i eth0 dst port 443 and inbound
12:40:50.682931 IP 1.2.3.4.13416 > 1.2.3.4.http:
Flags [.], ack 173761, win 428, options [nop,nop,TS val 223856478 ecr 281640876], length 0
我想找出此流量的来源或原因并以某种方式将其锁定。