网络ACL简介
网络ACL是一个子网级别的可选安全层,通过与子网关联的出方向/入方向规则控制出入子网的数据流。
如图1所示。
网络ACL与安全组类似,都是安全防护策略,当您想增加额外的安全防护层时,就可以启用网络ACL。安全组只有“允许”策略,但网络ACL可以“拒绝”和“允许”,两者结合起来,可以实现更精细、更复杂的安全访问控制。
网络ACL与安全组的详细区别请参见安全组与网络ACL区别。
网络ACL基本信息
- 您的VPC默认没有网络ACL。当您需要时,可以创建自定义的网络ACL并将其与子网关联。关联子网后,网络ACL默认拒绝所有出入子网的流量,直至添加放通规则。
- 网络ACL可以关联多个子网,但一个子网同一时间只能关联一个网络ACL。
- 每个新创建的网络ACL最初都为未**状态,直至您关联子网为止。
每个网络ACL都包含一组默认规则,如下所示:
- 默认放通同一子网内的流量。
- 默认放通目的IP地址为255.255.255.255/32的广播报文。
- 默认放通目的网段为224.0.0.0/24的组播报文。
- 默认放通目的IP地址为169.254.169.254/32,TCP端口为80的metadata报文。
- 默认放通公共服务预留网段资源的报文,例如目的网段为100.125.0.0/16的报文。
- 除上述默认放通的流量外,其余出入子网的流量全部拒绝,如表1所示。该规则不能修改和删除。
方向 |
优先级 |
动作 |
协议 |
源地址 |
目的地址 |
说明 |
入方向 |
* |
拒绝 |
全部 |
0.0.0.0/0 |
0.0.0.0/0 |
拒绝所有入站流量 |
出方向 |
* |
拒绝 |
全部 |
0.0.0.0/0 |
0.0.0.0/0 |
拒绝所有出站流量 |
规则优先级
- 网络ACL规则的优先级使用“优先级”值来表示,优先级的值越小,优先级越高,最先应用。优先级的值为“*”的是默认规则,优先级最低。
- 多个网络ACL规则冲突,优先级高的规则优先生效。若某个规则需要优先或落后生效,可在对应规则(需要优先或落后于某个规则生效的规则)前面或后面插入此规则。
应用场景
- 由于应用层需要对外提供服务,因此入方向规则必须放通所有地址,如何防止恶意用户的非正常访问呢?
解决方案:通过网络ACL添加拒绝规则,拒绝恶意IP的访问。
- 隔离具有漏洞的应用端口,比如Wanna Cry,关闭445端口
解决方案:通过网络ACL添加拒绝规则,拒绝恶意协议和端口,比如TCP:445端口。
- 子网间东西向无防护诉求,仅有南北向的访问限制。
解决方案:通过网络ACL设置南北向规则。
- 对访问频繁的应用,调整安全规则顺序,提高性能。
解决方案:网络ACL支持规则编排,可以把访问频繁的规则置顶。
网络ACL配置流程
子网配置网络ACL的流程,如图2所示。
- 创建网络ACLACL。
- 添加网络ACL规则ACL规则。
- 将子网和网络ACL关联
- ACL关联。子网关联后,网络ACL将自动开启并生效。