很多企业上云时,注意力通常放在把服务器买好、业务先跑起来上。安全往往要等出了问题才想起来。一台暴露在公网的 ECS,几分钟内就可能被扫描器盯上。阿里云防火墙能守住云上资产的边界,但它不是单独工作的。它和安全组、网络 ACL 各守一段,配合好了,单点失守时还有下一层兜底。本文用一个典型案例,说明每层防护负责什么,以及具体怎么配。

先分清几层防护各管什么
谈阿里云的防火墙,实际会碰到三类能力。它们作用的层次不同,互相替代不了。
- 安全组:作用在实例级别,是有状态的规则,决定某台 ECS 允许哪些端口、哪些来源 IP 访问。日常最常改的也是它。
- 网络 ACL:作用在交换机(子网)级别,无状态,适合做子网之间的粗粒度隔离,比如前端子网和数据库子网之间先划一道线。
- 云防火墙:面向公网边界,统一管理多个资产的互联网出入方向策略,并提供威胁检测、入侵防御等能力。
可以这样理解:安全组是每台机器自己的门锁,网络 ACL 是楼层之间的门禁,云防火墙是整栋楼外墙上的总闸。三层都在,某一层出问题,另外两层还能挡一下。
案例:电商团队的一次暴露事件
某中型电商团队在阿里云上运行着约 40 台 ECS,包括前端、订单服务,以及一台用于临时调试的数据库服务器。为了远程连接方便,运维同学在安全组里对 3306 和 22 端口放开了 0.0.0.0/0,之后也没有人再回头看。
上线三个月后,云防火墙的威胁告警显示,有大量来自境外 IP 的端口扫描和暴力破解尝试。团队排查后发现,数据库弱口令还没有被突破,但日志里已经出现多次登录失败记录。密码再弱一点,结果就难说了。这次事件的根因并不在某个产品缺陷上,而是默认配置被当成了长期配置,且没有人定期复核。
整改分三步走
整改按收口、加固、监控的顺序来做。先把敞开的口子关上,再收紧入口,最后确保告警有人看。
- 收敛安全组规则:删掉 0.0.0.0/0 对数据库端口的放行,改成只允许应用服务器所在的内网网段访问 3306。SSH 端口限定在公司出口 IP 或堡垒机地址。改完逐条核对,确认每条规则都对应一个明确的访问来源。
- 在云防火墙中配置出入方向策略:对公网入口采用默认拒绝、按需放行的思路。已知的恶意 IP 段和高风险地区可以启用阻断规则,并保留日志,方便事后回溯。
- 开启入侵防御与威胁检测:对暴力破解、常见 Web 攻击特征开启防护。告警同步到团队消息群,由值班人员当天处理,不要只留在控制台里。
收紧策略前,最好先在测试环境或业务低峰期验证。该团队第一次收紧规则时,误把监控探针的回源地址也拦住了,结果一段时间内指标缺失。处理办法也不复杂:先放行观察,确认没有误伤,再逐步收紧。
日常运维中容易忽略的细节
- 定期导出规则并留存版本:安全组和云防火墙的规则定期导出保存,审计时能看到变化,出问题时也能回滚。
- 新资产同步纳入防护:机器上线时就纳入防护范围,避免新机器一段时间处于无防护状态。
- 给临时放行设置到期提醒:排查、联调时开的端口,事情办完就及时收回,别让它长期挂着。
- 日志至少保留 6 个月:同时确认存储位置和访问权限,别让日志本身变成新的暴露面。
很多安全事件的起因并不复杂,往往只是一条规则被遗忘了。把规则的生命周期管起来,效果通常比单纯多加一个产品更直接。
三个常见误区
误区一:开了云防火墙,就不用管安全组。两者防护的位置不同。云防火墙主要管公网边界,实例内部的访问仍要靠安全组约束。否则内网里发生横向移动时,就没有人兜底。
误区二:规则越多越安全。规则堆得越多,重复和冲突的条目越难看懂,漏洞反而容易藏在里面。建议每个季度清理一次,把同类规则合并。
误区三:只看告警,不看日志。告警只说明发生了什么,日志才记录过程。遇到可疑访问时,从源 IP、目标端口和时间线三个方向回溯,才能判断它是常规扫描还是真正的入侵。
小结
阿里云防火墙与安全组、网络 ACL 配合使用,可以从公网边界一直覆盖到实例本身。配置时抓住三点:最小授权、分层防护、定期复核。今天就去检查一遍有没有 0.0.0.0/0 的规则,这通常是最快见效的一步。