UFW 防火墙使用教程：五分钟加固你的服务器

UFW 防火墙使用教程：新手也能管好服务器端口买来的服务器"默认一切端口都能访问"，是被扫端口、被爆破的重灾区。UFW（Uncomplicated Firewall）是 Ubuntu/Debian 官方推荐的防火墙前端，把复杂的 nftables 规则简化成几条人话命令。本教程依据 UFW 官方文档（man ufw）与 Ubuntu Server 文档整理。一、基本原则：先放行 SSH 再开启远程服务器上配置防火墙，第一条铁律是先放行 SSH 端口再 enable，否则一开启就把自己锁在门外： sudo ufw allow 22/tcp # 先放行 SSH！ sudo ufw enable # 再启用防火墙 sudo ufw status verbose # 查看当前规则如果你的 SSH 改成了别的端口（比如 2222），就 allow 2222/tcp。二、常用命令 sudo ufw allow 80/tcp # 放行 HTTP sudo ufw allow 443/tcp # 放行 HTTPS sudo ufw allow 8080 # 放行 TCP+UDP 的 8080 sudo ufw deny 3306 # 拒绝 MySQL 端口 sudo ufw delete allow 8080 # 删除一条规则 sudo ufw reset # 清空全部规则，重来按服务名放行也可以（规则来自 /etc/services）： sudo ufw allow ssh sudo ufw allow "Nginx Full" # 同时放行 80 和 443 三、限制来源 IP 只允许自己的 IP 访问管理端口，是最有效的加固手段： sudo ufw allow from 203.0.113.5 to any port 22 proto tcp sudo ufw deny from 203.0.113.0/24 # 封掉一个网段四、rate limiting 防爆破 UFW 内置了连接频率限制，非常适合保护 SSH： sudo ufw limit ssh 同一 IP 在 30 秒内发起超过 6 次连接就会被临时拒绝，暴力破解脚本基本就废了。五、默认策略 UFW 启用后默认"拒绝所有入站、允许所有出站"，这正是服务器想要的姿势。确认或修改： sudo ufw default deny incoming sudo ufw default allow outgoing 思路是白名单：默认全关，需要哪个端口开哪个。用 sudo ufw status numbered 带编号查看规则，删除时用编号更不容易出错： sudo ufw status numbered sudo ufw delete 3 六、CentOS/RHEL 用户怎么办 UFW 主要在 Debian/Ubuntu 系可用。RHEL 系对应的简洁工具是 firewalld： sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload 七、总结需求命令开启防火墙先 allow 22/tcp 再 enable 查看规则 ufw status verbose 放行网站端口 allow 80/tcp、allow 443/tcp 限制 SSH 来源 allow from IP to any port 22 防 SSH 爆破 ufw limit ssh 删除规则 delete allow 8080 或按编号删给新服务器开荒的标准动作就三步：改 SSH 端口、ufw limit ssh、只放行必需端口。花五分钟，省掉日后九成的扫描告警。