CN112260991B - 一种鉴权管理方法和装置 - Google Patents

一种鉴权管理方法和装置 Download PDF

Info

Publication number
CN112260991B
CN112260991B CN202010975706.5A CN202010975706A CN112260991B CN 112260991 B CN112260991 B CN 112260991B CN 202010975706 A CN202010975706 A CN 202010975706A CN 112260991 B CN112260991 B CN 112260991B
Authority
CN
China
Prior art keywords
target
domain name
access request
authorization
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010975706.5A
Other languages
English (en)
Other versions
CN112260991A (zh
Inventor
陈加伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Wangsu Co Ltd
Original Assignee
Xiamen Wangsu Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Wangsu Co Ltd filed Critical Xiamen Wangsu Co Ltd
Priority to CN202010975706.5A priority Critical patent/CN112260991B/zh
Publication of CN112260991A publication Critical patent/CN112260991A/zh
Application granted granted Critical
Publication of CN112260991B publication Critical patent/CN112260991B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种鉴权管理方法,所述方法包括:接收浏览器发送的目标访问请求;判断所述授权映射表中是否存在与所述目标cookie信息相对应的目标授权内容,若存在,则判断所述目标访问请求携带的虚拟域名是否存在于所述目标授权内容中,若存在,则访问所述目标访问请求指向的目标源站;若不存在于,则判断所述目标访问请求中是否存在referer字段,若存在,则基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权。本申请提供的技术方案,可以避免子页面加载失败。

Description

一种鉴权管理方法和装置
技术领域
本发明涉及互联网技术领域,特别涉及一种鉴权管理方法和装置。
背景技术
随着网络安全形势日益严峻,为了阻断来自外部网络的攻击,越来越多的企业和机构将业务限制在内部网络中,禁止来自外部网络的访问,然而很多时候机构内部人员又需要从外部网络访问内部应用,VPN(虚拟专用网络)技术便应运而生。
WebVPN提供基于web的内网应用访问控制,允许用户访问只对内部网络开放的web应用。区别于传统VPN技术,WebVPN无需用户安装客户端软件或者浏览器插件,用户可以直接通过浏览器访问登录页面进行身份验证,这大大降低了VPN技术的使用门槛,提升了用户体验。但是针对那些含有大量子链接的内部应用,现有的WebVPN系统并不能对其进行有效的鉴权管理,经常会出现主页面下的子链接被错误识别,而导致子页面加载失败。
鉴于此,有必要提供一种新的鉴权管理方法和装置以解决上述不足。
发明内容
本申请的目的在于提供一种鉴权管理方法和装置,可以避免子页面加载失败。
为实现上述目的,本申请一方面提供一种鉴权管理方法,所述方法应用于代理服务器,所述代理服务器中储存有授权映射表,所述方法包括:接收浏览器发送的目标访问请求,其中,所述目标访问请求携带有目标cookie信息;判断所述授权映射表中是否存在与所述目标cookie信息相对应的目标授权内容,若所述授权映射表中存在所述目标授权内容,则判断所述目标访问请求携带的虚拟域名是否存在于所述目标授权内容中,若所述虚拟域名存在于所述目标授权内容中,则访问所述目标访问请求指向的目标源站;若所述虚拟域名不存在于所述目标授权内容中,则判断所述目标访问请求中是否存在referer字段,若存在所述referer字段,则基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权。
为实现上述目的,本申请另一方面还提供一种鉴权管理装置,所述装置应用于代理服务器,并储存有授权映射表,所述装置包括:信息接收模块,用于接收浏览器发送的目标访问请求,其中,所述目标访问请求携带有目标cookie信息;鉴权判断模块,用于判断所述授权映射表中是否存在与所述目标cookie信息相对应的目标授权内容,若所述授权映射表中存在所述目标授权内容,则判断所述目标访问请求携带的虚拟域名是否存在于所述目标授权内容中,若所述虚拟域名存在于所述目标授权内容中,则访问所述目标访问请求指向的目标源站;Referer识别模块,用于若所述虚拟域名不存在于所述目标授权内容中,则判断所述目标访问请求中是否存在referer字段,若存在所述referer字段,则基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权。
为实现上述目的,本申请另一方面还提供一种鉴权管理装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,实现上述鉴权管理方法。
由此可见,本申请提供的技术方案,通过将cookie信息与授权内容进行绑定,从而建立目标授权内容与目标cookie信息之间的唯一映射关系,这样便可以通过目标访问请求中携带的目标cookie信息对该目标访问请求进行鉴权管理。当代理服务器接收到目标访问请求后,代理服务器可以首先查询授权映射表,以判断授权映射表中是否存在与目标cookie信息相对应的目标授权内容,如果存在目标授权内容,则可以进一步根据上述目标授权内容中包含的信息判断该目标访问请求是否合法,而针对基于子链接产生的访问请求,则可以根据其HTTP头部信息中的referer字段进行鉴权,这样便可以避免因子链接识别错误,而导致子页面加载失败,从而拓展了WebVPN系统的适用范围。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施方式中WebVPN系统的架构示意图;
图2是本申请实施方式一中鉴权管理方法的流程图;
图3是本申请实施方式中用户访问内网应用的时序图;
图4是本申请实施方式中鉴权管理装置的功能模块示意图;
图5是本申请实施方式中鉴权管理装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着网络安全形势日益严峻,为了阻断来自外部网络的攻击,越来越多的企业和机构将业务限制在内部网络中,禁止来自外部网络的访问,然而很多时候机构内部人员又需要从外部网络访问内部应用,VPN(虚拟专用网络)技术便应运而生。VPN技术可以利用公用网络架设专用网络,并通过对数据包的加密和数据包目标地址的转换实现用户的远程访问。
WebVPN属于VPN技术中的一种,它可以提供基于web的内网应用访问控制,允许用户访问只对内部网络开放的web应用。区别于传统VPN技术,WebVPN无需用户安装客户端软件或者浏览器插件,用户可以直接通过浏览器访问登录页面进行身份验证,这大大降低了VPN技术的使用门槛,提升了用户体验。
然而,针对那些含有大量子链接的内部应用,现有的WebVPN系统存在一些缺陷。例如,如果WebVPN系统提前对子链接进行授权分类,比如确定用户无权访问某一个子链接,那么浏览器在对网页进行渲染的过程中,这个子链接对应的元素将显示为空白,即网页无法正常显示,这将极大的影响用户的体验;如果WebVPN系统不提前对子链接进行授权分类,这样操作虽然可以保证网页的正常显示,但是当浏览器基于子链接发送访问请求时,WebVPN系统将无法确定该访问请求是否为合法,经常会出现主页面下的子链接被错误识别,而导致子页面加载失败。
因此,如何改进WebVPN系统中的认证鉴权环节,避免主页面下的子链接被错误识别,便成为本领域亟需解决的课题。
本申请提供的技术方案可以解决上述不足。
为便于理解本申请中涉及到的cookie和referer的内容,下面对其进行简要介绍。
cookie用于存储用户状态信息,以创建和web服务器无缝连接的效果,cookie通常用于处理用户的优先选择并跟踪会话变量,以方便服务器端使用。cookie的处理过程可以理解为:客户端通过浏览器向服务器发送连接请求,服务器在接收到上述请求后,将根据客户端提供的信息生成一个Set-cookie,服务器将生成的Set-cookie存放在HTTP应答报文中并回传给客户端,客户端在接收到上述HTTP应答报文后,会将Set-cookie的内容从HTTP应答报文中取出,并基于Set-cookie的内容生成一个cookie信息,并且客户端会在本地保存上述cookie信息,之后每次http请求浏览器都会将相应的cookie信息发送给服务器。
Set-cookie的格式如下:
Set-cookie:name=value;domain=DOMAIN_NAME;path=PATH;expires=DATE;secure
其中,name字段用于定义cookie信息的名称,value字段用于存储cookie信息中的字符串值,domain字段用于定义cookie信息对于哪个域名是有效的,path字段用于定义cookie信息影响到的路径,expires字段用于定义cookie信息的失效时间,secure字段用于标记安全标志。需要指出的是,当domain字段为空时,浏览器只允许发布该cookie的主机进行访问。
当浏览器接收到服务器发送的Set-cookie后,将解析上述Set-cookie以生成cookie信息,并将生成的cookie信息保存在本地。通常浏览器本地储存有大量不同的cookie信息,而浏览器在向服务器发送HTTP请求时,会基于HTTP请求中的URL信息来判断将哪个cookie信息放入HTTP报文中,具体的,浏览器将以HTTP请求中URL信息中包含的域名、路径为标准,对本地保存的cookie信息进行筛选,若某一个cookie信息中的domain字段和path字段符合上述标准,浏览器将把该cookie信息放入上述HTTP请求的报文头部。
浏览器在向服务器发送HTTP请求时,HTTP请求的头部信息中可能包含referer字段,referer字段通常包含一个URL信息,用于表示用户从该URL代表的页面出发访问当前请求的页面。
请参阅图1,为本申请实施方式中WebVPN系统的架构示意图。
在本实施方式中,鉴权服务器用于对用户的登录请求进行验证,源站部署在内网中,运行有提供业务服务的内网应用,代理服务器相当于VPN网关,代理服务器可通过VPN网络与内网服务器建立通信连接,其中,VPN网络可基于SD-WAN(Software-Defined WideArea Network)网络架构实现。同时代理服务器还可以收集内部网络中各个内网应用的真实域名,即公网域名,并按照预设规则将上述各个真实域名收敛至VPN的代理域名之下,然后建立真实域名和收敛后的域名(即虚拟域名)之间的映射关系,并将上述映射关系储存在本地映射表中。
在实际应用中,当用户需要登录内部网络时,用户可以通过浏览器打开VPN登录页面,然后输入账号及密码,浏览器将基于用户输入的信息生成登录请求,该登录请求将通过代理服务器转发至鉴权服务器,鉴权服务器根据预先储存的用户信息对接收到登录请求进行验证,并基于验证结果将用户关键信息(例如验证信息、用户ID、授权内容等)反馈给代理服务器,代理服务器在接收到上述用户关键信息后,可以将用户关键信息储存在本地。
用户后继发送的访问请求在到达代理服务器后,代理服务器将基于保存的用户关键信息对其进行认证鉴权管理,通过认证鉴权的访问请求,代理服务器可以将其发送至对应的内网源站以获取资源,未通过认证鉴权的访问请求,代理服务器将拒绝其访问内部网络。内网源站反馈的信息将通过代理服务器发送至用户,从而使得用户最终实现对内网应用的访问。
在本实施方式中,代理服务器负责认证鉴权环节和应用访问环节,鉴权服务器反馈的用户关键信息无需保存在用户端,从而避免了用户关键信息的泄露。
请一并参阅图2和图3。图2为本申请实施方式一中鉴权管理方法的流程图,上述鉴权管理方法应用于代理服务器,并且代理服务器中储存有授权映射表。图3为本申请实施方式中用户访问内网应用的时序图。
S101:接收浏览器发送的目标访问请求,其中,所述目标访问请求携带有目标cookie信息。
在本实施方式中,当某一个用户(即目标用户)通过登录验证,获准通过VPN网络访问内网应用后,该目标用户便可以选择访问内部网络中的各种内网服务。具体而言,当上述目标用户需要访问某一个内网服务(即目标服务)时,该目标用户可以选择网页上相应的标签,以使得浏览器可以基于目标用户的选择生成相应的访问请求(即目标访问请求)。同时,浏览器将基于目标访问请求中携带的域名信息和路径信息,从本地保存的多个cookie信息中选择出对应的cookie信息(即目标cookie信息),然后将目标cookie信息放入HTTP请求的头部信息中,亦即目标访问请求中将携带目标cookie信息。
在本发明的实施例中,为了使得目标访问请求可以被代理服务器接收,需要预先将用户侧的内网应用的域名进行转换,具体处理方式如下:
代理服务器可以预先建立本地映射表,并在本地映射表中储存域名映射关系。
在一个实施方式中,代理服务器建立本地映射表可以通过如下方式实现:
首先,获取各个内网应用的真实域名,并基于代理域名下的不同路径值,建立各个所述真实域名与所述路径值之间的域名映射关系;
然后,将所述域名映射关系储存于所述本地映射表中。
在一个实施方式中,代理服务器可以预先收集内部网络中各个内网应用的真实域名,然后为各个真实域名设置对应的虚拟域名。具体的,代理服务器可以将上述各个真实域名统一收敛到代理服务器域名(即代理域名)之下,并通过在代理域名下设置不同的路径值(例如path1、path2、path3等),标记不同的真实域名,从而建立各个真实域名与虚拟域名之间的域名映射关系,其中虚拟域名为代理域名和路径值的组合。
例如,假设代理服务器收集到如下三个真实域名a.baidu.com、b.baidu.com、c.sina.com,而代理域名为wsvpn.cn,那么代理服务器可以将a.baidu.com映射至wsvpn.cn/path1,将b.baidu.com映射至wsvpn.cn/path2,将c.sina.com映射至wsvpn.cn/path3,从而建立a.baidu.com与path1的域名映射关系,b.baidu.com与path2的域名映射关系,c.sina.com与path3的域名映射关系。
当代理服务器建立真实域名与路径值之间的域名映射关系后,代理服务器可以将上述域名映射关系以数据库的形式保存在本地储存设备中。通过查询本地映射表,代理服务器可以根据真实域名查找到对应的路径值,或者根据路径值查找到对应的真实域名。
在实际应用中,目标用户在获准登录内部网络之前,目标用户需要首先向鉴权服务器发送登录请求。具体的,目标用户可以通过浏览器打开登录页面,然后输入账号及密码,浏览器将基于目标用户输入的信息生成登录请求,该登录请求将通过代理服务器转发至鉴权服务器,鉴权服务器根据预先储存的用户信息对接收到登录请求进行验证,并基于验证结果生成认证信息,上述认证信息中包含有用户关键信息(例如验证信息、用户ID、授权内容等),然后鉴权服务器将把上述认证信息发送至代理服务器,代理服务器在接收到上述认证信息后,可以将用户关键信息储存在本地,并生成响应信息发送给目标用户。
在一个实施方式中,鉴权服务器生成的认证信息中至少包括目标授权内容、目标用户标识和第一操作页面。目标授权内容用于限定上述目标用户可以访问哪些内网服务,目标授权内容可以通过可访问服务的真实域名和/或URL体现,即将目标用户可以访问的内网服务的真实域名和/或URL写入上述目标授权内容中;目标用户标识用于表示目标用户的唯一识别码,目标用户标识可以是鉴权服务器基于目标用户输入的账号及密码生成的唯一标识码;第一操作页面为目标用户的操作页面,例如内网应用的索引页,目标用户可以通过选择第一操作页面上的不同选项访问不同的内网应用,其通常为HTML页面。
需要特别指出的是,鉴权服务器生成的认证信息中还可以包括一个Set-cookie(为便于叙述,下文将其称为第一cookie设置信息)。
在一个实施方式中,当代理服务器接收到上述认证信息后,代理服务器可以基于目标用户标识和/或目标授权内容生成目标cookie信息,并将生成的目标cookie信息与目标授权内容进行绑定,从而建立目标cookie信息与目标授权内容之间的目标授权映射关系。通过上述目标授权映射关系,代理服务器可以根据目标cookie信息查找到对应的目标授权内容。进一步的,代理服务器可以将上述目标授权映射关系储存于授权映射表中,同时将上述目标授权内容和目标用户标识保存在本地储存设备中。
代理服务器基于目标用户标识和/或目标授权内容生成目标cookie信息可以通过如下方式实现:
首先,基于目标用户标识和/或目标授权内容生成目标value值;
然后,将所述目标value值封装为目标cookie设置信息的value值,以根据所述目标cookie设置信息生成所述目标cookie信息。
在一个实施方式中,代理服务器可以提取目标用户标识和/或目标授权内容中的信息,然后利用加密算法(例如MD5算法、SHA1算法等)对提取到信息进行加密,从而得到一个新的字符串值(即目标value值)。
需要特别指出的是,上述通过对提取到的目标用户标识和/或目标授权内容信息进行加密,从而得到目标value值只是示意性的,并不是对本申请的限制,基于本申请的思想,本领域的技术人员也可以利用其它信息生成目标value值,例如对目标用户标识和/或目标授权内容和/或随机数进行加密,或者对第一cookie设置信息中的value值/全部字段信息进行加密,从而生成目标value值。
当代理服务器生成目标value值后,代理服务器可以将其作为新的Set-cookie(即目标cookie设置信息)的value值,并将其写入目标cookie设置信息的value字段(即将其封装为目标cookie设置信息的value值),从而生成目标cookie设置信息。当代理服务器生成目标cookie设置信息之后,代理服务器将根据上述目标cookie设置信息中的内容生成一个cookie文本文件(即目标cookie信息)。
在一个实施方式中,代理服务器可将目标cookie设置信息中的name值设置为相同且可识别的,那么当代理服务器接收到浏览器的访问请求时,可先根据访问请求中携带的cookie信息中的name值来判断该访问请求中是否携带有目标cookie信息,若携带有目标cookie信息,则可以进一步对授权内容进行验证,若没有携带目标cookie信息,则可直接将其识别为非法访问,代理服务器可以向浏览器返回登录页面,以通知该用户重新进行登录。。
需要特别指出的是,针对不同的用户,鉴权服务器反馈的认证信息是不同的(即不同的用户具有不同的用户标识和授权内容),并且鉴权服务器反馈的第一cookie设置信息中的value值也是不同的,因此针对不同的用户,代理服务器基于用户标识和/或授权内容生成的cookie信息也是不同的,即每一个用户都存在唯一的cookie信息,亦即每一个用户都存在唯一的cookie信息与授权内容的映射关系,如此便可以利用cookie信息与授权内容之间的映射关系,对不同用户进行认证鉴权管理。需要指出的是,授权映射表中存储有各个用户的cookie信息与对应授权内容之间的映射关系,在一实施方式中,授权映射表中存储有cookie信息的value值与对应授权内容之间的映射关系,如此一来,代理服务器可基于目标cookie信息中的value值查询到授权映射表中的授权内容。
需要特别指出的是,若要通过代理服务器对浏览器发送的目标访问请求进行认证鉴权管理,则上述目标访问请求需要携带目标cookie信息,以便代理服务器通过目标cookie信息查找到相应的目标授权内容。由于浏览器在接收到不同的Set-cookie后会生成不同的cookie信息,而浏览器在发送访问请求时是根据域名信息和路径信息来选择合适的cookie信息的,因此为保证浏览器发送的访问请求可以携带目标cookie信息,需要对代理服务器生成的目标cookie设置信息,以及浏览器发送的访问请求进行设置。
一方面,针对目标cookie设置信息,代理服务器可以将目标cookie设置信息中的domain字段设置为空,并将目标cookie设置信息中的path字段设置为“/”,这样,当目标访问请求中URL携带的域名包含代理域名时,浏览器在生成针对内网应用的访问请求时便会自动携带目标cookie信息。
另一方面,由于鉴权服务器反馈的第一操作页面是基于内网应用的真实域名产生的,因此第一操作页面中包含的所有内网应用的域名都是真实域名,若要使浏览器发送的目标访问请求中URL携带的域名为代理域名,则代理服务器需要对第一操作页面进行重构,以得到一个新的操作页面(即第二操作页面),其中,第二操作页面中包含的所有内网应用的域名为代理域名。
代理服务器根据本地映射表将第一操作页面重构为第二操作页面,可以通过如下方式实现:
首先,获取第一操作页面中包含的各个内网应用的真实域名;
然后,根据本地映射表,查找与真实域名相对应的路径值,并将真实域名修改为虚拟域名,其中,虚拟域名为代理域名和路径值的组合。
在一个实施方式中,代理服务器可以解析第一操作页面,以获取第一操作页面中包含的各个内网应用的真实域名。在获取到第一操作页面中包含的各个真实域名后,代理服务器可以查询本地映射表,进而获取到与上述真实域名相对应的路径值,然后代理服务器可以使用代理域名和路径值的组合(即虚拟域名)替换上述真实域名,从而得到一个包含有代理域名的新的操作页面(即第二操作页面),基于此,浏览器基于第二操作页面生成的访问请求可被代理服务器接收。需要特别指出的是,针对第一操作页中存在的子链接,代理服务器在进行页面重构时同样会对上述子链接中的域名进行替换。
继续以上文的举例进行说明,a.baidu.com与path1对应,b.baidu.com与path2对应,c.sina.com与path3对应,代理域名wsvpn.cn,则代理服务器可以将www.a.baidu.com替换为www.wsvpn.cn/path1,将www.b.baidu.com替换为www.wsvpn.cn/path2,将www.c.sina.com替换为www.wsvpn.cn/path3,基于新得到虚拟域名,代理服务器可以对第一操作页面进行重构,从而得到包含有代理域名的第二操作页面。
在一个实施方式中,当代理服务器生成目标cookie设置信息和第二操作页面后,代理服务器可以将上述目标cookie设置信息和第二操作页面作为响应信息发送至浏览器,从而使得浏览器可以基于目标cookie设置信息生成目标cookie信息,以及基于第二操作页面发送访问请求,并可以在发送的访问请求中携带目标cookie信息。同时,由于第二操作页面中的所有内网应用的域名已被替换为虚拟域名,因此,基于第二操作页面产生的访问请求会被dns解析到代理服务器下,从而被代理服务器所接收。
需要特别指出的是,在鉴权过程中,代理服务器并不会将用户关键信息发送至浏览器,而是将其保存在本地储存设备中,这样不论在在浏览器侧,还是在外网通信过程中,非法拦截者都无法获取到用户关键信息,从而保证了用户关键信息不会被泄露。
需要特别指出的是,代理服务器将各个内网应用的真实域名统一收敛到代理域名之下,这样浏览器将只需要管理代理服务器的SSL证书,这极大的减少了浏览器管理SSL证书的开销。
在一个实施方式中,代理服务器还可以对第一cookie设置信息修改,例如将第一cookie设置信息中的domain字段设置为空,并将第一cookie设置信息中的path字段设置为“/”,然后将修改后的第一cookie设置信息发送至浏览器,这样,浏览器便可以基于修改后的第一cookie设置信息生成第一cookie信息。当浏览器发送访问请求时,便可以在上述访问请求中携带第一cookie信息,而当用户再次访问鉴权服务器时(例如请求刷新页面),可自动携带第一cookie信息。
S102:判断所述授权映射表中是否存在与所述目标cookie信息相对应的目标授权内容,若所述授权映射表中存在所述目标授权内容,则判断所述目标访问请求携带的虚拟域名是否存在于所述目标授权内容中,若所述虚拟域名存在于所述目标授权内容中,则访问所述目标访问请求指向的目标源站。
在本实施方式中,当代理服务器接收到上述目标访问请求后,代理服务器可以解析目标访问请求的HTTP请求头部信息,以获取目标cookie信息。值得注意的是,如上文所述,代理服务器可根据目标访问请求中携带的cookie信息的name值来确定携带的cookie信息是否为目标cookie信息,若不是,则可直接确定本次访问为无权访问,代理服务器可以向浏览器返回登录页面,以通知目标用户重新进行登录;若是,则表示发送目标访问请求的目标用户可能已通过授权认证,并具有访问内网资源的权限。
在获取到目标cookie信息后,代理服务器可以查询授权映射表,进而判断授权映射表中是否存在与目标cookie信息相对应的目标授权内容,如果授权映射表中存在与目标cookie信息相对应的目标授权内容,则说明目标用户已经通过鉴权服务器的认证,上述目标用户具有访问内网资源的权限。需要指出的是,由于此时代理服务器仅需判断目标用户是否具有访问内网资源的权限,并不判断目标用户是否可以访问上述目标访问请求指向的目标源站,因此代理服务器此时无需对查询到的目标授权内容进行解析。
如果授权映射表中不存在与目标cookie信息相对应的目标授权内容,则说明目标用户未通过鉴权服务器的认证,目标cookie信息可能是伪造的,上述目标用户不具有访问内网资源的权限,代理服务器将拒绝访问目标访问请求指向的目标源站,代理服务器可以向浏览器返回登录页面,以通知目标用户重新进行登录。
在一个实施方式中,当代理服务器判断目标用户具有访问内网资源的权限后,代理服务器可以进一步判断目标用户是否可以访问上述目标访问请求指向的目标源站。具体的,代理服务器可以解析目标访问请求,从而获取到目标访问请求中的URL信息,然后代理服务器可以对上述URL信息进行解析,从而得到域名信息(即虚拟域名),当代理服务器获取到虚拟域名后,代理服务器便可以判断上述虚拟域名是否存在于目标授权内容中。
在一个实施方式中,代理服务器判断虚拟域名是否存在于目标授权内容中,可以通过如下方式实现:
首先,根据本地映射表,查找目标访问请求携带的虚拟域名对应的真实域名;
然后,判断上述真实域名是否存在于目标授权内容中。
由于目标访问请求是基于第二操作页面发送的,而第二操作页面中包含的是代理域名和路径值的组合(即虚拟域名),因此目标访问请求中的目标URL,其携带的域名为虚拟域名。在实际应用中,代理服务器可以对目标URL进行解析,以获取上述目标URL中携带的虚拟域名,然后根据本地映射表,查找与上述虚拟域名相对应的真实域名。在查找到上述对应的真实域名后,代理服务器便可以查询保存在本地储存设备中的目标授权内容,以判断上述真实域名是否存在于目标授权内容中。
继续以上文的举例进行说明,假设目标URL为https://www.wsvpn.cn/path1/info/9396/58chbdg3.htm,那么代理服务器可以根据本地映射表,查询到www.wsvpn.cn/path1对应于www.a.baidu.com,然后代理服务器可以查询保存在本地的授权内容,将www.a.baidu.com与授权内容中的域名信息进行比对,进而判断www.a.baidu.com是否存在于上述授权内容中,如果存在,则说明目标用户可以访问https://www.wsvpn.cn/path1/info/9396/58chbdg3.htm;如果不存在,则说明目标用户不可以访问https://www.wsvpn.cn/path1/info/9396/58chbdg3.htm。
在一个实施方式中,授权内容可进一步具体到URL,相应的,代理服务器可先通过上述方式查找到虚拟域名对应的真实域名,并将目标访问请求中的URL的虚拟域名修改为真实域名,进而基于修改后的URL查询授权内容,以确定目标用户是否有访问权限。
如果上述虚拟域名存在于目标授权内容中,则说明目标用户可以访问上述目标访问请求指向的页面,代理服务器便可以基于上述目标访问请求,向目标访问请求指向的目标源站发起访问请求;如果上述虚拟域名不存在于目标授权内容中,为避免误判,代理服务器可以进一步判断目标访问请求中是否存在referer字段,如果目标访问请求中存在referer字段,代理服务器可以基于上述目标授权内容和上述referer字段对目标访问请求进行鉴权。
在实际应用中,假设目标用户点击第二操作页面中的超链接图标,浏览器将基于目标用户的操作向代理服务器发送目标访问请求,此时目标访问请求中携带的是超链接对应网页的虚拟域名,而WebVPN系统并未对超链接进行授权分类,因此当代理服务器查询目标授权内容时,将判断上述虚拟域名并不存在于目标授权内容中。如果代理服务器直接根据上述判断结果,拒绝访问上述目标访问请求指向的目标源站,则可能出现误判,因此代理服务器可以将目标访问请求标记为待确定的,然后再结合referer字段对目标访问请求进行进一步的鉴权管理。
S103:若所述虚拟域名不存在于所述目标授权内容中,则判断所述目标访问请求中是否存在referer字段,若存在所述referer字段,则基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权。
在本实施方式中,当代理服务器判断目标访问请求携带的虚拟域名并不存在于目标授权内容中,并将目标访问请求标记为待确定的之后,代理服务器可以进一步判断上述目标访问请求中是否存在referer字段,如果上述目标访问请求中存在referer字段,代理服务器可以基于目标授权内容和上述referer字段对目标访问请求进行鉴权。具体的,代理服务器可以判断上述目标访问请求中是否存在referer字段,如果目标访问请求中存在referer字段,代理服务器可以解析上述referer字段,进而获取到上述referer字段中包含的域名信息(即目标域名),然后代理服务器可以判断上述目标域名是否存在于目标授权内容中。
需要特别指出的是,代理服务器判断上述目标域名是否存在于目标授权内容中,可以通过如下方式实现:首先,代理服务器根据本地映射表,查找上述目标域名对应的真实域名,然后,代理服务器判断上述对应的真实域名是否存在于目标授权内容中。
如果上述目标域名存在于目标授权内容中,则说明目标用户可以访问上述目标访问请求指向的目标源站,代理服务器便可以基于上述目标访问请求,向目标访问请求指向的目标源站发起访问请求;如果上述目标域名不存在于目标授权内容中,则说明目标用户不可以访问上述目标访问请求指向的目标源站,代理服务器将拒绝访问目标访问请求指向的目标源站,此时代理服务器可以向浏览器返回403状态码,以通知目标用户其无权访问目标访问请求指向的目标源站。
需要特别指出的是,如果目标访问请求已经被标记为待确定的,而代理服务器判断上述目标访问请求中并不存在referer字段,则说明目标用户不可以访问上述目标访问请求指向的目标源站,此时代理服务器可以向浏览器返回403状态码,以通知目标用户其无权访问目标访问请求指向的目标源站。
由此可见,本申请提供的技术方案,通过将cookie信息与授权内容进行绑定,从而建立目标授权内容与目标cookie信息之间的唯一映射关系,这样便可以通过目标访问请求中携带的目标cookie信息对该目标访问请求进行鉴权管理。当代理服务器接收到目标访问请求后,代理服务器可以首先查询授权映射表,以判断授权映射表中是否存在与目标cookie信息相对应的目标授权内容,如果存在目标授权内容,则可以进一步根据上述目标授权内容中包含的信息判断该目标访问请求是否合法,而针对基于子链接产生的访问请求,则可以根据其HTTP头部信息中的referer字段进行鉴权,这样便可以避免因子链接识别错误,而导致子页面加载失败,从而拓展了WebVPN系统的适用范围。
需要特别指出的是,代理服务器利用目标cookie信息进行认证鉴权,还可以解决不同的用户使用同一个账号和密码同时登录内部网络的问题。
在一个实施方式中,假设如果两个不同的用户(为便于叙述,本申请将其称为A用户和B用户)都获取到一个登录内部网络的账号和密码,如果A用户首先登录了内部网络,那么鉴权服务器将向A用户反馈一个第一cookie设置信息(记为Set-cookie1)和授权内容,然后代理服务器基于Set-cookie1和/或随机数生成目标cookie设置信息(记为Set-cookie2),同时代理服务器将在本地保存目标cookie信息(记为cookie2,基于Set-cookie2生成)与授权内容的映射关系。在之后的某一个时刻,B用户使用相同的账号和密码登录了内部网络,那么鉴权服务器将向A用户反馈另一个第一cookie设置信息(记为Set-cookie3)和授权内容,然后代理服务器基于Set-cookie3和/或随机数生成另一个目标cookie设置信息(记为Set-cookie4),同时代理服务器将在本地保存新的目标cookie信息(记为cookie4,基于Set-cookie4生成)与授权内容的映射关系。
由于Set-cookie1中的value值与Set-cookie3中的value值并不相同,两次的随机数也是不同的,因此Set-cookie2与Set-cookie4也不相同,相应的,cookie2与cookie4也不相同,然而对于同一个账号,鉴权服务器反馈的用户关键信息,如用户ID是相同的,因此代理服务器在针对用户保存cookie信息时,cookie4将覆盖cookie2,即代理服务器本地保存的始终是最新的目标cookie信息与授权内容的映射关系。当A用户再次访问内部网络时,A用户发送的访问请求将携带cookie2,由于代理服务器此时本地保存的是cookie4与授权内容的映射关系,因此,代理服务器将无法通过cookie2查询到相应的授权内容(即无法在授权映射表中查询到与目标cookie信息相对应的目标授权内容),代理服务器将拒绝访问目标访问请求指向的目标源站,此时代理服务器可以向A用户返回登录页面,这样A用户将无法再次访问内部网络。
如果A用户再次使用上述账号和密码登录内部网络,基于同样的原理,B用户将无法再次访问该内部网络。这样,代理服务器利用目标cookie信息进行认证鉴权,便可以使不同的用户无法使用同一个账号和密码同时访问内部网络。
在实际应用中,由于目标访问请求中的目标URL携带的域名为虚拟域名,因此代理服务器无法直接通过目标URL访问目标访问请求指向的目标源站。
在一个实施方式中,代理服务器在访问上述目标页面之前可以将目标访问请求中携带的虚拟域名修改为对应的真实域名,以重构目标访问请求。具体的,代理服务器可以根据本地映射表,查询到与目标URL携带的虚拟域名相对应的真实域名,然后用上述真实域名替换目标URL中的虚拟域名,从而得到一个包含有上述真实域名的新的URL,最后将目标访问请求中携带的目标URL修改为上述新的URL,从而实现对目标访问请求的重构。当代理服务器完成目标访问请求的重构后,便可以基于上述重构后的目标访问请求向目标源站发送请求,以访问目标源站。
在一个实施方式中,当代理服务器访问目标源站后,目标源站可以向请求发送方(即代理服务器)反馈用户响应信息,上述用户响应信息中可包括第三cookie设置信息,在实际应用中,上述第三cookie设置信息中的domain字段保存的信息通常为目标应用的泛域名。
当代理服务器接收到上述用户响应信息后,代理服务器可以对第三cookie设置信息进行解析,以获取其中的domain信息,并且代理服务器可以根据上述第三cookie设置信息的内容生成第三cookie信息,以建立domain信息与第三cookie信息的映射关系,这样,代理服务器通过泛域名便可以查询到对应的第三cookie信息。
在一个实施方式中,当用户选择了同一泛域名下的其它应用时,浏览器可以基于用户的选择生成对应的访问请求(即第二目标访问请求),第二目标访问请求中将携带目标cookie信息。当代理服务器接收到上述第二目标访问请求后,先基于目标cookie信息对其进行授权认证,并在认证通过后,根据第二目标访问请求中包含的虚拟域名所对应的真实域名,从domain信息与第三cookie信息的映射关系中,查找对应的第三cookie信息。当代理服务器查找到对应的第三cookie信息后,可以将上述第三cookie信息添加到第二目标访问请求中,同时,代理服务器将利用真实域名替换虚拟域名,以对第二目标访问请求进行重构,然后向第二目标访问请求指向的内网应用发送重构后的第二目标访问请求,以请求相应的资源。
当目标源站接收到上述重构后的第二目标访问请求后,可以对第三cookie信息中保存的信息进行解析。基于解析的结果,目标源站可以判断上述第二目标访问请求是否合法,若合法,目标源站便可以向代理服务器发送响应资源;若不合法,目标源站可以向代理服务器发送403状态码。
继续以上文的举例进行说明,假设目标源站提供的应用服务1对应的真实域名为a.baidu.com,应用服务2对应的真实域名为b.baidu.com,上述两个真实域名都位于泛域名.baidu.com之下。当用户通过代理服务器访问应用服务1后,代理服务器将接收到应用服务1返回的第三cookie设置信息,然后代理服务器将建立.baidu.com与第三cookie信息的映射关系,从而使得代理服务器通过.baidu.com查找到第三cookie信息。
当目标用户需要访问应用服务2时,由于目标cookie信息中的domain字段为空,path字段为“/”,因此浏览器生成的访问请求(即第二目标访问请求)将携带目标cookie信息,代理服务器可基于目标cookie信息对第二访问请求的进行授权验证。
更进一步的,代理服务器可根据第二目标访问请求中携带的虚拟域名(即wsvpn.cn/path2),查找本地映射表,获取对应的真实域名b.baidu.com,进而获取到对应的泛域名.baidu.com,然后根据domain信息与第三cookie信息的映射关系,查找到对应的第三cookie信息,之后代理服务器可以将上述第三cookie信息放入第二目标访问请求中。同时,代理服务器可将其中的虚拟域名修改为对应的真实域名,以实现对第二目标访问请求进行重构,并向应用服务2的源站发送重构后的第二目标访问请求,使得应用服务2可直接基于第三cookie信息进行用户行为关联。
在一个实施方式中,代理服务器还可以根据所述本地映射表重构所述第三cookie设置信息。具体的,代理服务器可以根据第三cookie设置信息中domain字段的真实域名,查询与该真实域名相对应的虚拟域名,然后将上述虚拟域名添加到第三cookie设置信息的path字段中,同时,代理服务器将第三cookie设置信息中的domain字段设置为空。
代理服务器在完成第三cookie设置信息的重构后,可以将重构后的第三cookie设置信息发送至浏览器。这样,当目标用户需要再次访问该内网应用时,浏览器便可以在此次发送的访问请求中携带第三cookie信息(基于重构后的第三cookie设置信息生成),从而保证cookie机制的正常运行,避免浏览器在发送请求时,没有正确携带对应的cookie信息,导致无法访问。
继续以上文的举例进行说明,当代理服务器访问应用服务1后,代理服务器将接收到应用服务1返回的第三cookie设置信息,此时代理服务器可以对第三cookie设置信息进行重构,将第三cookie设置信息的domain字段设置为空,并在第三cookie设置信息的path字段中添加wsvpn.cn/path1,然后将重构后的第三cookie设置信息发送至浏览器。这样,当目标用户需要访问应用服务1提供的资源时,浏览器发送的访问请求将携带第三cookie信息,这就保证了cookie机制的正常运行,浏览器便可以对应用服务1进行正常访问。
在一个实施方式中,目标源站反馈的用户响应信息中还包括用户响应页面,该用户响应页面中包含的域名为各个内网应用对应的真实域名,而浏览器发送的访问请求中携带的是虚拟域名,因此代理服务器需要对上述用户响应页面进行重构。具体的,代理服务器可以首先获取用户响应页面中包含的各个真实域名,然后根据本地映射表,查找与各个真实域名相对应的虚拟域名,之后将上述真实域名修改为对应的虚拟域名,从而完成用户响应页面的重构。在完成用户响应页面的重构后,代理服务器便可以将重构后的用户响应页面发送至浏览器,从而使得浏览器可以对用户响应页面进行渲染。
由此可见,本申请将目标cookie信息与授权内容进行绑定,建立用户关键信息与目标cookie信息之间的唯一映射关系,然后通过目标cookie信息对用户的认证鉴权环节进行管理,从而使得认证鉴权环节和应用访问环节都集中在代理服务器侧,这样用户关键信息不需要保存在浏览器侧,避免了用户关键信息的泄露。同时通过对目标cookie信息的更新,可以使不同的用户无法使用同一个账号和密码同时访问内部网络,进一步提高了系统的安全性。
请参阅图4,本申请还提供一种鉴权管理装置,所述装置应用于代理服务器,并储存有授权映射表,所述装置包括:
信息接收模块,用于接收浏览器发送的目标访问请求,其中,所述目标访问请求携带有目标cookie信息;
鉴权判断模块,用于判断所述授权映射表中是否存在与所述目标cookie信息相对应的目标授权内容,若所述授权映射表中存在所述目标授权内容,则判断所述目标访问请求携带的虚拟域名是否存在于所述目标授权内容中,若所述虚拟域名存在于所述目标授权内容中,则访问所述目标访问请求指向的目标源站;
Referer识别模块,用于若所述虚拟域名不存在于所述目标授权内容中,则判断所述目标访问请求中是否存在referer字段,若存在所述referer字段,则基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权。
在一个实施方式中,基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权包括:
获取所述referer字段中包含的目标域名,并判断所述目标域名是否存在于所述目标授权内容中;
若所述目标域名存在于所述目标授权内容中,则访问所述目标访问请求指向的目标源站;
若所述目标域名不存在于所述目标授权内容中,则拒绝访问所述目标源站。
在一个实施方式中,所述装置还包括:
域名处理模块,用于获取各个内网应用的真实域名,并基于代理域名下的不同路径值,建立各个所述真实域名与所述路径值之间的域名映射关系,以及将所述域名映射关系储存于本地映射表中。
在一个实施方式中,所述装置还包括:
信息重构模块,用于基于所述目标用户标识和/或所述目标授权内容生成所述目标cookie信息,并建立所述目标cookie信息与所述目标授权内容之间的目标授权映射关系,以及将所述目标授权映射关系储存于所述授权映射表中,并根据所述本地映射表将所述第一操作页面重构为第二操作页面;
所述信息接收模块,还用于接收鉴权服务器反馈的认证信息,其中,所述认证信息中至少包括所述目标授权内容、目标用户标识和第一操作页面。
在一个实施方式中,基于所述目标用户标识和/或所述目标授权内容生成所述目标cookie信息包括:
基于所述目标用户标识和/或所述目标授权内容生成目标value值;
将所述目标value值封装为目标cookie设置信息的value值,以根据所述目标cookie设置信息生成所述目标cookie信息。
在一个实施方式中,根据所述本地映射表将所述第一操作页面重构为第二操作页面包括:
获取所述第一操作页面中包含的所述各个内网应用的真实域名;
根据所述本地映射表,查找与所述真实域名相对应的所述路径值,并将所述真实域名修改为虚拟域名,其中,所述虚拟域名为所述代理域名和所述路径值的组合。
请参阅图5,本申请还提供一种鉴权管理装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,可以实现如上述的鉴权管理方法。具体地,在硬件层面,该装置可以包括处理器、内部总线和存储器。所述存储器可以包括内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述装置的结构造成限定。例如,所述装置还可包括比图5中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如GPU(Graphics Processing Unit,图像处理器),或者对外通信端口等。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等。
本实施方式中,所述的处理器可以包括中央处理器(CPU)或图形处理器(GPU),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。本实施方式所述的存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如RAM、FI FO等;在系统中,具有实物形式的存储设备也可以叫存储器等。实现的时候,该存储器也可以采用云存储器的方式实现,具体实现方式,本说明书不做限定。
需要说明的是,本说明书中的鉴权管理装置,具体的实现方式可以参照方法实施方式的描述,在此不作一一赘述。
由此可见,本申请提供的技术方案,通过将cookie信息与授权内容进行绑定,从而建立目标授权内容与目标cookie信息之间的唯一映射关系,这样便可以通过目标访问请求中携带的目标cookie信息对该目标访问请求进行鉴权管理。当代理服务器接收到目标访问请求后,代理服务器可以首先查询授权映射表,以判断授权映射表中是否存在与目标cookie信息相对应的目标授权内容,如果存在目标授权内容,则可以进一步根据上述目标授权内容中包含的信息判断该目标访问请求是否合法,而针对基于子链接产生的访问请求,则可以根据其HTTP头部信息中的referer字段进行鉴权,这样便可以避免因子链接识别错误,而导致子页面加载失败,从而拓展了WebVPN系统的适用范围。
同时,本申请将认证鉴权环节和应用访问环节都集中在代理服务器侧,这样用户关键信息不需要保存在浏览器侧,避免了用户关键信息的泄露,而通过对目标cookie信息的更新,可以使不同的用户无法使用同一个账号和密码同时访问内部网络,进一步提高了系统的安全性。针对某些网站利用cookie机制进行内部权限管理的情况,本申请基于网站反馈的第三cookie设置信息,建立第三cookie信息与泛域名之间的映射关系,以简化用户的访问,同时还可以对第三cookie设置信息进行重构,以保证cookie机制的正常运行,避免浏览器在渲染网页时出现错误。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种鉴权管理方法,其特征在于,所述方法应用于代理服务器,所述代理服务器中储存有授权映射表,所述方法包括:
接收浏览器基于包含有虚拟域名的第二操作页面发送的目标访问请求,根据目标访问请求携带的cookie信息,判断其是否携带有目标cookie信息;
若所述目标访问请求携带有目标cookie信息,判断所述授权映射表中是否存在与所述目标cookie信息相对应的目标授权内容,若所述授权映射表中存在所述目标授权内容,则判断所述目标访问请求携带的所述虚拟域名对应的真实域名是否存在于所述目标授权内容中,若所述虚拟域名对应的真实域名存在于所述目标授权内容中,则访问所述目标访问请求指向的内网的目标源站;
若所述虚拟域名不存在于所述目标授权内容中,则判断所述目标访问请求中是否存在referer字段,若存在所述referer字段,则基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权;
所述基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权包括:获取所述referer字段中包含的目标域名,根据本地映射表,查找所述目标域名对应的真实域名,判断所述真实域名是否存在于目标授权内容中。
2.根据权利要求1所述的方法,其特征在于,基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权包括:
获取所述referer字段中包含的目标域名,并判断所述目标域名是否存在于所述目标授权内容中;
若所述目标域名存在于所述目标授权内容中,则访问所述目标访问请求指向的目标源站;
若所述目标域名不存在于所述目标授权内容中,则拒绝访问所述目标源站。
3.根据权利要求1所述的方法,其特征在于,在接收浏览器发送的目标访问请求之前,所述方法还包括:
获取各个内网应用的真实域名,并基于代理域名下的不同路径值,建立各个所述真实域名与所述路径值之间的域名映射关系;
将所述域名映射关系储存于本地映射表中。
4.根据权利要求3所述的方法,其特征在于,在将所述域名映射关系储存于本地映射表后,所述方法还包括:
接收鉴权服务器反馈的认证信息,其中,所述认证信息中至少包括所述目标授权内容、目标用户标识和第一操作页面;
基于所述目标用户标识和/或所述目标授权内容生成所述目标cookie信息,并建立所述目标cookie信息与所述目标授权内容之间的目标授权映射关系;
将所述目标授权映射关系储存于所述授权映射表中,并根据所述本地映射表将所述第一操作页面重构为第二操作页面。
5.根据权利要求4所述的方法,其特征在于,基于所述目标用户标识和/或所述目标授权内容生成所述目标cookie信息包括:
基于所述目标用户标识和/或所述目标授权内容生成目标value值;
将所述目标value值封装为目标cookie设置信息的value值,以根据所述目标cookie设置信息生成所述目标cookie信息。
6.根据权利要求4所述的方法,其特征在于,根据所述本地映射表将所述第一操作页面重构为第二操作页面包括:
获取所述第一操作页面中包含的所述各个内网应用的真实域名;
根据所述本地映射表,查找与所述真实域名相对应的所述路径值,并将所述真实域名修改为所述虚拟域名,其中,所述虚拟域名为所述代理域名和所述路径值的组合。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述授权映射表中不存在所述目标授权内容,则拒绝访问所述目标源站。
8.一种鉴权管理装置,其特征在于,所述装置应用于代理服务器,并储存有授权映射表,所述装置包括:
信息接收模块,用于接收浏览器基于包含有虚拟域名的第二操作页面发送的目标访问请求;
鉴权判断模块,用于根据目标访问请求携带的cookie信息,判断其是否携带有目标cookie信息,若所述目标访问请求携带有目标cookie信息,判断所述授权映射表中是否存在与所述目标cookie信息相对应的目标授权内容,若所述授权映射表中存在所述目标授权内容,则判断所述目标访问请求携带的所述虚拟域名对应的真实域名是否存在于所述目标授权内容中,若所述虚拟域名对应的真实域名存在于所述目标授权内容中,则访问所述目标访问请求指向的内网的目标源站;
Referer识别模块,用于若所述虚拟域名不存在于所述目标授权内容中,则判断所述目标访问请求中是否存在referer字段,若存在所述referer字段,则基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权;所述基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权包括:获取所述referer字段中包含的目标域名,根据本地映射表,查找所述目标域名对应的真实域名,判断所述真实域名是否存在于目标授权内容中。
9.根据权利要求8所述的装置,其特征在于,基于所述目标授权内容和所述referer字段对所述目标访问请求进行鉴权包括:
获取所述referer字段中包含的目标域名,并判断所述目标域名是否存在于所述目标授权内容中;
若所述目标域名存在于所述目标授权内容中,则访问所述目标访问请求指向的目标源站;
若所述目标域名不存在于所述目标授权内容中,则拒绝访问所述目标源站。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
域名处理模块,用于获取各个内网应用的真实域名,并基于代理域名下的不同路径值,建立各个所述真实域名与所述路径值之间的域名映射关系,以及将所述域名映射关系储存于本地映射表中。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
信息接收模块,还用于接收鉴权服务器反馈的认证信息,其中,所述认证信息中至少包括所述目标授权内容、目标用户标识和第一操作页面;
信息重构模块,用于基于所述目标用户标识和/或所述目标授权内容生成所述目标cookie信息,并建立所述目标cookie信息与所述目标授权内容之间的目标授权映射关系,以及将所述目标授权映射关系储存于所述授权映射表中,并根据所述本地映射表将所述第一操作页面重构为第二操作页面。
12.根据权利要求11所述的装置,其特征在于,基于所述目标用户标识和/或所述目标授权内容生成所述目标cookie信息包括:
基于所述目标用户标识和/或所述目标授权内容生成目标value值;
将所述目标value值封装为目标cookie设置信息的value值,以根据所述目标cookie设置信息生成所述目标cookie信息。
13.根据权利要求11所述的装置,其特征在于,根据所述本地映射表将所述第一操作页面重构为第二操作页面包括:
获取所述第一操作页面中包含的所述各个内网应用的真实域名;
根据所述本地映射表,查找与所述真实域名相对应的所述路径值,并将所述真实域名修改为虚拟域名,其中,所述虚拟域名为所述代理域名和所述路径值的组合。
14.一种鉴权管理装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一利要求所述的方法。
CN202010975706.5A 2020-09-16 2020-09-16 一种鉴权管理方法和装置 Active CN112260991B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010975706.5A CN112260991B (zh) 2020-09-16 2020-09-16 一种鉴权管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010975706.5A CN112260991B (zh) 2020-09-16 2020-09-16 一种鉴权管理方法和装置

Publications (2)

Publication Number Publication Date
CN112260991A CN112260991A (zh) 2021-01-22
CN112260991B true CN112260991B (zh) 2023-08-22

Family

ID=74231772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010975706.5A Active CN112260991B (zh) 2020-09-16 2020-09-16 一种鉴权管理方法和装置

Country Status (1)

Country Link
CN (1) CN112260991B (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8646067B2 (en) * 2008-01-26 2014-02-04 Citrix Systems, Inc. Policy driven fine grain URL encoding mechanism for SSL VPN clientless access
US8850567B1 (en) * 2008-02-04 2014-09-30 Trend Micro, Inc. Unauthorized URL requests detection
CN101242336B (zh) * 2008-03-13 2010-12-01 杭州华三通信技术有限公司 远程访问内网Web服务器的方法及Web代理服务器
CN103067417B (zh) * 2011-10-19 2016-04-13 华耀(中国)科技有限公司 VPN中安全代理的Web服务映射方法及其系统
CN103561036A (zh) * 2013-11-12 2014-02-05 深信服网络科技(深圳)有限公司 白名单上网环境下的请求拦截方法及装置
CN105635073B (zh) * 2014-11-06 2020-06-26 华为技术有限公司 访问控制方法、装置和网络接入设备
CN105991634A (zh) * 2015-04-29 2016-10-05 杭州迪普科技有限公司 访问控制的方法和装置
CN110602269B (zh) * 2019-10-22 2022-10-21 北京天融信网络安全技术有限公司 一种转换域名的方法
CN110855766A (zh) * 2019-11-06 2020-02-28 北京天融信网络安全技术有限公司 一种访问Web资源的方法、装置及代理服务器

Also Published As

Publication number Publication date
CN112260991A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN112260990B (zh) 一种安全访问内网应用的方法和装置
WO2022057000A1 (zh) 一种数据代理方法、系统及代理服务器
US10212173B2 (en) Deterministic reproduction of client/server computer state or output sent to one or more client computers
CN104954330B (zh) 一种对数据资源进行访问的方法、装置和系统
US20100100950A1 (en) Context-based adaptive authentication for data and services access in a network
CN107122674B (zh) 一种应用于运维审计系统的oracle数据库的访问方法
CN112260988B (zh) 一种异常请求处理方法和装置
US20020069366A1 (en) Tunnel mechanis for providing selective external access to firewall protected devices
WO2022247751A1 (zh) 远程访问应用的方法、系统、装置、设备及存储介质
US20070288634A1 (en) Computer readable recording medium storing control program, communication system and computer data signal embedded in carrier wave
CN105592046B (zh) 一种免认证访问方法和装置
CN111698345B (zh) 域名查询方法、递归服务器和存储介质
CN113381979A (zh) 一种访问请求代理方法及代理服务器
CN109040069A (zh) 一种云应用程序的发布方法、发布系统及访问方法
US20200210584A1 (en) Deterministic Reproduction of Client/Server Computer State or Output Sent to One or More Client Computers
CN109962892A (zh) 一种登录应用的认证方法及客户端、服务器
CN113194099B (zh) 一种数据代理方法及代理服务器
CN108200039A (zh) 基于动态创建临时账号密码的无感知认证授权系统和方法
CN110730189A (zh) 一种通信认证方法、装置、设备及存储介质
US11075922B2 (en) Decentralized method of tracking user login status
CN108462671A (zh) 一种基于反向代理的认证保护方法及系统
CN114285821A (zh) 一种域名解析方法、装置、电子设备、存储介质及产品
CN112260991B (zh) 一种鉴权管理方法和装置
CN107343028B (zh) 一种基于http协议的通信方法及系统
CN102195979B (zh) 基于加速key进行网络加速的方法及加速key

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant