Ubuntu iptables如何防止DDoS攻击

417
2025/3/12 6:32:33
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu系统中,使用iptables防止DDoS攻击可以通过限制连接速率、阻止特定IP地址或网络等方式来实现。以下是一些常用的iptables规则,可以帮助你提高系统的安全性:

1. 限制连接速率

你可以使用iptableslimit模块来限制连接速率,防止短时间内大量请求涌入。

# 限制每分钟最多10个新连接
iptables -A INPUT -p tcp --syn -m limit --limit 10/min -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

2. 阻止特定IP地址或网络

如果你知道某些IP地址或网络是恶意的,可以直接将它们加入黑名单。

# 阻止单个IP地址
iptables -A INPUT -s 1.2.3.4 -j DROP

# 阻止整个网络
iptables -A INPUT -s 1.2.3.0/24 -j DROP

3. 限制并发连接数

你可以限制每个IP地址的并发连接数,防止单个IP地址占用过多资源。

# 限制每个IP地址最多5个并发连接
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 5 -j DROP

4. 使用ufw进行更简单的配置

Ubuntu系统自带了ufw(Uncomplicated Firewall),它提供了一个更简单的界面来管理防火墙规则。

启用ufw

sudo ufw enable

允许SSH连接

sudo ufw allow ssh

限制连接速率

sudo ufw limit ssh/tcp

阻止特定IP地址

sudo ufw deny from 1.2.3.4 to any

查看当前规则

sudo ufw status

5. 使用fail2ban

fail2ban是一个入侵防御软件框架,它可以监控日志文件并根据规则自动封禁恶意IP地址。

安装fail2ban

sudo apt-get install fail2ban

配置fail2ban

编辑/etc/fail2ban/jail.local文件,添加以下内容:

[DEFAULT]
bantime = 600
findtime = 600
maxretry = 3

[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

启动fail2ban

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

总结

通过结合使用iptablesufwfail2ban,你可以有效地防止DDoS攻击。iptables提供了底层的防火墙规则配置,ufw简化了规则的设置和管理,而fail2ban则可以根据日志自动封禁恶意IP地址。根据你的具体需求选择合适的工具进行配置。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu compton如何查看日志