我在 coloc 主机上有一个 Web 服务器。所有“计划”活动都通过 HTTP 进行。(没有 FTP 服务器、没有 bittorrent 客户端、没有 IRC 机器人等。)
我的入站流量始终比出站流量高出 5-10 倍。(例如,在过去 24 小时内,我提供了 228MB 的数据,但收到的数据只有 1.94GB。)
这是 Web 服务器的标准/预期吗?(我是不是被一些恶意攻击所困扰,这些攻击的数据包大小与 0 字节响应之间的关系超过了正常的反比关系?)
如果这不是预期的情况,我应该使用什么工具来调查流量来自哪里?(服务器正在运行 Ubuntu 10.04。)
答案1
对于某些协议来说,是的。对于其他协议来说,不是。答案是,这取决于哪种流量对于您的环境来说是“正常的”。
考虑一下网页浏览(我们暂时同意它代表了办公室的正常互联网流量):
我想看看这个问题,所以我连接到 serverfault.com 并转到
GET questions/361329 HTTP/1.1
host: serverfault.com
我的出站流量(请求)的总大小:如果我们包括所有协议开销和我的浏览器对图像等发出的额外请求,那么可能为 1K。
serverfault.com 服务器处理了我的请求并返回了几百 KB 的 HTML、图像等。
出站流量:1k。入站流量:19k(截至冒号)。
如果你是服务器在该等式的一半中,您的出站流量远远超过入站流量是正常的。请看以下来自匿名 ISP 的网站托管网络的图表:
现在,如果你的流量看起来不像你想象的那样,那么你需要一个好的流量监控系统(或者花几分钟时间tcpdump
)ethereal
/等)可能会让您了解正在发生的事情,或者至少让您知道谁在哪个端口上与谁交谈。
答案2
随想:
我有一个 nginx 服务器,它代理其后面的应用服务器。如果您有类似的设置,来自应用服务器的响应负载通过您的 Web 服务器是否被视为“入站”?
您可以检查您的网络服务器日志来查看是否有任何 POST 请求进来。
您网站上的任何 URL 是否接受 POST 数据?Web 服务器有限制正文大小的方法;也许这会导致一些解决方案。例如,这将在 nginx 中将 POST 正文大小限制为 1 MB:
客户端最大主体大小1米;
最后,如果服务器不应该接收除 Web(和 SSH)流量之外的任何流量,请使用 iptables 阻止除 80 和 22 之外的所有内容。