URL过滤技术白皮书
Copyright © 2025 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
随着网络安全需求的不断增长以及互联网流量的爆炸式增长,网络攻击日趋复杂和隐蔽,传统的基于端口和协议的检测方法已经无法满足现代网络安全防护的需求。企业和组织面临着来自各种恶意软件、钓鱼攻击、网络欺诈以及信息泄露等多种安全威胁。
在这种背景下,DPI技术应运而生。它能够对网络流量进行深入分析,检查跨越所有七层的OSI模型的数据包内容,而不仅仅是头部信息。DPI可以识别和管理数据包的实际内容,包括应用程序特定的命令和行为,使得它能够检测和阻止恶意流量,同时允许合法流量通过。
更进一步,DPI技术的发展催生了深度安全URL过滤功能。随着网络环境的复杂化,仅通过IP地址或域名进行过滤已经不足以应对精心设计的网络威胁。黑客和网络犯罪分子可以轻易地制造看似合法的网站进行钓鱼或分发恶意软件。因此,需要一种更智能、更精细化的过滤机制来识别和阻断有害的网站和URL。
URL过滤功能通过实时分析网页内容、结构、行为和信誉等多个维度,来确定一个网站或URL是否存在安全风险。这种方法不仅可以基于静态的黑白名单过滤,还可以对URL进行分类,并可进行云端联动,从而更有效地对抗攻击和未知威胁。此外,URL过滤功能还支持自定义策略,以满足不同行业和组织的特定需求,保护用户免受网络钓鱼、恶意软件分发、不适内容和其他网络安全威胁的侵害,也可达到限制内网用户访问某些网站的作用。
URL过滤作为一种DPI深度安全防护技术,具备如下技术优点:
· 实时分析与处理:URL过滤功能可以对网络流量进行实时监控和分析。通过持续的数据包检查,它能够即时识别和拦截可疑或不合规的URL,保障网络的即时反应能力。
· 动态更新:URL过滤功能通常包含特征库自动更新机制,并能够从云端查询最新的URL分类,使得过滤列表始终保持最新状态,抵御新出现的威胁。
· 高度定制化:URL过滤功能支持高度定制化的策略设置,允许管理员根据组织的安全政策和需求设定特定的过滤规则,如允许或拒绝访问特定类型的网站。
· 易于集成和扩展:URL过滤功能通常设计为易于集成到一体化智能安全策略中,可以与防火墙、入侵检测系统、安全信息和事件管理系统等无缝配合。
· 提高用户体验:通过阻止访问恶意或不当的网站,URL过滤增强了最终用户的网络浏览安全,减少了受到网络钓鱼和其他网络诈骗的风险,从而提升了用户体验。
· 支持法规遵从:对于需要遵守特定互联网使用规定的组织,URL过滤功能可以帮助确保遵守相关法律法规,如限制访问违法违规内容。
· 降低安全管理成本:自动化的URL过滤减少了对人工干预的依赖,提高了安全运营的效率,从而降低了整体的网络安全管理成本。
· 支持白名单模式:可快速放行白名单网站,阻断白名单之外的网站。
· 加密流量检测:支持对HTTPS加密流量进行检测和过滤。
URL(Uniform Resource Locator,统一资源定位符)是互联网上标准资源的地址。URL用来完整、精确的描述互联网上的网页或者其他共享资源的地址,URL格式为:“protocol://host[:port]/path/[;parameters][?query]#fragment”,格式示意如图2-1所示:
图2-1 URL格式示意图
URL各字段含义如表2-1所示:
表2-1 URL各字段含义表
字段 |
描述 |
protocol |
表示使用的传输协议,例如HTTP |
host |
表示存放资源的服务器的主机名或IP地址 |
[:port] |
(可选)传输协议的端口号,各种传输协议都有默认的端口号 |
/path/ |
表示路径,由零或多个“/”符号分隔的字符串,用于表示主机上的目录或文件路径 |
[parameters] |
(可选)用于指定特殊参数 |
[?query] |
(可选)表示查询用于给动态网页传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开 |
URI |
URI(Uniform Resource Identifier,统一资源标识符)是一个用于标识某一互联网资源名称的字符 |
URL过滤功能是网络安全管理中的重要措施之一,通过URL过滤,网络管理员可以根据公司或组织的策略设定,限制用户访问特定网站或网页的权限。这种功能可以帮助防止员工访问不安全或不适当的网站,减少网络安全风险,提高网络安全性。
除了阻止员工访问有害网站以外,URL过滤还可以帮助提高网络带宽的利用率。通过限制员工访问某些娱乐类或社交类网站,网络管理员可以减少网络流量消耗,提高网络速度和效率。此外,对于一些特定行业或领域,URL过滤功能还可以帮助企业符合相关监管要求,保护公司的知识产权和商业机密。
URL过滤功能对于网络安全管理和流量控制都具有重要意义,它不仅能够帮助企业提高网络安全性,还可以提高网络资源的有效利用率,是企业网络管理中不可或缺的一环。
URL过滤功能实现的前提条件是对URL的识别。可通过使用URL过滤规则匹配URL中主机名字段和URI字段的方法来识别URL。
URL过滤规则是指对用户HTTP报文中的URL进行匹配的原则,且其分为两种规则:
· 预定义规则:根据设备中的URL过滤特征库自动生成,包括百万级的主机名或URI。预定义规则能满足多数情况下的URL过滤需求。
· 自定义规则:由管理员手动配置生成,可以通过使用正则表达式或者文本的方式配置规则中主机名或URI的内容。
URL过滤规则支持两种匹配方式:
· 文本匹配:使用指定的字符串对主机名和URI字段进行匹配。
¡ 匹配主机名字段时,首先判断主机名开头或结尾位置是否含有通配符“*”,若均未出现,则URL中的主机名字段与规则中指定的主机名字符串必须完全一致,才能匹配成功;若“*”出现在开头位置,则该字符串或以该字符串结尾的URL会匹配成功;若“*”出现在结尾位置,则该字符串或以该字符串开头的URL会匹配成功。若“*”同时出现在开头或结尾位置,则该字符串或含有该字符串的URL均会匹配成功。
¡ 匹配URI字段时,和主机名字段匹配规则一致。
· 正则表达式匹配:使用正则表达式对主机名和URI字段进行匹配。例如,规则中配置主机名的正则表达式为sina.*cn,则主机名为news.sina.com.cn的URL会匹配成功。
为便于管理员对数目众多的URL过滤规则进行统一部署,URL过滤模块提供了URL过滤分类功能,以便对具有相似特征的URL过滤规则进行归纳以及为匹配这些规则的URL统一指定处理动作。每个URL过滤分类具有一个严重级别属性,该属性值表示对属于此过滤分类URL的处理优先级。
URL过滤分类包括两种类型:
· 预定义分类:根据设备中的URL过滤特征库自动生成,其名称、内容和严重级别不可被修改。名称以Pre-开头。设备为预定义URL过滤分类保留的严重级别为最低,取值范围为1~999。URL过滤支持两级分类,包含父分类和子分类。仅支持预定义父分类,且父分类下仅包含预定义子分类。
· 自定义分类:由管理员手动配置,可修改其严重级别,可添加URL过滤规则。自定义分类严重级别的取值范围为1000~65535。
可通过URL过滤黑/白名单规则快速筛选出不需要进行URL过滤的报文。如果报文中的URL与URL过滤策略中的黑名单规则匹配成功,则丢弃此报文;如果与白名单规则匹配成功,则允许此报文通过。
一个URL过滤策略中可以配置如下内容:
· URL过滤分类及其处理动作。其中,处理动作包括:丢弃、允许、阻断、重置、重定向和生成日志。
· URL过滤黑/白名单规则。
· URL过滤分类云端查询功能。
以及对于未匹配到URL过滤策略(包括URL过滤分类和URL过滤黑/白名单)时,设备对报文执行的缺省动作。
URL过滤特征库是用来对经过设备的用户访问Web请求中的URL进行识别的资源库。随着互联网业务的不断变化和发展,需要及时升级设备中的URL过滤特征库,同时设备也支持URL过滤特征库回滚功能。
URL过滤特征库的升级包括如下几种方式:
设备根据管理员设置的时间定期自动更新本地的URL过滤特征库。如果设备可以访问官方网站上的特征库服务专区,可以采用定期自动在线升级方式来对设备上的URL过滤特征库进行升级。
管理员手工触发设备立即更新本地的URL过滤特征库。当管理员发现官方网站上的特征库服务专区中的URL过滤特征库有更新时,可以选择立即自动在线升级方式来及时升级URL过滤特征库版本。
如果设备不能访问官方网站上的特征库服务专区,管理员可以采用如下几种方式手动离线升级URL过滤特征库版本。
· 本地升级:使用本地保存的特征库文件升级系统上的URL过滤特征库版本。
· FTP/TFTP升级:通过FTP或TFTP方式下载远程服务器上保存的特征库文件,并升级系统上的URL过滤特征库版本。
如果管理员希望手动离线升级特征库时发送给TFTP、FTP服务器的请求报文的源IP地址是一个特定的地址时,可配置source参数。例如,当组网环境中设备发出的报文需要经过NAT地址转换后才能访问TFTP、FTP服务器时,则需要管理员通过source参数指定一个符合NAT地址转换规则的源IP地址(其中,如果设备需要经过一台独立的NAT设备进行地址转换时,本命令指定的IP地址必须可以与NAT设备三层路由可达),使设备发出的报文可以进行NAT地址转换等处理,正常访问TFTP、FTP服务器。
如果管理员发现设备当前URL过滤特征库对用户访问Web的URL过滤的误报率较高或出现异常情况,则可以将其回滚到出厂版本。
在URL过滤策略中开启URL过滤分类云端查询功能后,可提高设备识别HTTP报文的准确率,实现对报文的准确控制。
从云端服务器学习到的URL过滤规则会被缓存在设备的URL过滤缓存中进行报文匹配。URL过滤缓存的记录上限和规则的最短保留时间可以根据实际组网环境进行调整。
开启URL过滤日志功能后会产生大量的日志信息,不利于查看和分析。管理员可从以下方式中任选其一,对需要进行日志记录的资源进行筛选:
· 仅对网站根目录下资源的访问进行日志记录
· 对指定类型的网页资源的访问不进行日志记录
缺省情况下,设备在软件快速转发流程中通过URL过滤功能对报文进行URL审计,这种处理方式不仅可以对报文进行URL审计,还可以对报文进行阻断或重定向等操作。但是,软件快速转发和URL过滤功能均需要CPU进行处理,当CPU负担较重时,直接影响报文的转发速度。
开启URL加速审计功能后,报文直接通过硬件快速转发流程进行转发处理,同时把HTTP类型的报文镜像到CPU进行URL过滤处理。这种处理方式下,当CPU负担较重时,可以保障报文的快速转发,只能对报文进行URL审计,即对匹配了动作是logging的URL过滤规则的报文进行记录日志。
缺省情况下,设备仅对HTTP流量进行URL过滤,如果需要对HTTPS流量进行URL过滤,则可以选择如下方式:
· 使用SSL解密功能:先对HTTPS流量进行解密,然后再进行URL过滤。
· 开启HTTPS流量过滤功能:不对HTTPS流量进行解密,直接对客户端发送的HTTPS的Client HELLO报文中的SNI(Server Name Indication extension)字段进行检测,从中获取用户访问的服务器域名,使用获取到的域名与URL过滤策略进行匹配。
由于SSL解密功能涉及大量的加解密操作,会对设备的转发性能会产生较大的影响,建议在仅需要对HTTPS流量进行URL过滤业务处理的场景下开启HTTPS流量过滤功能。
缺省情况下,设备仅对HTTP流量进行URL过滤,如果需要对HTTPS流量进行URL过滤,则可以开启HTTPS流量过滤功能。开启本功能后,设备将对客户端发送的HTTPS的Client HELLO报文中的SNI(Server Name Indication extension)字段进行检测,从中获取用户访问的服务器域名,使用获取到的域名与URL过滤策略进行匹配。
缺省情况下,设备仅对HTTP流量进行URL过滤,如果需要对HTTPS流量进行URL过滤,则可以开启HTTPS流量过滤功能。开启该功能后,设备将对客户端发送的HTTPS的Client HELLO报文中的SNI(Server Name Indication extension)字段进行检测,从中获取用户访问的服务器域名,使用获取到的域名与URL过滤策略进行匹配。
URL过滤功能通过将报文中识别出的URL与过滤规则进行匹配,来判断对报文执行的动作。首先,URL过滤模块向应用层检测引擎下发过滤规则。其次,引擎在识别出报文中的URL后,将URL与过滤规则进行匹配,并向URL过滤模块返回匹配结果。最后,URL过滤模块根据匹配结果判断对报文执行的动作。
图3-1 URL过滤技术原理
URL过滤模块会根据URL特征库和管理员的配置信息生成相应的URL过滤规则,并下发给应用层检测引擎。
URL过滤规则包含如下几种:
· 预定义规则
根据设备加载的URL特征库生成。特征库中涵盖了大部分的主流Web网站(即URL)及其分类信息。可以满足用户绝大多数场景下的需求。
· 自定义规则
根据管理员配置的自定义URL分类生成。自定义分类是由管理员根据特殊需求手工创建的分类,便于对具有相同访问限制的URL进行统一的访问控制。
· 白名单规则
根据管理员配置的白名单生成。白名单是管理员需要特殊放行访问的URL的集合。
· 黑名单规则
根据管理员配置的黑名单生成。黑名单是管理员需要特殊阻断访问的URL的集合。
图3-2 生成并下发URL过滤规则
应用层检测引擎会对报文进行解析、解码和切分等处理,提取出报文中的URL(由Host和请求URI字段组成),用于后续与过滤规则进行匹配。
图3-3 识别报文中的URL
当引擎识别出报文中的URL后,会将URL与过滤规则进行匹配,并将匹配结果返回至URL过滤模块,由URL过滤模块根据匹配结果对报文进行处理。
图3-4 匹配URL过滤规则并返回匹配结果
URL过滤功能支持两种工作模式:白名单模式和URL分类模式。不同工作模式下,URL过滤模块对报文的处理方式不同。
此模式下,仅允许用户访问白名单中定义的网站,其他网站均不允许访问。适用于对用户可访问网站限制较为严格的场景。
此模式下,URL过滤模块根据分类控制用户可访问的网站。管理员可根据实际需求,为不同分类配置不同的处理动作(包括源阻断、丢弃、放行、重定向、重置和记录日志)以及不同的严重级别。其中,严重级别用于决定当URL同时属于多个分类时,对报文执行严重级别最高的分类的动作。且仅支持配置自定义分类的严重级别,预定义分类的严重级别由URL特征库定义。
当管理员需要对某些URL执行不同于分类的动作时,可将其加入黑/白名单,黑/白名单优先级高于URL分类。此模式适用于需要灵活控制用户可访问网站的场景。
若根据引擎检测结果,报文匹配到URL过滤规则,URL过滤模块根据规则ID查找相应的分类信息或黑/白名单,然后对报文做出相应的处理。其中,对于自定义规则和预定义规则,如果同时匹配多条规则,则执行规则所属分类中严重级别最高的分类的动作。
图3-5 匹配到过滤规则
若未匹配到URL过滤规则,URL过滤模块会将URL上送到云端服务器进行查询。云端服务器中涵盖了海量的URL及其分类信息。URL过滤模块将根据云端服务器返回的查询结果对报文进行处理。如果查询成功,则根据返回的分类信息对报文执行相应的动作;如果查询失败,则执行管理员配置的缺省动作。
图3-6 未匹配到过滤规则
当用户通过设备使用HTTP访问某个网络资源时,设备将对此HTTP报文进行URL过滤。URL过滤处理流程如图3-7所示:
图3-7 URL过滤实现流程图
URL过滤功能是通过在DPI应用profile中引用URL过滤策略,并在安全策略中引用DPI应用profile实现的,URL过滤实现流程如下:
(1) 设备对报文进行规则(即安全策略规则)匹配:
如果规则引用了URL过滤业务,设备将对匹配了规则的报文进行URL过滤业务处理。设备将提取报文的URL字段,并与URL过滤规则进行匹配。
(2) 设备提取报文中的URL,并将其与URL过滤策略中的过滤规则进行匹配,如果匹配成功,则进行下一步处理;如果匹配失败,则进入步骤(5)的处理。
(3) 首先判断匹配的规则中是否存在URL过滤黑/白名单规则,如果存在白名单规则,设备将直接允许此报文通过;如果不存在白名单规则,则继续判断是否存在黑名单规则,如果存在,则设备将直接阻断此报文。其中,如果开启仅支持白名单功能,则仅判断匹配的规则中是否存在白名单规则。如果存在,则允许此报文通过;如果不存在,则将此报文阻断。不再进行后续流程的判断。
(4) 如果匹配的规则中不存在URL过滤黑/白名单规则,则进行如下判断:
a. 如果匹配的规则中存在自定义URL过滤分类规则,则根据各规则所属分类中严重级别最高的分类的动作对报文进行处理。如果匹配的规则中不存在自定义URL过滤分类规则,则继续进行下一步处理。
b. 如果匹配的规则中存在预定义URL过滤分类规则,则根据各规则所属分类中严重级别最高的分类的动作对报文进行处理。
(5) 如果URL过滤分类云端查询功能已开启,则判断URL是否匹配URL过滤缓存规则(该规则为云端服务器的历史查询结果,包含URL及其所属分类的名称)。如果匹配成功,则进入步骤(4)中预定义URL过滤分类规则的匹配。如果匹配失败,则进入步骤(6)处理,并同时将报文中的URL发往云端服务器进行查询。云端查询后,查询结果将被缓存到URL过滤缓存中。如果URL过滤分类云端查询功能未开启,则进入步骤(6)的处理。
(6) 如果设备上配置了URL过滤的缺省动作,则根据配置的缺省动作对此报文进行处理;否则直接允许报文通过。
如下图所示,Device作为安全网关部署在企业内网边界。通过配置URL过滤功能,实现如下需求:
· 为提高员工工作效率,禁止内网用户访问优酷、B站等视频类、游戏类、直播类网站。
· 禁止财务部及市场部访问游戏类网站。
图4-1 通过URL过滤控制企业网站访问组网图
如下图所示,Device作为安全网关部署在校园内网边界。通过配置URL过滤功能,实现如下需求:
· 禁止学生访问游戏、购物、娱乐视频、直播和游戏类网站。
· 禁止教师访问游戏类网站。
图4-2 通过URL过滤控制校园网站访问配置组网图