在Ubuntu系统中,ufw(Uncomplicated Firewall)是一个常用的防火墙管理工具,它提供了一种简单的方式来配置和管理防火墙规则。以下是一些进阶技巧,帮助你更有效地使用ufw来保护你的系统。
在开始配置之前,确保ufw已经安装并启用:
sudo apt update
sudo apt install ufw # 安装ufw(通常已预装)
sudo ufw enable # 启用防火墙,并设置为默认拒绝所有入站连接
允许特定端口:
sudo ufw allow 22/tcp # 允许SSH(端口22)
sudo ufw allow 80/tcp # 允许HTTP
sudo ufw allow 443/tcp # 允许HTTPS
允许特定IP地址访问:
sudo ufw allow from 192.168.1.100 to any port 22 # 允许IP地址192.168.1.100访问SSH
拒绝端口:
sudo ufw deny 8080/tcp # 拒绝外部访问8080端口
基于IP的规则:
sudo ufw allow from 192.168.1.0/24 # 允许局域网内所有设备访问
sudo ufw deny from 10.0.0.0/8 # 拒绝整个IP段(10.0.0.0/8)
限制连接速率(防DDoS):
sudo ufw limit 22/tcp # 限制SSH每分钟最多3次连接
允许范围端口:
sudo ufw allow 5000:6000/tcp # 允许5000-6000端口范围
启用日志记录:
sudo ufw logging on # 启用日志记录,日志路径为/var/log/ufw.log
sudo tail -f /var/log/ufw.log # 实时查看日志
ufw内置了常见服务的配置文件,可以方便地允许这些服务:
sudo ufw app list # 查看可用应用配置
sudo ufw allow 'Nginx Full' # 允许Nginx Full(包括80和443端口)
检查防火墙状态:
sudo ufw status verbose # 显示详细规则
sudo ufw status numbered # 显示规则编号
禁用或重置防火墙:
sudo ufw disable # 临时禁用防火墙
sudo ufw reset # 重置所有规则(恢复默认)
请注意,修改防火墙规则可能会影响系统的正常运行,特别是对于关键服务如SSH。在生产环境中,建议使用更复杂的防火墙策略,并定期审查和更新规则。