规则概述

最近更新时间:2023-10-27 14:27:34

我的收藏
网络访问控制列表(Access Control List,ACL)是一种子网级别的可选安全层,用于控制进出子网的数据流,可以精确到协议和端口粒度。您可通过如下视频了解使用网络 ACL 实现访问控制的相关规则。


使用场景

您可以为具有相同网络流量控制的子网关联同一个网络 ACL,通过设置出站和入站规则,对进出子网的流量进行精确控制。 例如,您在腾讯云私有网络内托管多层 Web 应用,创建了不同子网分别部署 Web 层、逻辑层和数据层服务,通过网络 ACL,您可以控制这三个子网之间的访问,使得:Web 层子网和数据层子网无法相互访问,只有逻辑层可以访问 Web 层和数据层子网。


ACL 规则

当您在网络 ACL 中添加或删除规则后,会自动应用到与其相关联的子网的网络流量控制。 网络 ACL 规则包含入站规则和出站规则,规则组成如下:
源 IP/目标 IP:流量的源/目标 IP。如果是入站规则,需要输入源 IP;如果是出站规则,需要输入目标 IP,源/目标 IP 均支持以下格式:
单个 IP:例如 192.168.0.1 或 FF05::B5
CIDR:例如 192.168.1.0/24 或 FF05:B5::/60
所有 IPv4:0.0.0.0/0
所有 IPv6:0::0/0 或 ::/0
协议类型:选择 ACL 规则允许/拒绝的协议类型,例如 TCP、UDP 等。
端口:流量的来源/目标端口,端口支持以下格式:
单个端口:例如 22 或 80
连续端口:例如 1-65535 或 100-20000
所有端口:ALL
策略:允许或拒绝。

默认规则

每个网络 ACL 在创建后都将包含两条默认规则,默认规则无法修改或删除,且优先级最低。
入方向默认规则
协议类型
端口
源 IP
策略
说明
ALL
ALL
0.0.0.0/0
拒绝
拒绝所有入站流量
出方向默认规则
协议类型
端口
目标 IP
策略
说明
ALL
ALL
0.0.0.0/0
拒绝
拒绝所有出站流量

规则优先级

网络 ACL 规则的优先级通过规则在列表中的位置来表示,列表顶端的规则优先级最高,最先应用;列表底端的规则优先级最低。
若有规则冲突,则默认应用位置更前的规则。
当绑定了网络 ACL 的子网有流量入/出时,将从网络 ACL 列表顶端的规则开始逐条匹配至最后一条。如果匹配某一条规则成功,则允许通过,不再匹配该规则之后的规则。

应用示例

假设某子网关联了网络 ACL,该子网允许所有源 IP 访问子网内云服务器的所有端口,同时拒绝源 IP 为192.168.200.11/24的 HTTP 服务访问80端口。根据上述要求,其关联的网络 ACL 应添加如下两条入站规则:
协议类型
端口
源 IP
策略
说明
HTTP
80
192.168.200.11/24
拒绝
拒绝该 IP 的 HTTP 服务访问80端口
ALL
ALL
0.0.0.0/0
允许
允许所有源 IP 访问所有端口

安全组与网络 ACL 的区别

对比项
安全组
网络 ACL
流量控制
云服务器、数据库等实例级别的流量访问控制
子网级别的流量控制
规则
支持允许规则、拒绝规则
支持允许规则、拒绝规则
有无状态
有状态:返回数据流会被自动允许,不受任何规则的影响
无状态:返回数据流必须被规则明确允许
生效时间
只有在创建云服务器、云数据库等实例时指定安全组,或实例创建后再关联安全组,规则才会被应用到实例
创建 ACL 并绑定子网后,ACL 将自动应用到关联子网内的所有云服务器、云数据库等实例
规则优先级
有规则冲突时,默认应用位置更前的规则
有规则冲突时,默认应用位置更前的规则