在CentOS上,您可以使用iptables来配置防火墙规则,以帮助防止DDoS(分布式拒绝服务)攻击。以下是一些建议的步骤和策略:
iptables
的limit
模块来限制每个IP地址的连接速率。例如,您可以限制每个IP每秒钟最多建立5个新连接:iptables -A INPUT -p tcp --dport <port> -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport <port> -m state --state NEW -m recent --update --seconds 60 --hitcount 5 -j DROP
iptables
结合tc
(流量控制)工具来限制每秒请求数。首先,安装iproute2
和tc
:sudo yum install iproute
sudo yum install iproute-tc
sudo tc qdisc add dev eth0 root handle 1: htb default 11
sudo tc class add dev eth0 parent 1: classid 1:10 htb rate 10mbit ceil 20mbit
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src <your_server_ip> flowid 1:11
/var/log/secure
和/var/log/messages
),找出可疑的IP地址,并将它们添加到iptables
的黑名单中:# 假设您已经从日志中提取了可疑IP地址,并将它们存储在文件'suspicious_ips.txt'中
while read ip; do
sudo iptables -A INPUT -s $ip -j DROP
done < suspicious_ips.txt
echo 1 > /proc/sys/net/ipv4/ip_forward
sudo sysctl -p
# 阻止UDP流量
sudo iptables -A INPUT -p udp -j DROP
# 阻止特定端口的流量,例如SSH(22)
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
iptables
规则,以避免不必要的访问限制或误报。请注意,虽然这些方法可以帮助您抵御DDoS攻击,但它们并不能完全阻止所有的攻击。因此,除了使用防火墙工具外,还应考虑采用其他安全措施,如使用负载均衡器、部署多个服务器实例以及实施其他网络安全策略。