背景技术
伴随着网络应用技术的快速发展,网络信息安全问题也日益突出。保证用户终端的安全、阻止威胁入侵网络,对用户的网络访问行为进行有效地控制,是保证企业网络安全运行的前提,也是目前企业网络安全管理急需解决的问题。
目前,作为解决网络安全问题的重要技术及管理手段,网络接入认证技术也迅速普及。传统的用户网络接入认证方式主要有802.1x(基于端口的访问控制协议)认证、PPPoE(以太网上点对点协议)认证和Portal(门户)认证。网络组网方式不同,用户的认证方式也不同。802.1x方式和PPPoE方式通常需要客户端;Portal认证使用web页面登录网络,由于其操作简单、无需客户端受到用户欢迎,被广泛使用。
PPPoE是从基于ATM(异步传输模式)的窄带网引入到宽带以太网的,将其应用于宽带以太网,必然会有其局限性,虽然其方式较灵活,在窄带网中有较丰富的应用经验,但是它的封装方式也造成了宽带以太网的种种问题。在PPPoE认证中,认证系统必须将每个包进行拆解才能判断和识别用户是否合法,一旦用户增多或者数据包增大,封装速度会影响网络效率;其次这样大量的拆包解包过程必须由一个功能强劲同时价格昂贵的设备来完成,这个设备就是传统的BAS(宽带接入服务器),每个用户发出的每个数据包BAS必须进行拆包识别和封装转发,实现效率低,设备成本较高。
传统的基于http(超文本传输协议)或https(安全超文本传输协议)协议的Web/Portal认证是基于业务类型的认证,不需要安装其他客户端软件,只需要浏览器就能完成,就用户来说较为方便。用户在上网时,网关检测发起http/https请求的用户终端是否已经通过用户认证,如果没有通过认证,则强制向用户终端推出认证页面,要求用户认证上网。该认证基于用户终端的IP(因特网协议)地址实现,认证网关检查通过网关http/https协议报文的源IP地址,如果该IP地址不在已认证用户的IP地址列表中,则认为拥有此IP地址的终端用户未认证。
这种认证方式仅通过“用户名/密码”机制验证用户身份,不能防范IP地址欺骗、MAC(媒体接入控制)地址欺骗等行为,无法实现用户身份绑定接入终端MAC及接入设备端口等信息;而且仅响应http/https访问请求,对于非http/https访问,则无法强制用户进行认证;同时也无法针对目的IP地址、端口区分需要受控访问的资源。
为了实现基于用户端点的准入控制,802.1x协议需要采用特定的客户端。其应用体系结构如图1所示,包括:客户端、接入设备和认证服务器。802.1x的客户端通常安装在用户终端上;认证服务器通常驻留在运营商的AAA(计费、认证和授权)中心。用户每次上网时,通过802.1x客户端发起身份认证请求,接入设备通过转发该认证请求至认证服务器,验证用户身份。
对网络接入用户实施802.1x认证时要求网络中接入层或汇聚层交换机支持1x功能,在接入端口或汇聚端口启动1x认证。用户在完成身份认证前,交换机的端口为受控状态,只有1x报文可以被转发;用户身份认证完成后,受控端口打开,用户可以正常访问网络。1x功能一旦被启用,用户在身份认证通过前,无法进行正常的网络访问。这种认证方式存在以下缺点:
(1)需要特定客户端,而且需要根据用户网络环境进行必要的配置,使用复杂;
(2)组网限制。802.1x认证需要在用户接入点进行网络接入控制,通常只有接入层交换机或BAS设备支持;
(3)无法根据接入终端安全状态对接入端点进行准入控制。802.1x认证方式使用EAP(PPP扩展认证协议)协议报文携带用户认证信息,只能完成用户身份认证,无法获取用户终端安全状态信息,因此也就无法根据用户终端安装状态对用户网络访问进行控制;
(4)无法对访问资源进行权限区分。
近来,随着网络技术的快速发展,对网络接入认证的需求已经不再仅仅局限于用户的身份认证,对于接入网络的终端用户,网络管理员还希望对用户的终端进行安全状态检查,对接入用户根据身份进行访问权限控制,并实时监控用户上网的状态信息、访问行为。现有的认证方式还不能满足这种需求。
发明内容
本发明的目的是提供一种网络接入控制方法,以克服现有Web认证方式下不能对非http/https协议访问进行强制用户身份认证,以及802.1x认证方式需要特定客户端,并且无法根据接入终端安全状态对接入端点进行准入控制的缺点,简单、安全地实现对用户端点的接入控制,保证接入网络的用户身份及终端的安全性。
本发明的另一个目的是提供一种网络接入控制系统,以有效地控制接入用户端点的安全性,降低系统维护成本,保障网络使用安全。
为此,本发明提供如下的技术方案:
一种网络接入控制方法,通过网络接入设备控制用户终端对网络资源的访问,所述方法包括:
A、限制通过门户Portal服务器的页面Web认证上网的用户的访问权限,使其只能访问受限网络资源;
B、用户通过Web页面下载安装安全客户端;
C、当用户访问受保护网络资源时,使用所述安全客户端对用户终端进行安全认证;
D、使安全认证通过的用户自由访问受保护网络资源。
可选地,所述方法进一步包括:
E、在所述安全认证过程中,用户终端使用所述安全客户端对所述Portal服务器进行合法性验证。
优选地,所述步骤E包括:
E1、在所述安全客户端中预置加密算法和加密密钥;
E2、当用户终端收到所述Portal服务器的报文时,通过所述加密算法和加密密钥验证该报文的合法性。
所述步骤A包括:
A1、用户通过网络接入设备访问网络资源时,网络接入设备检查用户的身份状态;
A2、对未经过身份认证的用户,强制其至门户Portal服务器提供的认证Web页面进行用户身份认证;
A3、认证通过后,通过访问控制列表ACL控制所述用户只能访问受限网络资源。
可选地,所述步骤A2包括:
A21、网络接入设备对未经过身份认证的用户发起身份认证请求并获取用户身份信息;
A22、将获取的用户身份信息传送给认证服务器;
A23、认证服务器对所述用户身份信息进行认证,并在认证成功消息中发送携带所述ACL。
可选地,在所述步骤A1前还包括步骤:
在所述网络接入设备中预先设置所述ACL。
所述步骤B包括:
B1、Portal服务器在Web认证页面上为用户提供安全客户端下载功能;
B2、用户通过客户端下载功能提供的链接将所述安全客户端下载安装到用户终端。
所述步骤C包括:
C1、用户在访问受保护的网络资源时,网络接入设备强制发起用户接入认证请求;
C2、所述安全客户端获取用户终端的安全状态信息,并通过Portal服务器将其转发至网络接入设备,所述安全状态信息至少包括所述用户终端的MAC地址信息、IP地址信息、操作系统相关信息;
C3、网络接入设备将所述安全状态信息传送给认证服务器;
C4、认证服务器根据所述安全状态信息对所述用户终端进行安全认证;
C5、安全认证通过后,通过网络接入设备更改ACL中对应的用户表项,解除对该用户的访问权限限制。
优选地,所述方法还包括:
当Portal服务器收到用户终端的报文时,使用共享非对称密钥对所述报文进行合法性验证。
一种网络接入控制系统,用于实现对不带802.1x客户端的用户终端的接入控制,包括:通过网络相连的网络接入设备、Portal服务器和认证服务器,其中,
网络接入设备与用户终端相连,用于控制用户对不同网络资源的访问;
Portal服务器用于在用户接入网络时获取用户身份认证信息,并通过网络接入设备将其传送给认证服务器,同时通过Web页面向用户提供安全客户端链接,获取用户终端的安全状态信息,并通过网络接入设备将其传送给认证服务器;
认证服务器用于根据所述用户身份认证信息完成对用户身份的认证,并根据所述用户终端的安全状态信息完成对用户终端的安全认证。
所述Portal服务器包括:
客户端链接端口,用于向用户提供安全客户端链接;
客户端存储器,与客户端链接端口相连,用于存储客户端应用程序。
由以上本发明提供的技术方案可以看出,本发明通过将Web认证方式和客户端认证相融合,对传统Portal认证进行扩展,实现了Web认证方式下对非http/https协议访问进行强制用户身份的认证,方便了终端用户的使用。本发明具有以下优点:
(1)对于只通过Web认证上网的用户,控制其访问权限,使其只能访问用户网络的隔离区,从而保证了用户网络不受危险终端的威胁;
(2)通过私有Portal+协议,解决了非http/https协议访问受保护网络的强制用户认证,使用户可以以任何方式,比如http、ftp(文件传输协议)、telnet(远程登陆)等,访问受保护的网络资源;
(3)通过从Web页面下载安全客户端,使用安全客户端对用户终端安全状态进行检查,并通过安全客户端重新发起用户认证,实现了用户认证的MAC绑定、接入设备端口绑定等强认证措施,保证了接入网络的用户身份及接入网络终端的安全性;
(4)通过在客户端和Portal服务器之间通信采用预设的非对称密钥加密进行报文合法性验证,保证了Portal服务器的合法性,从而间接保证了AAA服务器的身份合法性,进一步保证了网络认证的安全;
(5)通过Web认证页面分发安全客户端,简化了客户端的分发及部署,并降低了系统的维护费用。
利用本发明,可以更简单、有效地进行用户端点准入控制的认证管理,保障网络安全。
具体实施方式
本发明的核心在于综合传统Portal/Web认证及客户端认证的优点,采用扩展的Portal协议在Web认证方式下对非http/https协议访问进行强制用户身份的认证。对于只通过Web认证上网的用户,控制其访问权限,使其只能访问用户网络的隔离区,也就是说只允许该用户访问受限的网络资源,比如域名服务器、补丁服务器、病毒服务器等;通过Web页面为用户提供安全客户端下载链接;并通过该安全客户端对用户终端进行安全状态检查,必要时,使用户终端与补丁服务器、防病毒软件集中管理服务器等产品进行安全联动操作,对用户终端进行病毒库修补、补丁安装等操作;对用户非http/https协议接入进行强制安全认证,使安全认证通过的用户自由访问受保护网络资源。
为了保证AAA服务器的合法性,在客户端和Portal服务器之间通讯时采用预设的非对称密钥加密进行报文合法性验证。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图2,图2示出了本发明方法的第一实施例的实现流程,包括以下步骤:
步骤201:限制通过门户Portal服务器的页面Web认证上网的用户的访问权限,使其只能访问受限网络资源。
通常,用户终端需要通过网络接入设备接入网络,网络接入设备为交换机或路由器。在本发明中,为了支持用户以任何方式,比如http、ftp和telnet等协议,访问网络资源,需要传统的Portal协议进行扩展,也就是说采用私有协议,因此,相应地作为网络接入设备的交换机或路由器也需要支持该协议。
本技术领域人员知道,传统的Portal认证的基本过程是:用户终端首先通过DHCP(动态主机配置协议)协议获取到IP地址(也可以使用静态IP地址),但是用户使用获取到的IP地址并不能登上Internet(因特网),在认证通过前只能访问特定的IP地址,这个地址通常是Portal服务器的IP地址。采用Portal认证的接入设备必须具备这个能力。一般通过修改接入设备的ACL(访问控制表)可以做到。
用户登录到Portal服务器后,可以浏览上面的内容,比如广告、新闻等免费信息,同时用户还可以在网页上输入用户名和密码,它们会被Web客户端应用程序传给Portal服务器,再由Portal服务器与NAS(网络接入服务器)之间交互来实现用户的认证。
Portal服务器在获得用户的用户名和密码外,还会得到用户的IP地址,以它为索引来标识用户。然后Portal服务器与NAS之间用Portal协议直接通信,而NAS又与Radius(认证)服务器直接通信完成用户的认证和上线过程。这种认证方式不需要特殊的客户端软件,可以降低网络维护工作量,但其应用受限,仅响应http/https访问请求,而且不能解决端点准入问题。
因此,本发明在传统的Portal认证基础上,对Portal协议进行扩展,使Portal服务器与用户终端交互过程中,能够获取用户客户端的版本信息、MAC地址信息,Portal服务器将用户认证相关信息(客户端版本、用户终端MAC地址、用户名、密码等)以扩展的Portal协议转发至网络接入设备,由网络接入设备与认证服务器直接交互完成用户身份认证。身份认证通过后,只允许该用户访问一些受限的网络资源,比如,域名服务器、补丁服务器、病毒服务器等资源,这样,可以避免不安全的用户终端对网络产生影响,充分保证一些受保护网络资源的安全性。
具体实现如下:
用户通过网络接入设备访问网络资源时,网络接入设备检查用户的身份状态,对未经过身份认证的用户,强制其至Portal服务器提供的Web认证页面进行用户身份认证,认证通过后,通过ACL控制该用户只能访问受限网络资源。
本技术领域人员知道,ACL是一种访问控制技术,使用包过滤技术,在路由器/交换机上读取第三层及第四层包头中的信息,如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。利用ACL一方面可以保护资源节点,阻止非法用户对资源节点的访问,另一方面限制特定的用户节点所能具备的访问权限。
可以在网络接入设备中预先配置ACL,该ACL为受控ACL,其列表包括DNS(域名服务器)、补丁服务器、病毒服务器等受限网络资源的IP地址或网段,当用户身份认证通过后,使该用户只能访问ACL所列网络资源。
还可以由认证服务器在认证成功消息中将ACL发送给网络接入设备,网络接入设备根据收到的ACL设置用户的ACL,该ACL为基于用户网络连接的ACL,用以控制用户网络访问权限,通过该ACL对该用户的上网进行控制。
步骤202:Portal服务器在Web认证页面上为用户提供安全客户端下载功能。
可以将安全客户端保存在Portal服务器上,也可以保存在网络的其他服务器上,Portal服务器在Web认证页面上为用户提供下载链接,用户直接点击相关链接,下载并安装该安全客户端到用户终端上。
步骤203:用户通过客户端下载功能提供的链接将安全客户端下载安装到用户终端。
步骤204:当用户访问受保护网络资源时,使用安全客户端对用户终端进行安全认证。
客户端安装完成后,用户在访问受保护的网络资源时,网络接入设备将用户终端强制定向到Portal服务器,由Portal服务器通过客户端软件发起用户接入认证请求,用户终端收到该请求后,由其客户端获取用户终端的安全状态信息,包括:用户终端的MAC地址信息、IP地址信息、操作系统相关信息、终端是否使用双网卡、是否使用代理服务器等信息。然后将这些信息通过Portal服务器转发至网络接入设备。用户终端与Portal服务器进行交互时,使用扩展的Portal协议。网络接入设备再次将这些安全状态信息传送给认证服务器,认证服务器根据这些安全状态信息对该用户终端进行安全认证,完成增强的用户身份接入认证。安全认证通过后,用户终端与认证服务器交换用户终端安全状态信息,包括病毒库定义信息、系统补丁信息等,如果需要,还可以将用户终端与补丁服务器、防病毒软件集中管理服务器等安全产品进行联动操作,完成病毒库升级、补丁自动安装等操作。
认证服务器确认用户终端安全状态合格后,通知网络接入设备修改ACL中对应的用户表项,解除对该用户的访问权限限制。
当然,也可以通过Radius协议中Session Control(会话控制)报文的SetPolicy命令,向网络接入设备发送用户接入控制策略,网络接入设备根据该策略更改ACL中对应的用户表项,为用户开放相应的访问权限。
步骤205:使安全认证通过的用户自由访问受保护网络资源。
图3示出了本发明方法实现过程中各网络设备之间的交互流程:
1.用户终端使用任意IP报文通过网络接入设备进行网络访问;
2.网络接入设备探测到未认证的IP地址后,向用户终端发送身份认证请求消息,强制用户至Portal服务器提供的Web认证页面进行用户身份认证;
3.用户终端向Portal服务器回应包含用户名及密码的身份认证请求消息;
4.Portal服务器将收到的用户名及密码发送给网络接入设备;
5.网络接入设备将向认证服务器发出认证请求,在该认证请求消息中包含请求认证的用户名及密码;
网络接入设备和认证服务器之间可以采用Radius(远程用户拨号认证系统)协议进行通讯。Radius的基本工作原理:用户接入NAS(网络接入服务器),NAS向Radius服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Account-Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。Radius服务器和NAS服务器通过UDP(用户数据报文协议)协议进行通信,Radius服务器的1812端口负责认证,1813端口负责计费工作。
6.用户身份认证成功后,认证服务器向网络接入设备发送认证成功消息;
通过Radius协议定义的Access-Accept消息的2011-21-26属性携带安全代理的URL(统一资源标识符),通过11属性携带ACL信息,该ACL为受控ACL,其列表包含受限网络资源的IP地址或网段信息;
7.网络接入设备将认证成功消息通过Portal服务器传送给用户终端;
8.用户终端通过Portal服务器提供的链接中下载并安装安全客户端;
9.通过安全客户端由认证服务器再次对用户终端进行安全认证流程;
10.认证成功后,认证服务器向网络接入设备发送更改ACL的消息,可以通过Session Control报文中的SetPolicy命令,通知设备更改用户的ACL,解除对该用户的限制,此时的ACL一般为不受限的;
11.网络接入设备向用户终端发送认证成功消息。
由以上流程可以看出,本发明实现了在Web认证方式下,对非http/https协议访问进行强制用户身份的认证,简单、有效地解决了用户端点准入控制的认证管理、客户端分发问题。
本技术领域人员知道,传统的Portal认证方式下,用户无法验证认证服务器的合法性,因此也就对用户安全存在一定的影响。由于Portal服务允许客户端和Portal服务器直接交互,因此在本发明中,通过在客户端中预设置加密算法和加密密钥,完成客户端对Portal服务器的验证,Portal服务器身份的合法性验证可替代客户端直接对认证服务器进行身份验证,从而可以保证认证服务器的合法性,避免认证服务器欺骗攻击。
参照图4,图4示出了本发明方法第二实施例的实现流程,包括以下步骤:
步骤401:限制通过门户Portal服务器的页面Web认证上网的用户的访问权限,使其只能访问受限网络资源。
步骤402:Portal服务器在Web认证页面上为用户提供安全客户端下载功能。
步骤403:用户通过Portal服务器提供的链接将安全客户端下载安装到用户终端,在该客户端中预设非对称密钥,用于对接收的Portal服务器的报文进行解密,以验证该报文是否合法。
步骤404:用户终端使用安全客户端对Portal服务器进行合法性验证。Portal服务器所发送的报文使用预设私钥加密生成验证摘要,安全客户端使用预设的公钥实现报文摘要的验证,如果验证成功,则认为Portal服务器可信。
步骤405:当用户访问受保护网络资源时,使用安全客户端对用户终端进行安全认证。可通过安全策略服务器同安全客户端交互,检查用户终端安全状态,并根据终端安全状态确定用户网络访问权限。
步骤406:使安全认证通过的用户自由访问受保护网络资源。
在该实施例中,客户端和Portal服务器之间使用预共享非对称密钥,实现了通讯报文的合法性验证,保证了Portal服务器身份安全,从而保证了认证服务器身份的合法性。
图5示出了本发明系统的组网示意图:
该系统用于对不带802.1x客户端的用户终端的接入控制。其中,网络接入设备51、Portal服务器52和认证服务器53通过网络相连,用户终端50与网接入设备相连。
Portal服务器和网络接入设备均支持扩展的Portal协议。
为了支持向用户提供客户端下载功能,Portal服务器还提供:客户端链接端口521和客户端存储器522。其中,客户端链接端口521用于向用户提供安全客户端链接;客户端存储器522与客户端链接端口相连,用于存储客户端应用程序。
网络接入设备可以是交换机或路由器,认证服务器可以使用通常的AAA服务器。
当用户通过网络接入设备访问网络资源时,网络接入设备检查用户的身份状态,对未经过身份认证的用户,强制其至Portal服务器提供的Web认证页面进行用户身份认证;Portal服务器获取用户身份认证信息后,通过网络接入服务器将用户身份信息发送给认证服务器,由认证服务器完成对用户的身份认证。
身份认证通过后,认证服务器通知网络接入设备控制该用户只能访问受限网络资源,即隔离区54内的资源,比如补丁服务器、病毒服务器等资源。
在认证Web页面,Portal服务器通过客户端链接端口521向用户提供安全客户端下载功能,用户通过客户端链接端口521将存储在客户端存储器522中的安全客户端下载并安装到本地终端上。
客户端安装完成后,用户在访问受保护的网络资源时,网络接入设备通过安全客户端强制发起用户接入认证请求,用户终端收到该请求后,由其客户端获取用户终端的安全状态信息,包括:用户终端的MAC地址信息、终端是否使用双网卡、是否使用代理服务器等信息。然后将这些信息通过Portal服务器转发至网络接入设备。用户终端与Portal服务器进行交互时,可以使用扩展的Portal协议。网络接入设备再次将这些安全状态信息传送给认证服务器,认证服务器根据这些安全状态信息对该用户终端进行安全认证,完成增强的用户身份接入认证。
认证服务器确认用户终端安全状态合格后,通知网络接入设备解除对该用户的访问权限限制,使该用户可以访问受保护的网络资源。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。