安全组规则

安全组是一种虚拟防火墙,具备有状态的数据包过滤功能,用于设置云服务器、负载均衡、云数据库等实例的网络访问控制,控制实例级别的出入流量,是重要的网络安全隔离手段。
您可以通过配置安全组规则,允许或禁止安全组内的实例的出流量和入流量。

特点

  • 安全组是一个逻辑上的分组,您可以将同一地域内具有相同网络安全隔离需求的云服务器、弹性网卡、云数据库等实例加到同一个安全组内。
  • 关联了同一安全组的实例间默认不会互通,您需要添加相应的允许规则。
  • 安全组是有状态的,对于您已允许的入站流量,都将自动允许其流出,反之亦然。
  • 您可以随时修改安全组的规则,新规则立即生效。

组成部分

安全组规则包括如下组成部分:

  • 来源:源数据(入站)或目标数据(出站)的 IP。
  • 协议类型和协议端口:协议类型如 TCP、UDP、HTTP 等。

ACL规则

网络访问控制列表(Access Control List,ACL)是一种子网级别的可选安全层,用于控制进出子网的数据流,可以精确到协议和端口粒度。
img

使用场景

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

ACL 规则

当您在网络 ACL 中添加或删除规则后,会自动应用到与其相关联的子网的网络流量控制。
网络 ACL 规则包括如下组成部分:

  • 协议类型:选择 ACL 规则允许/拒绝的协议类型,如 TCP、UDP 等。
  • 端口:流量的来源端口,支持单个端口或端口段,如80或90 - 100。
  • 源 IP:流量的源 IP 或源网段,支持 IP 或 CIDR,如10.20.3.010.0.0.2/24
  • 策略:允许或拒绝。

默认规则

每个网络 ACL 在创建后都将包含两条默认规则,默认规则无法修改或删除,且优先级最低。

  • 入方向默认规则
协议类型端口源 IP策略说明
ALLALL0.0.0.0/0拒绝拒绝所有入站流量
  • 出方向默认规则
协议类型端口源 IP策略说明
ALLALL0.0.0.0/0拒绝拒绝所有出站流量

规则优先级

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

应用示例

示例:允许所有源 IP 对 ACL 关联子网内云服务器所有端口进行访问,同时拒绝服务器源 IP 为192.168.200.11/24的 HTTP 服务访问80端口,可添加如下两条网络 ACL 入站规则:

协议类型端口源 IP策略说明
HTTP80192.168.200.11/24拒绝拒绝该 IP 的 HTTP 服务访问80端口
ALLALL0.0.0.0/0允许允许所有源 IP 访问所有端口

安全组与网络 ACL 的区别

通过配置网络ACL和安全组策略,保障VPC内的弹性云服务器安全使用。

  • 安全组对弹性云服务器(EC2)进行防护。
  • 网络ACL对子网进行防护。
对比项安全组网络ACL
防护对象弹性云服务器级别操作。子网级别操作。
配置策略仅支持允许策略。支持允许、拒绝策略。
优先级多个规则冲突,取其并集生效。多个规则冲突,优先级高的规则优先生效。
应用操作创建弹性云服务器默认必须选择安全组,默认安全组自动应用到弹性云服务器。创建子网没有网络ACL选项,必须创建网络ACL、添加关联子网、添加出入规则,并启用网络ACL,才可应用到关联子网及子网下的弹性云服务器。
报文组仅支持报文三元组(即协议、端口和对端地址)过滤。支持报文五元组(即协议、源端口、目的端口、源地址和目的地址)过滤。

AWS: https://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/VPC_SecurityGroups.html
腾讯云: https://cloud.tencent.com/document/product/215/20088
华为云: https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0052003963.html