更新时间:2023-12-29 gmt 08:00

安全组与网络acl区别-凯发k8国际娱乐官网入口

通过配置网络acl和安全组策略,可以保障虚拟私有云内的实例安全运行,比如弹性云服务器、数据库、云容器实例等。

  • 安全组对实例进行防护,将实例加入安全组内,该实例将会受到安全组的保护。
  • 网络acl对整个子网进行防护,将子网关联至网络acl,则子网内的所有实例都会受到网络acl保护。相比安全组,网络acl的防护范围更大。

安全组和网络acl的关系如图1所示。本示例中,安全组a和安全组b可以保护其中ecs的网络安全,通过网络acl a和网络acl b,可以分别保护整个子网1和子网2的安全,双层防护提升安全保障。

图1 安全组与网络acl
网络acl和安全组区别如表1所示。
表1 安全组和网络acl区别说明

对比项

安全组

网络acl

防护范围

安全组防护安全组内的实例,比如弹性云服务器、数据库、云容器实例等。

网络acl防护整个子网,子网内的所有实例都会受到网络acl保护。

规则策略

安全组支持设置允许和拒绝策略。

  • 允许策略:对于匹配成功的流量,允许流入/流出实例。
  • 拒绝策略:对于匹配成功的流量,拒绝流入/流出实例。

拒绝策略部分区域支持,具体请打开,并选择“安全组”查看。

网络acl支持设置允许和拒绝策略。

  • 允许策略:对于匹配成功的流量,允许流入/流出子网。
  • 拒绝策略:对于匹配成功的流量,拒绝流入/流出子网。

规则生效顺序

当实例上绑定多个安全组,并且安全组中存在多条规则时,生效顺序如下:
  1. 首先根据实例绑定安全组的顺序生效,排在前面的安全组优先级高。
  2. 然后根据安全组内规则的优先级生效,优先级的数字越小,优先级越高。
  3. 当优先级相同的情况下,再按照策略匹配,拒绝策略高于允许策略。

安全组优先级部分区域支持,具体请打开,并选择“安全组”查看。

一个子网只能绑定一个网络acl,当网络acl存在多条规则时,根据规则的优先级进行生效,优先级数字越小,优先级越高。

应用操作

  • 创建实例(比如弹性云服务器)时,必须选择一个安全组,如果当前用户名下没有安全组,则系统会自动创建一个默认安全组。
  • 实例创建完成后,您可以执行以下操作:
    • 在安全组控制台,添加/移出实例。
    • 在实例控制台,为实例添加/移除安全组。

创建子网没有网络acl选项,需要先创建网络acl,添加出入规则,并在网络acl内关联子网。当网络acl状态为已开启,将会对子网生效。

报文组

支持报文三元组(即协议、端口和源/目的地址)过滤。

支持报文五元组(即协议、源端口、目的端口、源地址和目的地址)过滤。

安全组和网络acl规则的匹配顺序

当安全组和网络acl同时存在时,流量优先匹配网络acl的规则,然后匹配安全组规则,以入方向流量为例,以下将通过具体的示例,为您详细介绍安全组和网络acl规则的匹配顺序。

本示例中,vpc-a内有子网subnet-a,subnet-a内有一台弹性云服务器ecs-a。安全防护策略如下:
  • 子网subnet-a上关联了网络acl fw-a。fw-a中的默认规则不能删除,流量优先匹配已添加的自定义规则,网络acl规则示例请参见表2
  • 弹性云服务器ecs-a由安全组sg-a来防护。创建安全组sg-a时,您可以选择已有模板,系统会自动添加部分规则,创建完成后可以对系统自带规则进行修改或者删除,也可以添加自定义规则,安全组规则示例请参见表3
表2 网络acl fw-a规则

规则方向

优先级

类型

策略

协议

源地址

源端口范围

目的地址

目的端口范围

说明

入方向

1

ipv4

拒绝

全部

10.0.1.0/24

全部

0.0.0.0/0

全部

自定义网络acl规则01:拒绝来自特定ip地址10.0.1.0/24网段的流量流入子网内

入方向

2

ipv4

允许

tcp

0.0.0.0/0

全部

0.0.0.0/0

80-85

