专利名称:一种vpn权限控制方法及装置的制作方法
技术领域:
本发明涉及网络通信中的权限控制技术,尤其VPN隧道中的权限控制方法及装置。
背景技术:
基于B/S模式的SSL VPN技术(也可称为web代理技术)最大的优点是可以免客户端安装,用户可以直接以浏览器访问VPN内网的web资源。随着信息安全从单纯关注网络安全转变为重点关注以业务为核心的应用安全,远程安全接入的重要性日益明显,SSL VPN以无需安装客户端软件,保护具体应用,细粒度的访问控制,详细的审计等特性,在易用性、安全性和管理性方面更胜一筹。SSL VPN与其他VPN相比,还有一个突出的亮点功能在于权限控制。SSL VPN可以支持基于用户的权限控制,通过把不同用户配置归属于不同的用户 组,不同用户组可访问不同的资源组,于是不同的用户登录认证后,就只能访问不同的内网资源了。但是,SSL VPN技术无法访问内网的其他C/S应用,如远程桌面,邮件系统,文件共享,FTP,数据库,ERP等,而且,甚至有通过客户端访问整个子网的需求存在。因此,实际商用中,SSL VPN仍需要通过安装客户端控件的方式来实现远程安全传输其他C/S应用。其中最关键技术是网络连接(Network Connection, NC),其原理是SSL VPN客户端连接服务器端认证后,由服务器端分配虚拟IP地址给客户端,以虚拟IP地址来访问内网资源,并被外层SSL安全隧道加密传输。网络连接技术的客户端具体实现,就是每个用户登录认证成功后,SSL VPN客户端以SSL协议连接服务器端,创建安装隧道,发送控制报文,请求分配虚拟IP地址和可访问的内网IP网段资源,可由分配到彼此不相同的虚拟IP地址,在客户端所在的操作系统中启用一块虚拟网卡,设置虚拟网卡地址为分配得到的虚拟IP地址;对内网IP网段资源在操作系统中添加路由,设置目的IP在该网段内的数据引入到虚拟网卡中来。请参考图1,当用户访问SSL VPN网关保护的内网IP网段时,如FTP,远程桌面等访问内网IP资源,其数据流在客户端操作系统中查找路由走到虚拟网卡中,SSL VPN客户端从虚拟网卡中读取出这些需保护的内网访问数据,此时的数据其实是一个个IP报文,其源IP是虚拟网卡上的IP地址,目的IP是具体应用(如FTP)的目的IP地址,把数据从SSL安全隧道中发送出去。但是,结合权限控制的时候,往往是在SSL VPN网关(S卩服务器端)收到客户端从SSL隧道传输过来的报文,并在解除外层封装和解密后得到内层IP数据,获取该内层IP头的源IP和目的IP,根据源IP查询这个IP地址在之前是分配给了哪个用户,属于哪个用户组,能访问哪些资源组;查询目的IP是否在该用户可访问的资源组范围内。如果是在合法范围内,则把该内层IP报文向内网中转发,如果不在该合法范围内,则丢弃该内层IP报文。对于SSL VPN网关来说,每一个报文都要经过这样的流程,这严重消耗了服务端的性能。服务端可以通过一定的算法如HASH表方式,加快速度确定该报文的合法性,但这对性能消耗的改善并不明显,因为这些算法本身也要消耗资源等。而且当众多用户想越权访问内网服务器时,那么有大量的不合法报文到达服务器端,服务器需耗费许多性能去解密报文然后判断权限,最后再丢弃报文,性能浪费十分严重。
发明内容
本发明提供一种VPN权限控制装置,应用于用户主机上,该装置包括VPN处理单元,用于使用主机自身IP地址与VPN服务端建立隧道连接,并用于将用户报文封装为隧道报文通过隧道发送至VPN服务端或将来自VPN服务端的隧道报文还原为用户报文;IP处理单元,用于通过隧道从VPN服务端获取内网IP地址,并将用户报文发送至所述VPN连接单元或从所处VPN连接单元获得还原后的用户报文;权限控制单元,用于通过隧道从VPN服务端获取权限控制列表,并根据所述权限控制列表将判断是否允许用户报文通过,如果允许则将用户报文发送给VPN处理单元,否则将该用户报文丢弃。
·
本发明还提供一种VPN权限控制方法,应用于用户主机上,该方法包括A、使用主机自身IP地址与VPN服务端建立隧道连接;B、通过隧道从VPN服务端获取内网IP地址;C、通过隧道从VPN服务端获取权限控制列表;D、根据所述权限控制列表将判断是否允许用户报文通过,如果是则用户报文通过,否则将该用户报文丢弃;E、将用户报文封装为隧道报文通过隧道发送至VPN服务端或将来自VPN服务端的隧道报文还原为用户报文。本发明通过在用户主机侧建立权限控制机制,有效地利用了用户主机的处理资源,其不仅仅单纯将服务端的权限控制工作迁移到用户主机来避免服务端消耗过多资源。更加重要的是,在现有技术中大量越权的用户报文会到达服务端,VPN服务端还需要对这些报文进行隧道还原处理(比如说SSL VPN中的解密),这对VPN服务端的性能消耗是非常严重的,显然本发明中越权的用户报文无法到达服务端,更进一步节约了服务端在加解密等隧道处理上的大量资源消耗。
图I是现有技术中实现SSL VPN权限控制的组网示意图。图2是本发明计算机程序实现方式下的权限控制装置逻辑结构图。图3是本发明实现SSL VPN权限控制的组网示意图。
具体实施例方式下面结合附图及以计算机程序实现为例对本发明再作进一步详细的说明。请参考图2,本发明的VPN权限控制装置包括网络接口、VPN处理单元、权限控制单元、路由处理单元、IP处理单元。需要说明的是,这里的划分仅仅是逻辑上的划分,为了后续描述更加方便而设定。以下以比较流行的SSLVPN为例,其他类似的VPN技术实现原理相同,不再一一赘述。在本发明一种实施方式中,实现权限控制包括以下处理流程步骤101,用户主机的VPN处理单元与VPN服务端建立SSL VPN隧道连接,并从VPN服务端接收Active控件;本发明建立隧道连接的方式可以与现有技术一致,所不同的是连接建立之后VPN服务端(如SSL VPN服务器)可以发送Active控件到用户主机。通常用户主机可以在界面上提示用户是否安装该控件,用户安装该控件后可以形成所述权限控制单元。需要说明的是这仅仅是一种较佳的实现方式,权限控制单元也可以由用户预先安装好,并不一定需要从服务端下载。步骤102,权限控制单元通过已经建立好的隧道向VPN服务端发送请求,并相应接收VPN服务端下发的权限控制列表。权限控制列表是权限控制单元对用户报文的处理依据,通常由服务端来下发。比如管理员在服务端配置好了之后,用户的权限控制单元可以发送控制报文来请求VPN服务端将与该用户主机对应的权限控制列表下发到本机。控制报文可以是自定义的私有协议报文或者是借用已有的协议报文。如背景技术所述的那样,访问VPN服务端的内网报文会经过隧道处理后发送到VPN服务端,VPN服务端从隧道报文中还原出用户报文需要判断用户·此时访问是否合法。在本发明中,这一判断被迁移到用户主机上来,但判断依据可以是相同的。请参考表I的示例,通常来说权限控制列表包括目的IP地址、协议号以及目的端口号中的一种或者多种。其中目的IP地址代表了用户想访问的主机;而协议号则代表了用户报文的类型,目的端口通常可以表明用户向访问的主机上的某种应用。在优选的实施方式中,可以使用三者的组合来建立权限控制列表,这样对权限的控制可以细分到具体的应用和协议。比如说管理员希望用户I可以访问服务器A的HTTP应用,但不希望用户访问到服务器A的FTP应用,显然单纯依靠目的IP地址是不能够对用户权限进行应用级的控制的。在SSLVPN隧道中,为了实现Web以外的应用,可以结合NC技术一起实施,具体可参考现有技术进行实现。
权利要求
1.一种VPN权限控制装置,应用于用户主机上,该装置包括 VPN处理单元,用于使用主机自身IP地址与VPN服务端建立隧道连接,并用于将用户报文封装为隧道报文并通过隧道发送至VPN服务端或接收来自VPN服务端的隧道报文并将该隧道报文还原为用户报文; IP处理单元,用于通过隧道从VPN服务端获取内网IP地址,并将用户报文发送至所处VPN连接单元或从所处VPN连接单元获得还原后的用户报文; 权限控制单元,用于通过隧道从VPN服务端获取权限控制列表,并根据所述权限控制列表将判断是否允许用户报文通过,如果允许则将用户报文发送给VPN处理单元,否则将该用户报文丢弃。
2.如权利要求I所述的装置,其特征在于,所述权限控制列表至少包括目的内网IP地址、协议号以及目的端口号中的一种或者多种。
3.如权利要求I或2所述的装置,其特征在于,还包括路由处理单元,用于在用户报文的目的IP地址为内网IP地址时将该用户报文发送至VPN处理单元,并在用户报文的目的IP地址不是内网IP地址时将该用户报文发送到用户主机的网络接口。
4.如权利要求1-3所述的装置,其特征在于,所述权限控制单元是在所述隧道连接建立后从VPN服务端下载控件并自动安装形成的。
5.如权利要求I所述的装置,其特征在于,所述隧道为SSLVPN隧道。
6.一种VPN权限控制方法,应用于用户主机上,该方法包括 A、使用主机自身IP地址与VPN服务端建立隧道连接; B、通过隧道从VPN服务端获取内网IP地址; C、通过隧道从VPN服务端获取权限控制列表; D、根据所述权限控制列表将判断是否允许用户报文通过,如果是则用户报文通过,否则将该用户报文丢弃; E、将用户报文封装为隧道报文并通过隧道发送至VPN服务端或接收来自VPN服务端的隧道报文并将该隧道报文还原为用户报文。
7.如权利要求6所述的方法,其特征在于,所述权限控制列表至少包括目的内网IP地址、协议号以及目的端口号中的一种或者多种。
8.如权利要求6或7所述的方法,其特征在于,还包括 F、在用户报文的目的IP地址为内网IP地址时先进行隧道处理,在用户报文的目的IP地址不是内网IP地址时将该用户报文发送到用户主机的网络接口。
9.如权利要求6,7或8所述的方法,其特征在于,所述步骤D是通过在所述隧道连接建立后从VPN服务端下载控件并自动安装实现的。
10.如权利要求6所述的方法,其特征在于,所述隧道为SSLVPN隧道。
全文摘要
本发明提供一种VPN权限控制方法,应用于用户主机上,该方法包括A、与服务端建立隧道连接;B、通过隧道从VPN服务端获取内网IP地址;C、通过隧道从VPN服务端获取权限控制列表;D、根据所述权限控制列表将判断是否允许用户报文通过,如果是则用户报文通过,否则将该用户报文丢弃;E、将用户报文封装为隧道报文并通过隧道发送至VPN服务端或接收来自VPN服务端的隧道报文并将其还原为用户报文。本发明有效地利用了用户主机的处理资源,避免服务端消耗过多资源在隧道处理以及权限控制上。
文档编号H04L29/06GK102904867SQ201210147299
公开日2013年1月30日 申请日期2012年5月12日 优先权日2012年5月12日
发明者李志 申请人:杭州迪普科技有限公司