首页 > 其他分享 >【干货】网络安全之URL过滤

【干货】网络安全之URL过滤

时间:2023-12-18 19:02:08浏览次数:33  
标签:网络安全 分类 访问 URL 禁止 过滤 网站 干货

原创:厦门微思网络

URL过滤是一种针对用户的URL请求进行上网控制的技术,通过允许或禁止用户访问某些网页资源,达到规范上网行为和降低安全风险的目的。
URL过滤可以基于URL分类、特定URL等多种方式限制URL访问。URL过滤的主要作用如下:
1、限制访问业务无关网站,提升企业工作效率、减少带宽滥用。
2、限制访问非法或包含不健康内容的网站,使上网行为合法合规。
3、限制访问包含恶意软件以及钓鱼类不安全网站,避免网络遭受攻ji。

为什么URL过滤非常重要?

通过浏览网页快速获取信息已经深入你我的工作和生活。但是互联网本身是不安全的,网络资源在带给我们便利的同时,也带给我们前所未有的威胁。威胁包括网络安全层面的,也包括随意使用网络对业务造成的影响:

  • 企业员工在工作时间随意访问社交、视频等与工作无关的网站,严重影响工作效率并且占用网络带宽;甚至存在访问非法网站违反法律的风险。
  • 学校、图书馆等公共机构随意访问不健康网站,触犯法规。
  • 员工无意间访问恶意网站、钓鱼网站,泄露企业或个人机密信息,甚至会带来病du、木ma等威胁攻ji。

因此必须对上网行为进行管控,URL过滤就是解决以上问题的方法之一,可通过限制用户访问的URL达到限制网页访问的目的。管理员可以按网站分类禁止访问钓鱼、社交、视频类网站;还可以指定禁止或允许访问的具体URL。

URL过滤如何工作?

URL过滤的基本工作过程就是将URL请求中的URL信息与URL数据库或列表进行比对,如果匹配某条URL则执行对应的响应动作(允许/禁止)。 如果用户通过手动输入或单击搜索引擎链接来访问的URL被禁止,浏览器将被重定向到类似下图的阻止页面。

【干货】网络安全之URL过滤_网络安全之URL过滤

禁止访问未授权网站

URL数据库或列表可以在设备本地,也可以在云端。一般情况下本地缓存频繁访问的URL,云端覆盖更多URL,当在本地未匹配到URL时再到云端查找,这样可以获得最小的延迟。另外URL数据库或列表的组织方式有多种,包括URL分类、单条URL黑名单、单条URL白名单,具体URL过滤处理流程如下图。

【干货】网络安全之URL过滤_网络安全之URL过滤_02

URL过滤工作过程

URL黑白名单

URL黑白名单用于允许或禁止某些特定的URL,处理简单直接,白名单允许访问、黑名单禁止访问。此种方式通常用于对一些已知网站的控制,例如将企业正常使用的IT网站加入白名单、将禁止员工上班时间浏览的论坛加入黑名单。

URL分类

URL分类是URL过滤的核心管控方式。管理员按URL分类指定响应动作,例如禁止访问购物类网站、社交类网站。当用户访问的URL隶属于对应URL分类时,则按该分类的响应动作进行处理。

URL分类分为预定义URL分类、自定义URL分类两种:

预定义URL分类

预定义URL分类是URL过滤功能提供商整理好的URL分类信息,并且定期更新。海量的URL预先划分好归类,例钓鱼类、购物类等等。

预定义URL分类中包含的URL条目数量巨大,逐条查找会影响效率,一般采取“两步走”的方式。第一步,将常用URL及对应的URL分类信息存储到设备本地,先在这些URL中进行查询;如果没有查询到,再进行第二步,远程查询云端的URL分类服务器中的分类信息,URL分类服务器中的信息更全面。

另外本地存储的URL信息是不断学习更新的,不经常访问的URL被老化,并且从URL分类服务器中获取的查询结果也将添加到本地。这种机制减少远程查询,加快URL过滤处理速度。

自定义URL分类

