首页/安全/安全加固速查/云安全组入方向最小化原则
防火墙与访问控制50 条

云安全组入方向最小化原则

安全组是云上第一道、且真正生效的边界:入方向只放行必要端口并限定来源网段,其白名单特性决定了“拒绝”无需显式配置。

安全加固速查安全更新于 2026-10-13

安全组是白名单

云安全组是云上第一道、也往往是唯一真正生效的边界:它是白名单模型,只有显式放行的流量才能通过,未列出的默认被拒。这意味着两件事——写「拒绝某地址」的规则没有意义,以及暴露面完全由放行条目决定。核查的方法是逐条读规则,把每条放行都能对应到明确的业务与来源范围。

基本信息

加固项云边界入方向最小放行
适用平台云主机(各主流云平台机制相同)
风险等级高
基线管理类端口不对所有地址开放
核对三列协议、端口范围、来源地址

典型使用场景

  • 安全检查:批量核对全部安全组里的放行条目
  • 上线前确认:新实例关联的规则是否符合最小放行
  • 事件排查:确认暴露窗口是否存在以及对全网开放了哪些端口
  • 规则清理:回收临时开通的调试规则
  • 合规测评:边界访问控制条款要求来源可限定

以命令行工具列出规则(示例)

以命令行工具列出规则(示例)
aliyun ecs DescribeSecurityGroupAttribute --RegionId cn-hangzhou --SecurityGroupId sg-xxxx
# 关注 IpProtocol / PortRange / SourceCidrIp 三列,逐条评估必要性
aws ec2 describe-security-groups --group-ids sg-xxxx --query 'SecurityGroups[].IpPermissions'
# 多个实例共用安全组时,先确认关联实例清单再判断影响范围

从主机侧反向核对

从主机侧反向核对
ss -tulnp | head -30                  # 本机监听清单
ss -tulnp | grep -v 127.0.0.1 | head -20   # 对外监听
# 两边取交集:本机监听且安全组放行,才是真正对外可达

常见规则问题

问题形态风险说明整改方向
管理端口来源为全部地址全网可尝试登录,爆破持续发生限制到办公出口或堡垒机网段
端口范围写得过宽意外开放了范围中的其他端口改为精确端口
协议放行全部放开了不需要的协议族按实际协议放行
临时调试规则未回收暴露面随时间累积纳入定期核查并标记有效期
实例关联多个安全组按并集生效,容易漏算暴露面统计暴露面时合并全部关联组
管理端口优先只放行办公出口地址或堡垒机网段:办公宽带的出口地址会变动时,用堡垒机把出口收敛成固定地址,比每次调整安全组更可控。全量核查时把「当前确认过的规则清单」留档,下一次只看差异即可。
两个容易误判的点:安全组是白名单,只配拒绝规则不会生效,未放行即已被拒;实例关联多个安全组时按允许并集生效,只查其中一个组会漏算暴露面,核查必须把该实例关联的全部组一起统计。

治理流程

建议按季度做一次全量核对:导出全部安全组规则,按来源为全部地址、端口属于管理或数据类两个条件筛出重点条目;逐条与业务方确认用途与来源范围;调整后从外部主机做一次实测验证。同时把新增规则的审批与有效期机制建立起来,避免临时放行长期滞留。

易错点

  • 配置拒绝规则:安全组是白名单模型,这类规则不会产生预期效果
  • 只查单个安全组:多组关联按并集生效,漏算会让暴露面判断偏小
  • 只看规则不看实际监听:放行了但服务没监听与没放行但服务在监听,两种情况的处置完全不同
  • 临时规则不回收:调试期开通的放行长期存在,暴露面只增不减
  • 以规则文本判断可达性:NAT、代理与多层边界都可能改变实际结果,应以外部实测收口

数据来源与参考

  • 阿里云文档:安全组规则
  • AWS 文档:Security group rules
  • 等保 2.0:边界防护

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