我对服务器端口进行了大量攻击

我有Ubuntu 15.4服务器我打开一个号码为20000的端口我在这个端口上输入了大量的ddos攻击我输入终端

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 

为了抓住攻击者的ip并阻止它,我发现bazillion ip的打开连接55

我需要使用iptables创建自动脚本来保护该端口

所以如果ip连接超过5 iptable就会自动阻止它

 iptables -A INPUT -s attacker ip address -j DROP 

但我不知道如何做这个脚本将永远阻止ips一个接一个:)

以下将检测IP,然后将其丢弃超过一天。

 # Dynamic Badguy List. Detect and DROP Bad IPs that try to access port 20000. # Once they are on the BADGUY list then DROP all packets from them. iptables -A INPUT -i eth0 -m recent --update --hitcount 5 --seconds 90000 --name BADGUY -j LOG --log-prefix "Port 20000 BAD:" --log-level info iptables -A INPUT -i eth0 -m recent --update --hitcount 5 --seconds 90000 --name BADGUY -j DROP iptables -A INPUT -i eth0 -p tcp -m tcp --dport 20000 -m recent --set --name BADGUY -j ACCEPT 

eth0替换为您的实际接口名称。
您的ESTABLISHED,RELATED旁路规则之后放置这些规则。 一个典型的例子:

 iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT