- 论坛徽章:
- 0
|
我想限制TCP每 10秒 30发 和 1分钟 480发 和 5分钟 10000发
请问用 iptable 应该如何写呢 ?
我试过这样, 但好像不行, 我伺服器只有WEB服务, 我这样做的目的
10秒 30发 <- 因为我没有用 keep-alive, 这样设定比较合理
1分钟 480发 <- 超过就一定是 DoS,上面的 10秒 30发 怎可能 1分钟有 480发, 已经不回应还在发, 必定是攻击或病毒
5分钟 10000发 <- 不用说吧, 防白痴病毒
-A INPUT -p tcp -m state --state NEW -j synfoold
-A INPUT -p tcp -m state --state NEW -j bigsynfoold
-A INPUT -p tcp -m state --state NEW -j largesynfoold
-A synfoold -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 10/sec --limit-burst 30 -j RETURN
-A synfoold -p tcp -j REJECT --reject-with tcp-reset
-A bigsynfoold -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/m --limit-burst 480 -j RETURN
-A bigsynfoold -p tcp -j REJECT --reject-with tcp-reset
-A largesynfoold -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 5/m --limit-burst 10000 -j RETURN
-A largesynfoold -p tcp -j REJECT --reject-with tcp-reset |
|