URL新增频繁,预定义分类的更新速度可能无法满足企业的需求;另外企业可能有自己的URL分类策略,希望基于定制的URL分类进行管控。此时管理员就可以创建自定义URL分类,然后在分类中加入URL。

定制URL过滤策略

基于前文所述的工作机制,管理员根据实际需求定制本企业URL过滤策略,常见思路如下:

  • 确定允许的网站:通过白名单或自定义URL分类的方式,维护企业固定允许访问的一些网站,例如企业门户网站、软件升级网站等。确保URL过滤不会意外禁止业务正常所需的网站。
  • 明令禁止的网站:通过黑名单或自定义URL分类的方式,维护企业明确禁止访问的一些网站。确保这些网站不会因为在URL分类中不存在或划分错误等原因,未被禁止。
  • 分类控制:通过预定义URL分类,控制允许、禁止访问的网站分类。尤其恶意软件、钓鱼网站必须禁止,降低安全风险。其他就是根据企业需求控制员工的上网行为,禁止一些不健康网站、影响工作效率的网站等。
  • 细化控制:基于时间段、用户身份等细粒度控制网站访问,例如控制上班时间不允许访问的网站、只允许某个部门员工访问的网站。

URL过滤 vs DNS过滤

URL过滤和DNS过滤都属于Web过滤,但是控制粒度和实现方式不同。URL过滤是通过提取用户URL请求中URL信息进行过滤,可以控制到网页级别;而DNS过滤是通过提取用户DNS请求中域名信息进行过滤,只能控制到整个域名级别。两者各有应用场景。

例如企业需要禁止员工访问域名为example.news.com的整个网站,就可以选择DNS过滤。但是如果只是想禁止此域名的娱乐版块example.news.com/entertainment,那么就需要使用URL过滤。

再例如,企业识别到一个经常引诱员工访问的恶意网址example.malicious.com/index,此时建议使用DNS过滤禁止example.malicious.com域名,因为所有网页可能都是不安全的。

可能有人会问,URL过滤也可以按域名禁止,但是DNS过滤在早于URL请求阶段的DNS查询阶段进行控制,对设备的性能影响小。另外DNS过滤与业务协议无关,而URL过滤局限在HTTP/HTTPS协议。

URL过滤 vs 应用控制

应用控制功能通过应用识别技术识别流量中的各类应用,从而对流量进行精细化的管控。这里的应用也包含一些Web类应用,例如Facebook应用就承载在www.facebook.com网站。那么应用控制和URL过滤两者的区别是什么呢?

对于Web应用,应用控制是从访问网页的流量中识别应用然后进行控制,URL过滤是从网页所属的URL来控制。也就是应用控制针对的是应用程序,可能多个网页对应同一个应用程序;URL过滤针对的是页面级访问行为。

应用控制更适合细粒度控制应用程序。针对Facebook这类网站,大家往往更熟悉Facebook浏览、Facebook视频、Facebook游戏等应用的名称,如果收集应用对应的URL可能比较困难,往往可能一个应用对应多个URL。此时使用应用控制更方便些,只需要基于Facebook视频、Facebook游戏等应用名字进行配置。

URL过滤更擅长控制用户访问某类网站,或者同一域名下的一批网址。例如,控制用户只能访问Facebook社交网站,不能访问其他社交网站,通过URL过滤更方便。如果使用应用控制,需要配置网站对应的全部应用。

因此应用控制和URL过滤两者各有应用场景,相辅相成。

URL过滤不足以防御所有Web攻ji

URL过滤主要通过阻止对已知恶意软件和钓鱼网站的访问,来减少Web攻ji事件。但是URL过滤不足以防御所有Web攻ji,企业或组织需要考虑完整的Web安全解决方案防御已知和未知威胁。多种安全功能协同工作才能有效防御Web攻ji,常用的部署方案如下:

  • 部署集成多种安全功能的下一代防火墙,启用内容过滤功能检测网页内容;启用文件过滤功能控制文件上传下载;启用IPS功能检测木ma、恶意软件等攻ji;启用反病du功能检测文件病du。
  • 与云端协同,实时掌握最新威胁信息,防御未知威胁。华为防火墙可以与云沙箱联动检测高级APT(Advanced Persistent Threat)攻ji,检测结果反向刷新防火墙本地的恶意URL或恶意文件列表,提升后续检测效率。
  • 配合SSL加密流量检测功能,对加密HTTPS流量进行检测。
  • 内网终端安装防病du等安全软件。


