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

Mor*_*yan 5 server iptables security command-line networking

我想为每个 ip DROP 200 多个请求以防止 ddos​​ 攻击。这是我用来检测每个 ip 请求数的命令:

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

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

Pan*_*her 10

好吧,您无法阻止 ddos​​,而 200 个请求是微不足道的。

IMO,你能做的最好的事情就是设置限制

sudo iptables -A INPUT -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -j REJECT
Run Code Online (Sandbox Code Playgroud)

对于端口 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
Run Code Online (Sandbox Code Playgroud)

您应该能够针对您的服务器调整这些限制。

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