首页/安全/安全加固速查/VPC 网络 ACL / 子网级补充控制
防火墙与访问控制50 条

VPC 网络 ACL / 子网级补充控制

网络 ACL 作用于子网,可做整体网段级拒绝(如封禁全部入向 3389);它与安全组互补,但无状态,需成对处理回包。

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

子网级网络 ACL 的定位

云上子网级网络 ACL(AWS 叫 Network ACL,其它云有对应概念)作用在子网边界,可以对整个网段统一放行或拒绝,例如全子网封禁 3389 入向。它与安全组互补:安全组作用在实例网卡且有状态,网络 ACL 作用在子网且无状态,回包必须显式放行,否则连接建不起来。

基本信息

加固项子网级边界控制
适用平台云 VPC(以 AWS NACL 为例)
生效层级子网
关键特性无状态,出入向分别评估
典型用途网段级兜底拒绝
风险等级中

典型使用场景

  • 兜底拒绝:安全组漏配时的第二道闸
  • 高危端口全子网封禁:远程管理端口只允许跳板机网段
  • 分层子网:数据库子网仅允许应用子网访问
  • 应急隔离:事件处置时用子网级拒绝快速切断流量
  • 临时放行:配合运维窗口在子网层开放再关闭

查看与核查

查看与核查
# 列出各子网关联的 ACL 及规则
aws ec2 describe-network-acls --query 'NetworkAcls[].{Id:NetworkAclId,Subnets:Associations[].SubnetId,Entries:Entries}'
# 单看某个 ACL 的规则:注意 RuleNumber 顺序与 Egress 标记
aws ec2 describe-network-acls --network-acl-ids acl-xxxxxxxx --query 'NetworkAcls[0].Entries[].{No:RuleNumber,Egress:Egress,Action:RuleAction,Cidr:CidrBlock,Port:PortRange}'

网络 ACL 与安全组对比

对比项安全组网络 ACL
作用层级实例网卡子网
状态有状态,回包自动放行无状态,回包需显式放行
规则类型通常只支持允许允许与拒绝都支持
匹配方式整体评估按规则编号从小到大匹配
典型用途端口与来源精细化网段级兜底
NACL 无状态:放行入向端口时别忘了对应的出向临时端口(1024-65535),否则连接建立不了。
规则按编号从小到大匹配,拒绝规则必须排在对应的允许规则之前才会生效。
默认 NACL 是全放行的,别以为配了安全组就够了,子网级兜底要显式配置。

落地检查点

  • 给每个子网标注用途,明确哪些子网必须配兜底拒绝规则
  • 拒绝规则编号排在允许规则之前,改完先在测试子网验证连通性
  • 单独核查无状态特性带来的回包放行是否完整
  • 开启 VPC 流日志,让被拒绝的连接有据可查

易错点

  • 以为有安全组就不需要子网级控制:安全组的配置漂移没有第二道闸兜底
  • 忽略无状态特性:放行了入向却漏掉出向临时端口,连接失败还误判为应用故障
  • 拒绝规则编号排在允许之后:规则形同不存在,排查时最容易被忽略
  • 直接在生产子网改规则:一次误拒绝会打断该子网所有实例,先在小范围子网验证

数据来源与参考

  • AWS 文档:Network ACL
  • 云网络分层控制实践

相关工具

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