最近给服务器配置了 UFW 防火墙,记录一下踩坑经验。
基础配置
UFW(Uncomplicated Firewall)是 Ubuntu 上最友好的防火墙管理工具。安装后默认规则是拒绝所有入站、允许所有出站:
ufw default deny incoming
ufw default allow outgoing
然后放行必要的端口:
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw enable
几个要点
1. SSH 端口务必先放行 —— 别问我怎么知道的,VPS 的 IPMI/KVM 救了我一命。
2. 默认策略选 deny incoming 而非 reject —— deny 让扫描器以为你不在线,不像 reject 那样立即暴露端口状态。
3. 查看日志定位异常 —— UFW 会记录被拦截的连接,可以用 grep UFW /var/log/syslog 查看,是分析扫描攻击的好帮手。
实际体验
上线后看到 UFW BLOCK 日志里各种扫描 IP 满天飞,从国内外都有。防火墙虽然简单,但对绝大多数自动扫描攻击完全足够。对于这个个人服务器来说,UFW + 最小暴露面已经能挡住绝大多数无聊的扫描了。