访问控制策略配置不当,可能导致数据泄露、公网暴露及业务中断等风险。深入理解其工作原理有助于构建更安全的防护体系。
背景信息
如果您未配置任何访问控制策略,云防火墙在访问控制策略匹配环节,默认放行所有流量。配置访问控制策略后,云防火墙可以对流量进行筛查,仅当符合要求的流量才可被放行。
术语解释
名称 | 解释 |
匹配项 | 云防火墙访问控制策略包含多个元素,包括访问类型、访问源、目的类型等。其中,云防火墙仅将流量的源地址、目的地址、目的端口、传输协议、应用层协议和域名作为匹配项,与经过云防火墙的流量报文进行逐一匹配。 |
目的类型 | 云防火墙访问控制策略的目的地址的类型,支持IP、地址簿、域名、区域等不同类型。 说明 不同防火墙支持配置的目的类型不同。
|
四元组 | 本文中,四元组指源IP地址、目的IP地址、目的端口和传输协议。 |
应用 | 应用层协议。 支持HTTP、HTTPS、SMTP、SMTPS、SSL、FTP、IMAPS、POP3等多种协议。不确定具体应用类型时可选择ANY。 说明 云防火墙会根据不同的端口来识别TLS和SSL流量的应用类型。
|
七层策略 | 配置了应用和FQDN域名条件的策略。 |
展开逻辑 | 在配置访问控制策略时,如果某个配置项(例如访问源或端口)设置了多个匹配对象,云防火墙会在策略生效后,将这些匹配对象逐一拆解,并生成多条具体的匹配规则。例如,您可以将端口配置为80/80、22/22等多个值,云防火墙会根据每个端口分别生成独立的匹配规则,从而实现更精细的流量管理。 |
匹配逻辑 | 指云防火墙根据展开后的匹配规则来判断网络流量是否满足放行条件,并根据匹配结果执行相应的策略动作的过程。 |
如果访问控制策略的目的类型配置的是域名或者域名地址簿,您还需要了解如下三种域名识别模式:
基于FQDN(报文提取Host/SNI):仅支持应用类型为HTTP、HTTPS、SMTP、SMTPS、SSL、POPS、IMAPS时,云防火墙通过流量报文中的Host或SNI等字段来实现域名的访问控制。
基于DNS动态解析:限制应用类型,支持应用包括且不限于HTTP、HTTPS、MySQL、SSH等。云防火墙对域名进行DNS动态解析,云防火墙支持对解析出的IP地址进行访问控制。一个域名最多解析500个IP。
同时基于FQDN和DNS动态解析:仅支持应用类型为HTTP、HTTPS、SMTP、SMTPS、SSL、POPS、IMAPS时,云防火墙通过优先识别流量中的Host或SNI字段,结合DNS动态解析结果,任一匹配成功即视为域名条件符合以实现访问控制。适用于那些应用类型选择上述7种应用,但部分或全部流量中未携带HOST/SNI字段。
重要仅识别模式选择基于FQDN(报文提取Host/SNI)时,目的类型支持泛域名和泛域名地址簿。
选择同时基于FQDN和DNS动态解析模式时,必须开启ACL访问控制严格模式。
在宽松模式下,如果您选择HTTP等上述7种应用,如果流量中未携带域名信息,会在匹配FQDN域名时直接被未识别放行。
在严格模式下,即使流量中未携带域名信息,云防火墙仍会继续进行DNS动态解析,从而匹配该模式中解析出的IP,确保更精准的安全管控。
工作流程
访问控制策略工作流程如下:
创建访问控制策略后,云防火墙会按照访问控制策略展开逻辑将访问控制策略展开为一条或多条匹配规则,并下发到引擎。
当流量经过云防火墙时,云防火墙按照策略的优先级,依次匹配流量报文,根据匹配结果放行或拦截流量包。
如果流量报文命中某一条策略,云防火墙将执行该策略动作,并结束策略匹配;否则将继续匹配下一优先级策略,直至命中策略或匹配完所有配置的策略。如果流量匹配完所有访问控制策略后还是没有命中,默认放行该流量。
访问控制策略展开逻辑
创建访问控制策略后,云防火墙会按照特定的逻辑将访问控制策略展开为一条或多条匹配规则,并下发到引擎。互联网边界防火墙、NAT边界防火墙和VPC边界防火墙支持根据流量中携带的域名信息进行域名管控。根据识别流量中包含的信息不同,访问控制策略的展开逻辑不同。
创建、修改和删除访问控制策略后,云防火墙约需要3分钟将匹配规则下发到引擎。
访问控制策略拆分为多条匹配规则后,当流量匹配到该条访问控制策略时,会依次匹配对应的匹配规则。流量命中访问控制策略的任意一条匹配规则时,即命中该访问控制策略。
关于域名解析的更多内容,请参见访问控制策略概述。
策略目的类型为IP、IP地址簿或区域
当策略的目的类型配置为IP、IP地址簿或区域时,云防火墙将根据配置的对象个数展开访问源、目的地址、协议类型、端口和应用。
策略目的类型为域名、域名地址簿
当策略的目的类型配置为域名或域名地址簿时,云防火墙会判断策略域名识别类型,根据不同的域名识别类型展开策略并下发到引擎。
当域名识别类型选择基于FQDN(报文提取Host/SNI),此时应用仅能选择HTTP、HTTPS、SMTP、SMTPS、SSL、POPS、IMAPS的一种或多种类型,且协议类型仅支持选择TCP。云防火墙会将匹配规则的目的地址设置为0.0.0.0/0,同时将域名、访问源、协议类型、端口和应用按照匹配的对象个数进行展开。
当域名识别类型选择基于DNS动态解析,云防火墙解析域名IP,将匹配规则的目的地址匹配项设置为解析后的IP地址,同时将访问源、目的地址、协议类型、端口和应用按照配置的对象个数进行展开。
协议类型选择TCP:支持选择HTTP、HTTPS、IMAPS、FTP、ANY等多种应用。
协议类型选择UDP:仅支持选择DNS、ANY等应用。
协议类型选择ICMP或ANY:仅支持选择ANY应用。
当域名识别类型选择同时基于FQDN和DNS动态解析,此时应用仅能选择HTTP、HTTPS、SMTP、SMTPS、SSL、POPS、IMAPS的一种或多种类型,且协议类型仅支持选择TCP。首先尝试通过FQDN提取Host/SNI来识别域名,再使用DNS动态解析方法获取目的IP地址。因此展开两套匹配策略,并按照顺序对流量进行匹配。
重要宽松模式下,如果通过FQDN提取Host/SNI未识别域名,则流量会被放行,DNS规则对未识别域名流量无效。所以选择同时基于FQDN和DNS动态解析时必须开启严格模式。
将匹配规则的目的地址设置为0.0.0.0/0,同时将域名、访问源、协议类型、端口和应用按照匹配的对象个数进行展开。
将匹配规则的目的地址匹配项设置为解析后的IP地址,同时将访问源、目的地址、协议类型、端口和应用按照配置的对象个数进行展开。
访问控制匹配逻辑
当流量经过云防火墙时,云防火墙会根据访问控制策略、威胁情报规则、基础防御规则、智能防御规则、虚拟补丁规则对流量报文进行匹配,然后根据匹配结果执行相应的规则动作。以下为您介绍云防火墙在访问控制策略匹配阶段的逻辑。如果需要了解不同阶段的匹配顺序,请参见流量分析常见问题。
在访问控制策略匹配阶段,云防火墙会依次根据流量所包含的四元组(源IP地址、目的IP地址、目的端口、传输层协议)、应用和FQDN域名,匹配访问控制策略。
进入应用识别和FQDN域名识别环节的流量,在识别期间(如应用识别状态为尚未收到载荷、分析中状态时)都会被默认放行而不受ACL引擎模式及策略动作的影响。ACL引擎模式的区别是宽松模式在流量识别失败时会持续放行流量进行识别,而严格模式在流量识别失败时会结束识别进入下一个策略匹配环节。
如果本条策略未匹配成功,根据实际情况放行流量或继续匹配下一条策略。
当所有策略均未匹配成功,默认放行该流量。
四元组匹配:云防火墙首先匹配流量的四元组,如果策略命中,则继续匹配其应用和FQDN域名。否则,继续匹配下一优先级策略。
存在下一优先级策略,重新开始匹配流程。
若不存在,默认放行流量。
应用匹配:
未指定应用(ANY应用):任何流量均视为应用匹配成功,继续匹配FQDN域名。
指定应用
流量应用未识别
宽松模式下,默认放行流量。
严格模式下,继续匹配下一优先级策略,直到命中或结束。
流量应用已识别
策略命中:继续匹配FQDN域名
未命中:继续匹配下一优先级策略。
域名匹配:
未指定域名:任何域名均视为域名匹配成功,执行策略动作。
指定域名
流量域名未识别
宽松模式下,默认放行流量。
严格模式下,继续匹配下一优先级策略,直到命中或结束。
流量域名已识别
策略命中:执行策略动作。
未命中:继续匹配下一优先级策略,直到命中或结束。
配置示例
以下以互联网边界的访问控制策略为例,为您介绍不同场景下的策略匹配情况,以便您更好地了解访问控制策略的工作原理。
场景一:访问控制策略目的类型为IP地址
假设已创建以下两条策略。
访问控制策略
访问源
目的
协议类型
端口
应用
动作
优先级
策略A
192.0.2.0/24
198.51.100.0/24
TCP
80/88
HTTP
放行
1
策略B
0.0.0.0/0
0.0.0.0/0
ANY
0/0
ANY
拒绝
2
云防火墙根据展开逻辑,将访问控制策略展开为多条匹配规则并下发到引擎。
当流量经过云防火墙时,云防火墙按照策略优先级顺序依次匹配流量。
会话流量
访问源
目的
协议类型
端口
应用
匹配结果
示例一
(匹配一致)
192.0.2.1
198.51.100.1
TCP
80
HTTP
匹配策略A的四元组。→命中
匹配策略A的应用。→命中
执行策略A的动作:放行流量包
示例二
(源IP未匹配)
203.0.113.1
198.51.100.1
TCP
80
HTTP
匹配策略A的四元组。→未命中
匹配策略B的四元组。→命中
执行策略B的动作:拒绝流量包
示例三
(应用未识别)
192.0.2.4
198.51.100.1
TCP
80
Unknown
匹配策略A的四元组。→命中
匹配策略A的应用。→无法识别流量应用
判断当前模式。
宽松模式下:默认放行流量
严格模式下:继续匹配策略B
匹配策略B的四元组。→命中
执行策略B动作:拒绝流量包
场景二:访问控制策略目的类型为域名
假设已创建以下多条策略。
访问控制策略
访问源
目的
支持域名匹配模式
协议类型
端口
应用
动作
优先级
说明
策略A
192.0.2.0/24
www.aliyun.com
(基于FQDN)
基于FQDN(报文提取Host/SNI)。
基于DNS动态解析。
同时基于FQDN与DNS动态解析。
TCP
0/0
HTTP
HTTPS
放行
1
该策略目的域名以Host或者SNI字段匹配。
策略B
198.51.100.0/24
www.aliyun.com
(基于DNS动态解析)
基于DNS动态解析
TCP
0/0
SSH
放行
2
该策略目的域名以DNS解析的IP匹配。
策略C
203.0.113.0/24
www.aliyun.com
(同时基于FQDN与DNS动态解析)
基于FQDN(报文提取Host/SNI)。
基于DNS动态解析。
同时基于FQDN与DNS动态解析。
TCP
0/0
SMTP
放行
3
该策略目的域名以DNS解析的IP匹配。
策略D
0.0.0.0/0
0.0.0.0/0
无。
ANY
0/0
ANY
拒绝
4
无
云防火墙根据展开逻辑,将访问控制策略展开为多条匹配规则并下发到引擎。
防护资产的流量经过云防火墙时,云防火墙按照策略优先级顺序依次匹配流量。
说明假设www.aliyun.com解析后的IP为106.XX.XX.5。
会话流量
访问源
目的
协议类型
端口
应用
域名
匹配结果
示例一
192.0.2.1
106.XX.XX.5
TCP
80
HTTP
www.aliyun.com
匹配策略A的四元组。→命中
匹配策略A的应用。→命中
匹配策略A的域名。→命中
执行策略A的动作:放行流量包
示例二
203.0.113.3
106.XX.XX.5
TCP
443
HTTPS
www.aliyun.com
匹配策略A的四元组。→未命中
匹配策略B的四元组。→未命中
匹配策略C的四元组。→命中
匹配策略C的应用。→未命中
匹配策略D的四元组。→命中
执行策略D的动作:拒绝流量包
示例三
198.51.100.1
106.XX.XX.5
(访问的域名为www.aliyun.com)
ANY
22
SSH
无
匹配策略A的四元组。→未命中
匹配策略B的四元组。→命中
匹配策略B的应用。→命中
执行策略B的动作:放行流量包
示例四
192.0.2.2
106.XX.XX.5
(访问的域名为www.aliyun.com)
TCP
80
Unknown
无
匹配策略A的四元组。→命中
匹配策略A的应用。→无法识别流量应用
判断当前模式。
宽松模式下:默认放行流量
严格模式下:继续匹配策略B
匹配策略B的四元组。→未命中
匹配策略C的四元组。→未命中
匹配策略D的四元组。→命中
执行策略D动作:拒绝流量包
示例五
192.0.2.3
106.XX.XX.5
(访问的域名为www.aliyun.com)
TCP
80
HTTP
Unknown
匹配策略A的四元组。→命中
匹配策略A的应用。→命中
匹配策略A的域名。→无法识别流量域名
判断当前模式。
宽松模式下:默认放行流量
严格模式下:继续匹配策略B
匹配策略B的四元组。→未命中
匹配策略C的四元组。→未命中
匹配策略D的四元组。→命中
执行策略D动作:拒绝流量包
场景三:访问控制策略目的类型为域名地址簿
假设已创建以下两条策略。
访问控制策略
访问源
目的
支持域名匹配模式
协议类型
端口
应用
动作
优先级
策略A
192.0.2.0/24
www.aliyun.com
www.example.com
(基于FQDN)
基于FQDN(报文提取Host/SNI)。
基于DNS动态解析。
同时基于FQDN与DNS动态解析。
TCP
0/0
HTTP
HTTPS
放行
1
策略B
0.0.0.0/0
0.0.0.0/0
无。
ANY
0/0
ANY
拒绝
2
云防火墙分析您创建好的访问控制策略,并将访问控制策略A拆分为多条匹配规则。
当流量经过云防火墙时,云防火墙按照策略优先级顺序依次匹配流量。
说明假设www.aliyun.com解析后的IP为106.XX.XX.5,www.example.com解析后的IP为107.XX.XX.7。
会话流量
访问源
目的
协议类型
端口
应用
域名
匹配结果
示例一
192.0.2.1
106.XX.XX.5
TCP
80
HTTP
www.aliyun.com
匹配策略A的四元组。→命中
匹配策略A的应用。→命中
匹配策略A的域名。→命中
执行策略A的动作:放行流量包
示例二
192.0.2.2
107.XX.XX.7
TCP
22
SSH
www.example.com
匹配策略A的四元组。→命中
匹配策略A的应用。→未命中
匹配策略B的四元组。→命中
执行策略B的动作:拒绝流量包
示例三
192.0.2.3
107.XX.XX.7
TCP
22
Unknown
www.example.com
匹配策略A的四元组。→命中
匹配策略A的应用。→无法识别流量应用
判断当前模式。
宽松模式下:默认放行流量
严格模式下:继续匹配策略B
匹配策略B的四元组。→命中
执行策略B动作:拒绝流量包
示例四
192.0.2.4
106.XX.XX.5
(访问的域名为www.example.com)
TCP
80
HTTP
Unknown
匹配策略A的四元组。→命中
匹配策略A的应用。→命中
匹配策略A的域名。→无法识别流量域名
判断当前模式。
宽松模式下:默认放行流量
严格模式下:继续匹配策略B
匹配策略B的四元组。→命中
执行策略B动作:拒绝流量包