首页/安全/漏洞与攻击面速查/云安全组规则最小化
暴露面收敛45 条

云安全组规则最小化

云安全组是最直接的收敛手段:定期审计 0.0.0.0/0 放行规则,管理端口与服务间端口不应对全网开放;规则要标注业务归属与复审时间。

漏洞与攻击面速查安全更新于 2026-10-13

云安全组规则最小化是什么

云安全组是云上最直接的收敛手段:它在实例与公网之间充当第一道过滤,规则一旦放宽,后面的应用加固都要承担更大压力。最常见的失配是「对 0.0.0.0/0 放行管理端口」,把 SSH、RDP、数据库端口暴露给全网;其次是规则缺少备注与所有者,事后无人敢删。有效的做法是把审计与治理做成固定动作:定期筛出全放行规则、按业务必需判断可否删除、用观察期验证再收缩,并给每条规则补上用途与到期信息。

基本信息

作用范围实例级网络过滤,云上收敛的第一道控制
常见问题对 0.0.0.0/0 放行管理端口与服务间端口
高危组合22 或 3389 全网放行、数据库端口全网放行
治理动作管理端口限定源、必要服务加认证与限速、补充规则备注
规则卫生每条规则写备注(用途/所有者/到期日)
节奏季度全量审计 + 重大变更后抽查
验证方式从外部视角复测端口不可达,而非只看规则列表

典型场景

  • 新业务上线时照抄模板规则,把测试期的全放行一起带进生产
  • 为方便远程运维对 22、3389 全网放行
  • 数据库与缓存端口在应用与实例同安全组时被放行到全网
  • 临时排障放开的规则没有设置到期时间
  • 多账号环境下规则分散,缺少统一审计视图
  • 规则数量庞大且无备注,收缩时无法判断归属

自查示例(AWS CLI)

自查示例(AWS CLI)
# 找出对所有来源放行的安全组
aws ec2 describe-security-groups \
  --filters Name=ip-permission.cidr,Values=0.0.0.0/0 \
  --query 'SecurityGroups[*].[GroupId,GroupName]' --output table
# 阿里云/腾讯云:控制台安全组列表按『0.0.0.0/0』筛选规则
# 审计输出建议补充端口与协议字段,优先处理管理端口与数据库端口

收敛节奏

收敛节奏
1. 标记:把全放行规则打上待收敛标签,记录疑似归属业务
2. 观察:开启流量日志,统计实际访问来源与端口使用情况
3. 收缩:按实际来源改为精确网段,管理端口只留运维出口或堡垒机
4. 验证:从外部视角复测,并确认业务功能正常
5. 固化:新规则必须带备注与到期日,纳入变更评审

端口类型与建议口径

端口类型示例建议规则口径
管理端口22、3389、6443仅运维出口或堡垒机地址,绝不全网放行
数据库与缓存3306、6379、5432仅应用实例所在安全组或网段可访问
内部服务间注册中心、消息队列端口按服务依赖关系精确放行
对外服务80、443可对全网,但需叠加认证、限速与防护设备
调试与临时端口各类临时放行标注到期时间,到期自动回收
安全组审计的难点不是发现 0.0.0.0/0,而是判断哪些能删:先标记、观察流量、再收缩,是稳妥路径。

易错点

  • 安全组里 80/443 全开的同时 22 也全开,等于把服务器登录口放到公网
  • 只改安全组不看网络 ACL 与主机防火墙:多层规则中有一层仍全放行,收敛就是无效的
  • 用网段范围「大致覆盖」代替精确来源:范围过大等于放宽,应按实际出口地址收敛
  • 规则删除前不做流量观察:误删业务依赖的规则会直接造成生产中断
  • 多账号环境只审计主账号:子账号与项目账号的规则独立存在,需要统一视图
  • 忽略容器与负载均衡层:NodePort、Ingress 与负载均衡监听同样会暴露内部服务

数据来源与参考

  • AWS 文档(安全组规则与过滤)
  • 阿里云文档(安全组配置指南)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