很多人第一次买云服务器,都会先问一句,云服务器自带防火墙吗?有,但不止一层。把各层分别管什么搞清楚,才不会一边把服务器暴露在公网上,一边又因为规则写错,把自己的业务挡在外面。

云上的防护通常分三层
阿里云、腾讯云、华为云、AWS 等主流厂商的做法大体一致,一般分三层。
- 云平台安全组(或网络访问控制规则),在实例之外的网络层过滤流量,是最常用的第一道防线。
- 操作系统自带防火墙,Linux 下有 iptables、nftables、firewalld、ufw,Windows 下是 Windows Defender 防火墙,运行在实例内部。
- 增值防护,包括 DDoS 高防、Web 应用防火墙(WAF)、主机安全软件等,按需购买。
所以真正“自带”的是前两层。安全组默认就有,系统防火墙开没开,要看镜像和发行版。第三层需要单独开通。
安全组:实例外面的那道门
安全组就是一组入站和出站规则,决定哪些 IP 能访问实例的哪些端口。它在实例外面生效,就算系统防火墙全关了,安全组照样会拦。
最常见的情况是服务部署好了,本机 curl 正常,外网打不开。排查下来,多半是安全组没放行对应端口。
比如有人在云上部署了 Nginx,localhost 访问没问题,外网却超时。他先后检查了 Nginx 配置、重启了服务,都没用。最后打开安全组页面,发现入站规则里只有 22 端口(SSH)。补上 80 和 443 的入站规则,站点马上就通了。排查外网不通,先看安全组,再看系统层面。
配置安全组时,有几条值得守住。
- 只放行业务真正用到的端口。对 0.0.0.0/0 开放全部端口,等于门敞着没关。
- SSH(22)、远程桌面(3389)、数据库端口(3306、6379 等)限定来源 IP,不要对全网开放。
- 出站规则默认通常全部允许。有合规要求时再收紧出站,否则没必要为此折腾。
- 每条规则都写清用途和负责人。时间一长,没人记得它为什么存在,就不敢删了。
系统防火墙:机器内部的第二道门
不同镜像的默认状态差别很大。CentOS、Rocky Linux 一般默认启用 firewalld;Ubuntu 上 ufw 有时没有开启;一些精简镜像里甚至没装防火墙工具。所以别想当然,先查一下。
# 查看 firewalld 状态(CentOS/Rocky/RHEL 系)
sudo systemctl status firewalld
sudo firewall-cmd --list-all
# 查看 ufw 状态(Ubuntu/Debian 系)
sudo ufw status verbose
另一种常见情况是安全组已经放行了 3000 端口,外部还是连不上。某个团队在阿里云上部署 Node.js 接口时就遇到过这个问题。登录服务器一看,firewalld 处于开启状态,3000 端口根本没放行。执行下面两条命令,重载后接口就恢复了。
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
这说明两层都要放行,少一层都会不通。改了安全组,就同步检查系统防火墙,反过来也一样。
关掉系统防火墙确实能快速排除故障,但等于放弃了实例内部的访问控制。生产环境不建议长期关闭。更稳的做法是只开必要端口,让防火墙保持运行。
什么时候需要额外加防护
业务暴露在公网上,主要会碰到 DDoS 攻击、SQL 注入和 XSS 这类 Web 漏洞,以及恶意扫描。只靠安全组和系统防火墙,往往挡不住这些。
- DDoS 高防,游戏、电商、直播这类对可用性要求高的业务,一旦遭遇流量冲击就可能掉线,值得考虑。
- Web 应用防火墙(WAF),工作在应用层,能识别常见的 Web 攻击特征,适合对外提供网站和 API 的服务。
- 主机安全,包括入侵检测、漏洞扫描、异常进程监控,有合规或审计要求的环境用得上。
买不买,取决于业务价值和能承受的风险。个人博客、内部测试环境,安全组加系统防火墙通常就够了。涉及用户数据和资金的业务,至少应该加上 WAF 和主机安全。
上线前照一遍
- 检查安全组入站规则,只保留业务必需的端口,SSH 和数据库端口填好来源 IP。
- 确认系统防火墙已启用,放行规则和安全组保持一致。
- 从外网实际访问一次服务,不要只在服务器上 curl。本机通了,外网不一定通。
- SSH 改用密钥登录,确认密钥能正常登录后,再关闭密码登录。顺序反了,容易把自己锁在外面。
- 根据业务风险判断,是否需要 DDoS 高防、WAF 或主机安全。
- 导出并备份当前规则,定期复查,删掉不再使用的端口和规则。
云服务器确实自带防火墙,通常是安全组和系统防火墙两层,再加上可选的增值防护。排查访问问题时先看安全组,再看系统防火墙,大部分问题都能很快定位。规则只开需要的部分,比指望某一层兜底更可靠。