我在 Ubuntu 服务器上使用 iptables。它是 VPS 上的 Web 服务器。
我想知道我是否应该对数据包进行速率限制。如果是这样,我应该限制什么?我应该在全球范围内还是按 IP 地址这样做?
参考
我看到有人提出这个建议:
# Limit packet traffic on a TCP or UDP port:
iptables -A INPUT -p $proto --destination-port $port --syn -m state --state NEW -m limit --limit $lim/s --limit-burst $lb -j ACCEPT
# Limit established/related packet traffic:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit $lim/s --limit-burst $lb -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
以上,全局速率限制似乎不是很有用,至少对于我可以想象的情况。有没有我应该在全球范围内限制速率的情况?
我相信每个 IP 的速率限制通常更好:
# Add the IP to the list:
iptables -A INPUT -p $proto --destination-port …
Run Code Online (Sandbox Code Playgroud) 我读到某些类型¹的 ICMP 数据包可能有害。问题:
[¹] 我读到的类型:重定向 (5)、时间戳 (13) 和地址掩码请求 (17)。请不要在你的答案中只考虑这些。
更多信息
它是带有 Ubuntu Server 的 VPS 上的 Web 服务器。
我的目标是让系统更安全,降低一些 D/DoS 攻击和普遍滥用的风险。