使用 netstat 和 iptables 防止 dos 攻击的 linux 命令

使用 netstat 和 iptables 防止 dos 攻击的 linux 命令

我想删除每个 IP 上超过 200 个请求以防止 DDoS 攻击。这是我用来检测每个 IP 的请求数的命令:

netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr

现在我想将所有发出超过 200 个请求的 IP 地址添加到 IPtables 中以删除输入和输出。

答案1

嗯,你无法阻止 DDoS,而且 200 个请求相当简单。

我认为你能做的最好的事情就是设定限制

sudo iptables -A INPUT -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -j REJECT

对于端口 80,使用

sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 50/second --limit-burst 50 -j ACCEPT
sudo iptables -A INPUT -j REJECT

您应该能够调整您的服务器的限制。

看:http://blog.bodhizazen.com/linux/prevent-dos-with-iptables/

相关内容