我的服务器端口遭受大规模攻击

我的服务器端口遭受大规模攻击

我有一台 Ubuntu 15.4 服务器,我打开了一个 20000 号端口,我在这个端口上遭受了大规模 DDoS 攻击,我在终端中输入

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

为了捕获攻击者的 IP 并阻止它,我找到了无数个打开了 55 号连接的 IP

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

因此,如果 ip 的连接超过 5 个,iptable 将自动阻止它

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

但我不知道如何执行该脚本,因为逐个阻止 IP 将花费很长时间:)

答案1

下面将会检测 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

相关内容