温馨提示×

如何利用CentOS iptables防止DDoS攻击

小樊
42
2025-11-17 17:40:28
栏目: 云计算

利用 CentOS 的 iptables 防止 DDoS 攻击可以通过多种方式实现,包括限制连接速率、阻止可疑 IP 地址以及实施其他安全措施。以下是一些常见的方法:

1. 限制连接速率

通过限制每个 IP 地址在一定时间内的连接数,可以有效防止 DDoS 攻击。

# 限制每分钟最多5个新连接
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 5 -j DROP

2. 阻止可疑 IP 地址

如果你有已知的攻击源 IP 地址,可以直接将它们加入黑名单。

# 阻止特定 IP 地址
iptables -A INPUT -s 1.2.3.4 -j DROP

3. 使用 iptables 的 recent 模块

recent 模块可以用来跟踪连接,并根据规则对连接进行操作。

# 阻止在短时间内多次尝试连接的 IP
iptables -A INPUT -p tcp --syn -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --syn -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

4. 限制特定端口的访问

限制对某些端口的访问,尤其是那些常被攻击的端口(如 80、443)。

# 限制对端口 80 和 443 的访问速率
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 100 -j DROP
iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 100 -j DROP

5. 启用 SYN Cookies

SYN Cookies 可以帮助防御 SYN Flood 攻击。

# 启用 SYN Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

6. 保存 iptables 规则

确保在系统重启后规则仍然有效。

# 保存 iptables 规则
service iptables save

7. 监控和日志记录

定期检查 iptables 日志,监控异常流量。

# 查看 iptables 日志
tail -f /var/log/messages | grep iptables

8. 使用 Fail2Ban

Fail2Ban 是一个更高级的工具,可以自动检测并禁止恶意 IP 地址。

# 安装 Fail2Ban
yum install fail2ban -y

# 启动 Fail2Ban 服务
service fail2ban start

# 配置 Fail2Ban
# 编辑 /etc/fail2ban/jail.local 文件,添加自定义规则

通过结合使用这些方法,你可以显著提高 CentOS 系统对 DDoS 攻击的防御能力。

0