UFW一键加固的核心是默认拒绝入站、仅开放必要端口、启用日志、禁用IPv6(如不需要);执行ufw --force reset && ufw default deny incoming && ufw default allow outgoing && ufw limit 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw logging on && ufw disable && ufw enable即可完成。

UFW(Uncomplicated Firewall)是Ubuntu默认的防火墙管理工具,简洁易用但默认配置较宽松。一键加固的核心是:默认拒绝所有入站、只开放必要端口、启用日志、禁用IPv6(如不需要)。
一键加固脚本(推荐直接运行)
复制以下命令,在Ubuntu服务器上以root或sudo权限一次性执行:
ufw --force reset && ufw default deny incoming && ufw default allow outgoing && ufw limit 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw logging on && ufw disable && ufw enable
说明:
- ufw --force reset:清空现有规则,避免冲突
- default deny incoming:所有入站连接默认拒绝(最核心安全原则)
- default allow outgoing:允许服务器主动外连(如系统更新、curl请求)
- ufw limit 22/tcp:限制SSH登录频率(6次/30秒内触发拒绝),防暴力破解
-
allow 80/443:开放Web服务端口(按需增删,如加
ufw allow 3306开MySQL) -
logging on:开启日志(日志路径:
/var/log/ufw.log) - disable && enable:确保规则生效(部分版本需重启生效)
常用UFW管理命令速查
日常运维高频操作,无需记忆全部,掌握以下即可应对大部分场景:
-
查看状态与规则:
ufw status verbose(显示详细规则+日志状态) -
开放单个端口:
ufw allow 2222/tcp(支持udp、proto等协议指定) -
开放IP段访问:
ufw allow from 192.168.1.0/24 to any port 22 -
删除某条规则:
ufw delete allow 8080或ufw delete 2(按编号删,先ufw status numbered查序号) -
禁用/启用防火墙:
ufw disable/ufw enable(注意:禁用后规则不保存,重启仍生效) -
重置所有规则:
ufw --force reset(慎用,会清除所有自定义设置)
进阶加固建议(按需启用)
基础加固后,可进一步提升安全性:
-
关闭IPv6(若不用):编辑
/etc/default/ufw,将IPV6=yes改为no,再执行ufw reload -
限制SSH来源IP:如仅公司IP能连,运行
ufw allow from 203.0.113.42 to any port 22,再ufw deny 22(注意顺序!先allow后deny) -
启用应用配置文件:UFW自带
nginx、OpenSSH等预设,可用ufw app list查看,ufw allow "Nginx Full"更直观 -
定期检查日志:用
tail -f /var/log/ufw.log | grep BLOCK实时监控被拦截的尝试
常见问题与避坑提醒
新手容易踩的几个点:
-
别在远程SSH会话中直接
ufw enable后立刻deny 22——可能把自己锁在外面。务必先limit 22或确认有控制台访问权限 -
规则顺序很重要:UFW按添加顺序匹配,第一条匹配即执行,
deny类规则尽量放后面 -
Docker会绕过UFW:Docker默认修改iptables,导致UFW失效。解决方法:在
/etc/docker/daemon.json中添加{"iptables": false}并重启docker(需自行管理容器网络) - 云服务器注意安全组:阿里云、AWS等平台的安全组是第一道防火墙,UFW是第二道,两者需协同配置,不能只依赖其一