自定义网络acl规则02:允许所有流量访问子网内实例的80-85端口

入方向

*

--

拒绝

全部

0.0.0.0/0

全部

0.0.0.0/0

全部

默认网络acl规则:拒绝所有流量流入子网

出方向

1

ipv4

允许

全部

0.0.0.0/0

全部

0.0.0.0/0

全部

自定义网络acl规则03:允许所有流量流出子网

出方向

*

--

拒绝

全部

0.0.0.0/0

全部

0.0.0.0/0

全部

默认网络acl规则:拒绝所有流量流出子网

表3 安全组sg-a规则

规则方向

优先级

策略

类型

协议端口

源地址/目的地址

描述

入方向

1

允许

ipv4

自定义tcp:80

源地址:0.0.0.0/0

自定义安全组规则01:针对全部ipv4协议,允许所有流量访问实例的80端口

入方向

1

拒绝

ipv4

自定义tcp:82-83

源地址:0.0.0.0/0

自定义安全组规则02:针对全部ipv4协议,拒绝所有流量访问实例的82和83端口

入方向

1

允许

ipv4

全部

源地址:本安全组(sg-a)

系统自带安全组规则:针对全部ipv4协议,允许本安全组内实例的流量流入,确保安全组内实例网络互通

入方向

1

允许

ipv6

全部

源地址:本安全组(sg-a)

系统自带安全组规则:针对全部ipv6协议,允许本安全组内实例的流量流入,确保安全组内实例网络互通

出方向

1

允许

ipv4

全部

目的地址:0.0.0.0/0

系统自带安全组规则:针对全部ipv4协议,允许所有流量流出实例

出方向

1

允许

ipv6

全部

目的地址:::/0

系统自带安全组规则:针对全部ipv6协议,允许所有流量流出实例

基于以上假设场景,不同入方向流量对规则的匹配情况如表4所示。

表4 安全组和网络acl的匹配情况说明

序号

流量匹配顺序说明

示例说明

1

流量优先匹配网络acl规则:
  • 当流量未匹配上任何自定义网络acl规则,则流量执行默认网络acl规则,拒绝流量流入子网,如示例一
  • 当流量匹配上自定义网络acl规则,则根据网络acl规则策略决定流量走向。
    • 当策略为拒绝时,则拒绝该流量流入子网,如示例二
    • 当策略为允许时,则允许该流量流入子网,如示例三

流量匹配网络acl规则的顺序,具体请参见。

  • 示例一:入方向报文源地址为192.168.0.30/32,目的端口为90,无法匹配上fw-a中的自定义规则,则匹配默认规则,拒绝该报文流入子网。
  • 示例二:入方向报文源地址为10.0.1.77/32,可匹配上fw-a中的自定义网络acl规则01,根据规则策略,拒绝该报文流入子网。
  • 示例三:入方向报文源地址为192.168.0.57/32,目的端口为85,匹配上fw-a中的自定义网络acl规则02,根据规则策略,允许该报文流入子网。该报文继续匹配安全组规则,无法匹配上sg-a的任何入方向规则,拒绝该报文流入实例。
  • 示例四:入方向报文源地址为192.168.0.58/32,目的端口为82,匹配上fw-a中的自定义网络acl规则02,根据规则策略,允许该报文流入子网。该报文继续匹配安全组规则,可匹配上sg-a的自定义安全组规则02,根据规则策略,拒绝该报文流入实例。
  • 示例五:入方向报文源地址为192.168.0.56/32,目的端口为80,匹配上fw-a中的自定义网络acl规则02,根据规则策略,允许该报文流入子网。该报文继续匹配安全组规则,可匹配上sg-a的自定义安全组规则01,根据规则策略,允许该报文流入实例。

2

当流量通过网络acl进入子网时,流量进一步匹配安全组规则:
  • 当流量未匹配上任何安全组规则时,则拒绝该流量进入实例,如示例三
  • 当流量匹配上安全组规则,则根据安全组规则策略决定流量走向。
    • 当策略为拒绝时,则拒绝该流量流入实例,如示例四
    • 当策略为允许时,则允许该流量流入实例,如示例五

流量匹配安全组规则的顺序,具体请参见。

分享:
网站地图