Ubuntu 防火墙配置
Ubuntu 防火墙配置
- 一、UFW 基础操作
- 二、核心规则配置
- 三、高级功能
- 四、特殊场景配置
- 五、规则管理
- 六、默认策略与安全建议
- 七、故障排除
一、UFW 基础操作
-
检查 UFW 状态
sudo ufw status # 查看防火墙状态 sudo ufw status verbose # 显示详细规则 sudo ufw status numbered # 显示规则编号
-
安装与启用
sudo apt install ufw # 安装(Ubuntu通常预装) sudo ufw enable # 启用防火墙 sudo ufw disable # 禁用防火墙
-
重置规则
sudo ufw reset # 清除所有规则并恢复默认策略
二、核心规则配置
-
允许 / 拒绝端口
sudo ufw allow 22/tcp # 允许SSH sudo ufw allow 80/tcp # 允许HTTP sudo ufw allow 443/tcp # 允许HTTPS sudo ufw deny 8080/tcp # 拒绝自定义端口
-
基于 IP 地址的访问控制
sudo ufw allow from 192.168.1.100 to any port 22 # 允许特定IP访问SSH sudo ufw deny from 10.0.0.0/8 # 拒绝整个IP段
-
应用配置文件(服务名称)
sudo ufw app list # 查看可用应用配置 sudo ufw allow 'Apache' # 允许Apache HTTP sudo ufw allow 'Apache Secure' # 允许Apache HTTPS sudo ufw allow 'OpenSSH' # 允许SSH服务
-
协议与端口范围
sudo ufw allow 10000:20000/tcp # 允许TCP端口范围 sudo ufw allow 53/udp # 允许UDP端口
三、高级功能
-
端口转发
# 步骤1:启用IP转发 sudo nano /etc/ufw/sysctl.conf # 取消注释:net/ipv4/ip_forward = 1 sudo sysctl -p # 步骤2:添加转发规则(例如将80端口转发到8080) sudo nano /etc/ufw/before.rules # 在*filter部分后添加: *nat :PREROUTING ACCEPT [0:0] -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 COMMIT # 步骤3:允许目标端口 sudo ufw allow 8080/tcp # 步骤4:重启UFW sudo systemctl restart ufw
-
限制连接速率
sudo ufw limit ssh/tcp # 限制SSH连接速率(默认每分钟60次) sudo ufw limit from 192.168.1.100 to any port 22 # 限制特定IP的SSH连接
-
启用日志记录
sudo ufw logging on # 启用日志 sudo tail -f /var/log/ufw.log # 实时查看日志
四、特殊场景配置
-
禁用 Ping(ICMP)
sudo nano /etc/ufw/before.rules # 找到以下行并将ACCEPT改为DROP: -A ufw-before-input -p icmp --icmp-type echo-request -j DROP sudo ufw reload
-
Docker 兼容性配置
# 防止Docker自动添加端口规则 sudo nano /etc/docker/daemon.json # 添加: { "iptables": false } sudo systemctl restart docker
五、规则管理
- 删除规则
sudo ufw delete allow 80/tcp # 通过规则内容删除 sudo ufw delete 3 # 通过规则编号删除(使用status numbered查看编号)
- 调整规则顺序
sudo ufw insert 1 deny from 10.0.0.0/8 # 将拒绝规则置顶
六、默认策略与安全建议
- 默认策略
sudo ufw default deny incoming # 拒绝所有入站连接 sudo ufw default allow outgoing # 允许所有出站连接
- 安全建议
远程管理:优先使用密钥认证而非密码,避免直接暴露 SSH 端口。
最小权限原则:仅开放必要端口,定期检查规则。
监控:启用日志并结合 fail2ban 等工具防御暴力破解。
七、故障排除
- 连接被阻断
sudo ufw status # 检查规则 sudo ufw disable # 临时禁用排查问题
- 规则未生效
sudo ufw reload # 重新加载规则 sudo systemctl restart ufw # 重启服务
END