Ubuntu 防火墙定制化建议
一 基础策略与启用顺序
- 采用最小暴露面:设置默认策略为拒绝所有入站、允许所有出站,仅对必需服务放通。
- 远程操作务必先放行 SSH(22/TCP) 再启用防火墙,避免被锁在系统外。
- 按需放行常用服务:如 HTTP(80/TCP)、HTTPS(443/TCP);仅开放必要端口与协议。
- 建议启用连接限制(rate limit)缓解暴力破解,并对规则变更前后进行状态核验。
示例(按顺序执行):
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh # 或 sudo ufw allow 22/tcp
sudo ufw allow http
sudo ufw allow https
sudo ufw limit ssh # 30 秒内超过 6 次触发限制
sudo ufw enable
sudo ufw status verbose
二 场景化规则模板
- 仅内网或跳板机可 SSH
- 放通管理网段:sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
- 或仅放通白名单 IP:sudo ufw allow from 203.0.113.10 to any port 22 proto tcp
- 多网卡精细化控制
- 仅允许 eth0 的 80/TCP:sudo ufw allow in on eth0 to any port 80 proto tcp
- 端口范围与协议
- 连续端口(示例 1000–2000/TCP):sudo ufw allow 1000:2000/tcp
- 指定协议更严谨(避免同时放行 UDP):sudo ufw allow 2290:2300/tcp
- 拒绝来源或子网
- 拒绝单个 IP:sudo ufw deny from 203.0.113.100
- 拒绝子网:sudo ufw deny from 203.0.113.0/24
- 按接口与来源组合
- 拒绝某 IP 在特定接口访问某端口:sudo ufw deny in on eth1 from 203.0.113.100 to any port 21 proto tcp
- 应用配置文件
- 查看可用应用:sudo ufw show apps
- 放行完整 Apache:sudo ufw allow “Apache Full”
三 日志监控与维护
- 启用与分级日志
- 开启日志:sudo ufw logging on
- 设置级别(low/medium/high/full):sudo ufw logging medium
- 查看与分析
- 实时查看:sudo journalctl -t ufw
- 关注被拒连接:grep “UFW BLOCK” /var/log/ufw.log
- 规则变更与回滚
- 带编号管理:sudo ufw status numbered;按编号删除:sudo ufw delete
- 备份与恢复:sudo cp /etc/ufw/user.rules ~/ufw_rules_backup;恢复后执行 sudo ufw reload
- 定期巡检
- 例行检查:sudo ufw status;清理不再需要的规则;验证关键业务端口放通情况。
四 进阶与云环境要点
- IPv6 管理
- 确认启用:编辑 /etc/default/ufw 中 IPV6=yes
- 可针对 IPv6 单独放通:sudo ufw allow from 2001:db8::1 to any port 22 proto tcp
- 规则优先级与插入
- 在指定位置插入高优先级规则:sudo ufw insert 2 allow 8080/tcp
- 严格出站策略(按需)
- 默认拒绝出站后,显式放行必要流量(如 DNS、NTP、HTTP/HTTPS、业务依赖 API):sudo ufw allow out 53;sudo ufw allow out 80,443/tcp
- 云平台协同
- 云服务器需同时配置安全组与 UFW,两者取“交集”生效;例如仅放通管理源 IP 的 22/TCP 到实例,同时在 UFW 中也仅允许该来源。
- 与 fail2ban 联动
- 安装并配置 fail2ban,启用 UFW 动作以自动封禁暴破来源:action = ufw。
五 快速加固清单
- 默认策略:入站 deny、出站 allow;启用前先放行 SSH。
- 服务放通最小化:仅开放 22/80/443 等必要端口,协议限定为 TCP(DNS/NTP 等按需放通 UDP)。
- 强化 SSH:使用 limit 限速;如非必要,考虑更改默认端口并仅对白名单来源放通。
- 日志与告警:开启 medium 级别日志,定期审计 UFW BLOCK;关键业务变更前备份规则。
- 云上部署:同步配置安全组与 UFW,优先使用源地址白名单策略。