我的虚拟主机用mrtg显示入站和出站stream量。 我有稳定的来自尼日利亚的入境stream量3.5mbps。 即使假设源IP地址和目的端口被Iptables阻塞,并且没有在这些端口上进行监听,stream量是否仍然会通过交换机并“获取”到我的服务器(我的服务器浪费CPU周期“丢弃”数据包) ? 假设我设置了硬件防火墙,假设防火墙在交换机后面,stream量仍然会显示在mrtg中?
那么有没有什么办法可以阻止某个人使你的100Mbps线路饱和,如果他们也有100Mbps的线路呢? 除了向尼日利亚好心人提起虐待投诉吗?
像iptables
这样基于软件的stream量过滤将消耗CPU来丢弃数据包,但是除非你有一个非常低功耗的服务器,否则它是微不足道的。 尽可能早地丢弃不需要的stream量。 如果可能的话,使用iptables
速率限制function来限制不属于你想要的任何类别的stream量限制。
服务器类网卡具有诸如TOE和校验和卸载等function,可降低CPU对接收stream量的影响。
那么有没有什么办法可以阻止某个人使你的100Mbps线路饱和,如果他们也有100Mbps的线路呢?
不是真的。 您可以通过减less不需要的传入stream量和build立TCP tarpits来缓解攻击,但最终如果有人只是想向您推送100mbps的随机stream量,并且能够,他们可以。
解决方法是使用CDN或多个站点托pipe的多个IP在地理上多样化您的内容。 这是复杂而昂贵的,但值得研究,如果你需要的可靠性。
另一种解决scheme是在服务器之前引入您的ISP或服务提供商负责networking。
他们可以有像硬件防火墙这样的设施来保护您免受这种DoS攻击。
你自己在连接的终点,任何和所有的防火墙,过滤等你自己可以做的将是已经跨越到您的网站线路的stream量,是已经消耗部分input带宽的stream量。
许多ISP实际上只会向您收取传出stream量的费用,所以在这种情况下,默默丢弃不需要的传入stream量的防火墙就足够了。 服务器上的软件防火墙始终是一个好主意,通常会消耗可忽略的资源。 或者使用设备或路由器来防火墙。
为了防止不必要的stream量到达您的网站,您必须采取进一步的上游措施。 通常,这将是您的电信提供商或ISP将愉快地收取您的设置和维护的东西。