Ubuntu 防火墙最佳实践指南
一 基础安全策略与启用步骤
sudo ufw status;如未安装:sudo apt update && sudo apt install ufwsudo ufw default deny incoming;sudo ufw default allow outgoingsudo ufw allow OpenSSH 或 sudo ufw allow ssh(如改端口:sudo ufw allow 2222/tcp)sudo ufw enable(提示可能影响现有 SSH 连接,已放行则可继续)sudo ufw status verbose/etc/default/ufw,确保 IPV6=yes二 常见场景规则模板
sudo ufw allow http 或 sudo ufw allow 80/tcpsudo ufw allow https 或 sudo ufw allow 443/tcpsudo ufw allow 'Nginx Full' / sudo ufw allow 'Apache Full'sudo ufw allow from 192.168.1.100 to any port 3306sudo ufw allow from 192.168.1.100 to any port 5432sudo ufw allow 3000/tcpsudo ufw allow 8000:8010/tcpsudo ufw allow from 192.168.1.0/24 to any port 80 proto tcpsudo ufw allow in on eth0 to any port 80sudo ufw deny 23/tcp(示例:关闭 Telnet)三 加固与运维要点
sudo ufw limit ssh(或 sudo ufw limit 22/tcp),在 30 秒内超过 6 次连接尝试将临时拒绝该来源,有效减缓自动化攻击。sudo ufw logging on,推荐级别 sudo ufw logging medium;日志位于 /var/log/ufw.log,可用 grep "DPT" /var/log/ufw.log | grep "DROP" 查看被拒连接,结合 Fail2Ban 做自动封禁与告警。sudo ufw status numbered(便于精准删除)sudo ufw delete <编号> 或 sudo ufw delete allow 80/tcpsudo ufw reset(会禁用并清空规则,操作前确保有控制台/带外访问)sudo ufw show added 预览,低峰期变更,保留回滚方案,变更后再次 status verbose 核对。四 进阶场景与注意事项
sudo ufw default deny outgoing,再按需放行(如 DNS/HTTPS/软件源),务必先在测试环境验证,避免业务中断。sudo ufw deny proto icmp 可降低探测可见性,但可能影响网络诊断与健康检查,生产环境需评估后再用。IPV6=yes,一条规则同时生成 IPv4/IPv6 版本,避免遗漏。