07-URL过滤
本章节下载: 07-URL过滤 (524.82 KB)
本帮助主要介绍以下内容:
· 特性简介
○ URL简介
○ URL过滤规则
○ URL过滤分类
○ URL过滤动作
· 配置指南
○ 配置云端服务器
URL过滤功能是指对用户访问的URL进行控制,即允许或禁止用户访问的Web资源,达到规范用户上网行为的目的。
URL(Uniform Resource Locator,统一资源定位符)是互联网上标准资源的地址。URL用来完整、精确的描述互联网上的网页或者其他共享资源的地址,URL格式为:“protocol://hostname[:port]/path/[;parameters][?query]#fragment”,格式示意如图-1所示:
图-1 URL格式示意图
URL各字段含义如表-1所示:
表-1 URL各字段含义表
字段 |
描述 |
protocol |
表示使用的传输协议,例如HTTP |
host |
表示存放资源的服务器的主机名或IP地址 |
[:port] |
(可选)传输协议的端口号,各种传输协议都有默认的端口号 |
/path/ |
是路径,由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址 |
[parameters] |
(可选)用于指定特殊参数 |
[?query] |
(可选)表示查询用于给动态网页传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开 |
URI |
URI(Uniform Resource Identifier,统一资源标识符)是一个用于标示某一互联网资源名称的字符 |
URL过滤功能实现的前提条件是对URL的识别。可通过使用URL过滤规则匹配URL中host字段和URI字段的方法来识别URL。
URL过滤规则是指对用户HTTP报文中的URL进行匹配的原则,且其分为两种规则:
· 预定义规则:根据设备中的URL过滤特征库自动生成,包括百万级的Host或URI。预定义规则能满足多数情况下的URL过滤需求。
· 自定义规则:由管理员手动配置生成,可以通过使用正则表达式或者文本的方式来配置规则中Host或URI的内容。
URL过滤规则支持两种匹配方式:
· 文本匹配:使用指定的字符串对Host和URI字段进行匹配。
○ 匹配主机名字段时,首先判断主机名开头或结尾位置是否含有通配符“*”,若均未出现,则URL中的主机名字段与规则中指定的主机名字符串必须完全一致,才能匹配成功;若“*”出现在开头位置,则该字符串或以该字符串结尾的URL会匹配成功;若“*”出现在结尾位置,则该字符串或以该字符串开头的URL会匹配成功。若“*”同时出现在开头或结尾位置,则该字符串或含有该字符串的URL均会匹配成功。
○ 匹配URI字段时,和主机名字段匹配规则一致。
· 正则表达式匹配:使用正则表达式对Host和URI字段进行匹配。例如,规则中配置host的正则表达式为sina.*cn,则Host为news.sina.com.cn的URL会匹配成功。
为便于管理员对数目众多的URL过滤规则进行统一部署,URL过滤模块提供了URL过滤分类功能,以便对具有相似特征的URL过滤规则进行归纳以及为匹配这些规则的URL统一指定处理动作。每个URL过滤分类具有一个严重级别属性,该属性值表示对属于此过滤分类URL的处理优先级。
URL过滤分类包括两种类型:
· 预定义分类:根据设备中的URL过滤特征库自动生成,其严重级别不可被修改。
· 自定义分类:由管理员手动配置,可修改其严重级别,可添加URL过滤规则。
URL过滤配置文件是用于关联所有URL过滤配置的一个实体。一个URL过滤配置文件中可以配置URL过滤分类和处理动作的绑定关系,以及缺省动作(即对未匹配上任何URL过滤规则的报文采取的动作)。
URL过滤黑/白名单规则功能根据应用层的信息进行URL过滤。如果用户HTTP报文中的URL与URL过滤配置文件中的黑名单规则匹配成功,则丢弃此报文;如果与白名单规则匹配成功,则允许此报文通过。
在URL过滤配置文件中开启URL过滤分类云端查询功能后,如果流经设备HTTP报文中的URL与该URL过滤配置文件中的过滤规则匹配失败,则此URL将会被发向云端URL过滤分类服务器进行查询。云端URL过滤分类服务器响应该请求,并向设备发送查询结果,该结果中包含了URL过滤规则及其所属的分类名称,设备根据该结果执行相应的分类处理动作。如果云端返回的分类在设备上没有与其对应的分类动作或者云端URL查询失败,则设备将对此报文执行URL过滤配置文件中的缺省动作。
URL过滤配置文件中可以设置配置文件的缺省动作和URL分类的动作,动作具体包括如下:
· 黑名单:表示将该报文的源IP地址加入IP黑名单。若设备上同时开启了IP黑名单过滤功能,则一定时间内(安全动作指定的URL过滤的阻断时间)来自此IP地址的所有报文将被直接丢弃;若没有开启IP黑名单过滤功能,则此IP黑名单不生效。有关IP黑名单过滤功能的详细介绍请参见“攻击防范联机帮助”。
· 丢弃:表示丢弃报文。
· 允许:表示允许报文通过。
· 重定向:表示重定向动作,把符合特征的报文重定向到指定的Web页面上。
· 重置:表示通过发送TCP的reset报文从而使TCP连接断开。
· 记录日志:表示生成报文日志动作。开启记录日志功能后此动作才能生效。
缺省情况下,设备仅对HTTP流量进行URL过滤,如果需要对HTTPS流量进行URL过滤,则可以选择如下方式:
· 使用SSL解密功能:先对HTTPS流量进行解密,然后再进行URL过滤。有关SSL解密功能的详细介绍,请参见“应用代理联机帮助”。
· 开启HTTPS流量过滤功能:不对HTTPS流量进行解密,直接对客户端发送的HTTPS的Client HELLO报文中的SNI(Sever Name Indication extension)字段进行检测,从中获取用户访问的服务器域名,使用获取到的域名进行URL过滤。
由于SSL解密功能涉及大量的加解密操作,会对设备的转发性能会产生较大的影响,建议在仅需要对HTTPS流量进行URL过滤业务处理的场景下选择“开启HTTPS流量过滤功能”的方式对HTTPS流量进行URL过滤。
在开启URL过滤功能的情况下,当用户通过设备使用HTTP访问某个网络资源时,设备将进行URL过滤。URL过滤处理流程如图-2所示:
图-2 URL过滤实现流程图
URL过滤实现流程如下:
1. 如果报文匹配了某个安全策略,且此策略的动作是允许并引用了URL过滤配置文件,则设备提取报文中的URL字段进行URL过滤规则匹配。
2. 如果报文与设备上URL过滤配置文件中的过滤规则匹配成功,则将进一步做如下判断:
3. 首先判断此URL过滤规则是否属于URL过滤的黑/白名单规则。如果属于URL过滤白名单规则,则直接允许此报文通过;如果属于URL过滤的黑名单规则,则直接将此报文阻断。
4. 如果此URL过滤规则既不属于URL过滤白名单规则也不属于URL过滤黑名单规则,则设备将进行如下判断。
○ 如果此URL过滤规则属于自定义URL过滤分类,则进一步判断是否同时属于多个自定义URL过滤分类。如果属于多个自定义URL过滤分类,则根据严重级别最高的URL过滤分类的动作对此报文进行处理;如果仅属于一个自定义URL过滤分类,则根据该分类的动作对报文进行处理。
○ 如果设备上启用了URL信誉功能,则判断此URL过滤规则是否属于URL信誉特征库中的某个攻击分类。如果属于,则根据该攻击分类的动作对报文进行处理。
○ 如果此URL过滤规则属于预定义URL过滤分类,则进一步判断是否属于多个预定义URL过滤分类。如果属于多个预定义URL过滤分类,则根据严重级别最高的URL过滤分类的动作对报文进行处理;如果仅匹配一个预定义URL过滤分类,则根据该分类的动作对报文进行处理。
5. 如果报文未匹配上任何一条URL过滤配置文件中的过滤规则,则将进一步判断URL过滤配置文件中是否开启了URL过滤分类云端查询功能。如果分类云端查询功能已开启,则将报文中的URL发向云端URL过滤分类服务器进行查询,否则进行第7步的判断。
6. 如果URL云端查询成功,则进行步骤4中对自定义URL过滤分类和预定义URL分类的判断,否则进行步骤7的判断。
7. 如果设备上配置了URL过滤的缺省动作,则根据配置的缺省动作对此报文进行处理;否则直接允许报文通过。
本功能的支持情况与设备型号有关,请以设备实际情况为准。
使用文本方式对主机名和URI字段进行匹配时,对星号“*”有如下的限制:
· 匹配主机名字段时,“*”只能出现在开头或结尾,表示通配符,代表0到多个任意字符。
· 匹配URI字段时,当“*”出现在开头或结尾,表示通配符,代表0到多个任意字符;当“*”出现在其他位置时,则作为普通字符进行匹配。
· 正则表达式中,总的分支不能超过四个。例如'abc(c|d|e|\x3D)'有效,'abc(c|onreset|onselect|onchange|style\x3D)'无效。
· 正则表达式中,括号不能嵌套,即括号中不能有括号。例如'ab((abcs*?))'无效。
· 正则表达式中,分支不支持串联,即分支后面不能有分支。例如'ab(a|b)(c|d)^\\r\\n]+?'无效。
· 正则表达式中,零次重复量词'*'和'?'前面必须有四个确定字符。例如'abc*'无效,'abcd*DoS\x2d\d{5}\x20\x2bxi\\r\\nJOIN'有效。
· 当报文匹配白名单规则时,URL过滤日志中的URL过滤分类将显示为白名单。
· 开启内嵌白名单功能后,当报文与白名单内嵌的网页链接匹配成功时,URL过滤日志中的URL过滤分类将显示为内嵌白名单。
· 开启白名单模式后,当报文与白名单规则匹配失败时,URL过滤日志中的URL过滤分类将显示为黑名单。
· 配置文件变更后(包括新建、编辑和删除),需要激活才能生效。如需立即激活,请单击<提交>按钮。否则,设备默认40秒后自动激活。激活会暂时中断DPI业务的处理,可能导致其他基于DPI功能的业务同时出现中断。例如,安全策略无法对应用进行访问控制等。
· 执行“提交”操作后,界面上会提示设置成功,但是配置文件此时可能尚未完成激活,如果此时报文经过设备,可能会出现暂时无法识别的情况。
· 本功能仅支持基于URL过滤规则中的HOST字段过滤,对于URI字段的信息无法匹配。
· 本功能仅在访问的服务器地址字段为域名的情况下生效,如果服务器地址字段为IP地址,则不生效。
· 如果客户端浏览器启用TLS 1.3降级强化机制功能选项,报文中的SNI字段将会被加密,本功能将失效。
· 如果HTTPS报文不支持SNI字段,本功能将失效。
URL过滤功能的配置思路如下图所示:
图-3 URL过滤功能配置指导图
为便于管理员对数目众多的URL过滤规则进行统一部署,URL过滤模块提供了URL过滤分类功能,以便对具有相似特征的URL过滤规则进行归纳以及为匹配这些规则的URL统一指定处理动作。每个URL过滤分类具有一个严重级别属性,该属性值表示对属于此过滤分类URL的处理优先级,数值越大表示严重级别越高。
当URL特征库中预定义的URL过滤分类和URL过滤规则不能满足对URL的控制需求时,可以新建URL过滤分类,并在分类中创建URL过滤规则。每个URL过滤规则可以同时属于多个URL过滤分类。
新建自定义URL过滤分类的配置步骤如下:
1. 选择“对象 > 应用安全 > URL过滤 > URL分类”。
2. 在“URL分类”页面单击<新建>按钮,进入“新建自定义URL过滤分类”页面。
3. 新建自定义URL过滤分类,具体配置内容如下:
表-2 自定义URL过滤分类配置内容
参数 |
说明 |
名称 |
URL分类的名称,不能以字符”Pre-“开头,因为Pre-是预定义的URL分类名称 |
描述 |
通过合理编写描述信息,便于管理员快速理解和识别URL分类的作用,有利于后期维护 |
优先级 |
URL的严重级别属性,创建URL过滤分类时必须配置此参数,数值越大表示严重级别越高,且不同的URL过滤分类的严重级别不能相同 |
包含预定义分类 |
为指定的URL过滤分类添加预定义分类中的所有URL规则 |
4. 单击<添加>按钮,添加URL。主机名表示对URL中的主机名字段进行过滤,URI表示对URL中的URI字段进行过滤。文本表示使用指定的字符串对主机名和URI字段进行匹配,正则表达式表示使用正则表达式对主机名和URI字段进行匹配。
5. 单击<确定>按钮,添加URL成功,返回新建自定义URL过滤分类页面。
6. 单击<确定>按钮,新建自定义URL过滤分类成功,且会在“URL过滤分类”页面的自定义分类中显示。
云端服务器的具体配置步骤如下:
1. 选择“对象 > 应用安全 > URL过滤 > URL分类”。
2. 在“URL分类”页面单击<配置>按钮,进入“配置云端服务器”页面。
3. 云端服务器的具体配置内容如下:
表-3 云端服务器配置内容
参数 |
说明 |
服务器地址 |
云端服务器的地址,支持输入IP地址或者域名。目前,仅支持配置我司云端服务器 |
缓存URL条数 |
设备会将云端服务器返回的查询结果缓存在URL过滤缓存中,本参数用于配置URL过滤缓存中可以缓存的URL条数 |
缓存最短保留时间 |
本参数用于配置URL缓存的最短保留时长。未达到最短保留时间的URL不会被删除。但是当配置的URL缓存条数小于当前已缓存的数目时,设备将从URL过滤缓存中删除最老的URL,即使该URL未达到最短保留时间,也将被删除 |
在一个URL过滤配置文件中可以开启云端查询功能,可以配置文件的缺省动作,可以配置黑/白名单,也可以为不同的URL分类指定不同的动作。
若报文成功匹配的URL过滤规则同属于多个URL分类,则根据严重级别最高的URL过滤中指定的动作对此报文进行处理。
白名单的优先级高于黑名单的优先级。
URL过滤配置文件的具体配置步骤如下:
1. 选择“对象 > 应用安全 > URL过滤 > 配置文件”。
2. 在“URL过滤配置文件”页面单击<新建>按钮,进入“新建URL过滤配置文件”页面。
3. 新建URL过滤配置文件,具体配置内容如下:
表-4 URL过滤配置文件配置内容
参数 |
说明 |
名称 |
URL过滤配置文件的名称 |
缺省动作 |
当报文没有与URL过滤配置文件中的规则匹配成功时,设备将根据配置文件中配置的缺省动作对此报文进行处理。缺省动作包括丢弃、允许、黑名单、重置和重定向 |
开启云端查询功能 |
开启此功能后,若流经设备HTTP报文中的URL与该URL过滤配置文件中的过滤规则匹配失败,则此URL将会被发向云端URL过滤分类服务器进行查询 |
记录日志 |
URL过滤日志是为了满足管理员审计需求。开启记录日志功能后,设备将对与URL过滤规则匹配成功的报文生成日志信息,配置记录日志动作前需要先配置缺省动作 |
开启HTTPS流量过滤功能 |
开启本功能后,设备可以对未解密的HTTPS流量进行URL过滤 如果同时开启了SSL解密功能,本功能将失效。有关SSL解密功能的详细介绍,请参见“应用代理联机帮助” |
开启内嵌白名单功能 |
开启本功能后,设备允许用户访问白名单网页下内嵌的其他网页链接 |
白名单模式 |
开启本功能后,设备仅允许用户访问URL过滤白名单中的网站,其他网站均不允许访问 |
白名单 |
若报文与白名单中的规则匹配成功,则直接允许此报文通过 |
黑名单 |
若报文与黑名单中的规则匹配成功,则直接丢弃此报文 |
URL过滤分类动作 |
若报文成功匹配的URL过滤规则同属于多个URL过滤分类,则根据严重级别最高的URL过滤分类中指定的动作对此报文进行处理;若报文成功匹配的URL过滤规则只属于一个URL过滤分类,则根据该规则所属的URL过滤分类的动作对此报文进行处理。动作包括丢弃、允许、黑名单、重置、重定向和记录日志。其中,配置记录日志动作前需要先配置其他动作 |
URL信誉 |
URL信誉功能用于阻断恶意URL。开启URL信誉功能后,设备将提取报文中的URL与URL信誉特征库进行匹配,匹配成功则执行URL所属攻击类型的动作,如果匹配失败,则放行该报文 |
动作配置 |
本功能用于配置URL所属攻击类型的动作,当报文中提取的URL与URL信誉特征库匹配成功时,则对报文执行URL所属攻击类型的动作 |
4. 单击<确定>按钮,新建URL配置文件成功,且会在“URL过滤配置文件”页面中显示。
5. 在安全策略的内容安全配置中引用此URL过滤配置文件,有关安全策略的详细配置介绍请参见“安全策略联机帮助”。
6. 新建配置文件后,需要激活才能生效。如需立即激活,请单击<提交>按钮。否则,设备默认40秒后自动激活。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!