标签:网络安全,分类,访问,URL,禁止,过滤,网站,干货
From: https://blog.51cto.com/xmws/8876611

相关文章

  • 2023年国家基地“楚慧杯”网络安全实践能力竞赛初赛-Crypto+Misc WP
    Miscez_zip题目4096个压缩包套娃我的解答:写个脚本直接解压即可:importzipfilename='附件路径\\题目附件.zip'foriinrange(4097):f=zipfile.ZipFile(name,'r')f.extractall(pwd=name[:-4].encode())name=f.filelist[0].filenameprint(nam......
  • #yyds干货盘点#在 React Router 中使用 JWT
    创建一个React项目使用下方的指令会为我们创建一个项目$npmcreatevite@latestreact-jwt-cn然后我们选择 react 和 javascript 作为我们的框架和语言。在项目开始之前,我们要确保所有的依赖都已经被安装,所以我们要先执行$npminstall安装完毕后,在项目的根目录下,我们可以运......
  • Nginx中URL重写功能以及内置变量
    1、Nginx内置变量常见的内置变量有如下几种:$args,此变量与请求行中的参数相等$query_string,此变量与$args含义一致。$document_root,此变量等同于当前请求的root指令指定的值$uri,表示不带请求参数的当前URL,$uri不包含主机名。如http://www.magedu.net/main/index.do?id......
  • 关于DVWA靶场File Inclusion中出现The PHP function allow_url_include is not enable
    做实验时发现fileinclusion报错:ThePHPfunctionallow_url_includeisnotenabled,翻译一下是PHP函数allow_url_include还未启用,这时我想到之前好像配置DVWA靶场环境时也用到了这个第一反应我跑去查看PHP配置文件php.ini纳尼?!allow_url_include=on啊,明明已经开了啊剑锋一转难不成......
  • curl
    curl命令参数用法-XGET/POST请求类型-F'userName=test'请求参数-d'{"userName":"test"}'POST请求体-H'con:con'请求头......
  • #yyds干货盘点# LeetCode程序员面试金典:组合总和 Ⅳ
    题目给你一个由不同整数组成的数组nums,和一个目标整数target。请你从nums中找出并返回总和为target的元素组合的个数。题目数据保证答案符合32位整数范围。 示例1:输入:nums=[1,2,3],target=4输出:7解释:所有可能的组合为:(1,1,1,1)(1,1,2)(1,2,1)......
  • #yyds干货盘点#Java面试题
    1、什么是Nginx?Nginx是一个web服务器和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。2、请列举Nginx的一些特性。Nginx服务器的特性包括:反向代理/L7负载均衡器嵌入式Perl解释器动态二进制升级可用于重新编写URL,具有非常好的PCRE支持3、请解释N......
  • #yyds干货盘点# LeetCode程序员面试金典:最长特殊序列 II
    题目给定字符串列表strs,返回其中最长的特殊序列的长度。如果最长特殊序列不存在,返回-1。特殊序列定义如下:该序列为某字符串独有的子序列(即不能是其他字符串的子序列)。s的子序列可以通过删去字符串s中的某些字符实现。例如,"abc"是"aebdc"的子序列,因为您可以删除......
  • #yyds干货盘点#MongoDB 封装 CRUD 方法
    CRUD是指创建(Create)、读取(Read)、更新(Update)和删除(Delete)四种基本的数据处理操作。在软件开发中,CRUD方法通常用于对数据库或其他存储系统中的数据进行操作。具体来说,CRUD方法包括以下四种操作:创建(Create) :向数据库或其他存储系统中插入新数据。读取(Read) :从数据库或其他......
  • 隐私政策网址URL
    本软件尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本软件会按照本隐私权政策的规定使用和披露您的个人信息。但本软件将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本软件不会将这些信息对外披......