一.为什么需要在 IPSec VPN网络中部署 XAUTH 应用
目前由于宽带接入的快速发展,广泛的中小商用企业部署IPSec VPN网络,构建远程客户端对公司中心资源访问的应用已极为普通。在部署此类远程访问的IPSec VPN应用时,通常是要设置多个客户端连接到VPN中心网络,网管人员的通常做法是为每一个用户设置不同VPN策略和预置密码用以区分每一个用户,此工作量是巨大的,管理也不方便。因此现在市场上主流的IPSec VPN网关设备提供另外一种解决方案,就是在VPN网关中只要配置一条VPN的策略,就可允许多个如高达1000个远程客户端的同时接入,然后只要对远程客户分发一个相同的策略配置就可以了。这样一来,由于所有远程客户端的VPN配置策略是相同的,对每个远程客户不再进行单独地区别,因此在提高了方便性的同时却又降低了整个网络的安全性。
这样就促使用户需要这样一种技术,就是在VPN网关设备中只需要配置一条策略,但要求每个远程客户在接入时需要提供不同的用户名和口令的身份认证,VPN网关设备可以集中管理远程用户的合法信息。这样就大大减少了网络管理人员的工作负担和保证远程客户接入的安全性,提高了企业的整体工作效率。这个技术就是融合在IPSec VPN里面的XAUTH扩展认证协议,XAUTH为这些需要区分每个用户进行身份验证的应用提供了一种身份认证机制,该机制允许VPN网关使用Radius服务器或者本地数据库记录中的用户信息对用户进行身份认证。
RADIUS (Remote Authentication Dial-In User Service, RFC 2865) 是一个管理网络里多个用户的验证,授权,计费(AAA)的协议。RADIUS服务器在数据库里存储有效的用户信息,并能给要求访问网络资源的合法用户授权。
下图是个典型的远程客户到中心VPN网关的应用XAUTH的说明:
图1:XAUTH和RADIUS使用范例
图1中当远程客户端开始一个VPN连接的请求的时候,VPN网关通过XAUTH(扩展验证)强行中断VPN协商的过程,并要求客户端必须输入合法的用户名的密码进行验证,网关在接收到来自客户端提供的用户名和密码之后首先在本地数据库校验信息是否合法,如果在本地数据库找不到相对应的用户名,则将信息转发到RADIUS服务器进行校验,如果判断为合法,则继续VPN的协商过程并且在连结成功后为远程客户端分配IP地址,如果用户不合法,则中断VPN连接。
由于XAUTH结合RADIUS给依赖于大量使用VPN技术的商业用户带来了前所未有的安全性和方便的管理特性,因而国际很多知名的VPN设备开发商,比如象Cisco,Checkpoint, Netgear公司等,在他们的产品中都开始支持XAUTH。二.企业实际应用配置举例
我司因实际应用需要,采购了美国网件NETGEAR公司的Prosafe VPN Firewall FVX538和FVS338以购建公司内部的VPN网络,全网以广州的FVX538为中心,申请固定的IP地址和10M的专线,分支机构分布在上海和北京,采用中国网通的ADSL接入,无需固定的IP地址。在总部和分支获得稳定的VPN连接的基础上,还需要增加大概100个用户左右的客户端VPN通道,以方便移动客户访问公司内部的数据库。由于管理的用户众多,而且用户的流通性非常大,常常需要更新用户资料,而采用传统的VPN客户管理方式,老用户的资料既不能轻易修改,同时每当有新用户加入时都要单独在VPN设备里配置新的VPN策略,从而给系统的维护带来了极大的困难。经过再三的论证以后,最后决定采用支持XAUTH技术的高性价比的FVX538来解决该问题。系统建成后,全网稳定运行半年多,由于其稳定的性能和出色的维护办法因而深受公司使用者的好评。现以我司的VPN接入方案为例子,介绍在美国网件公司(Netgear)的Prosafe VPN Firewall FVX538 上如何实现采用XAUTH验证技术的远程客户端的接入和管理。
2.1 产品软件版本
为了获得稳定的XAUTH支持,建议先把FVS538的软件版本升级到1.6.38以上。我司的FVX538目前稳定运行在该版本上,本文章的相关参数设置都以该软件版本为基础。而客户端软件则选用FVX538光盘上配套的Prosafe VPN客户端软件(客户端软件版本10.5.1 (Build 8))。
2.2 选择合适的Radius服务
NETGEAR ProSafe VPN Firewall FVX538支持多数标准的免费/商业发布的RADIUS服务程序,比如:
•FreeRADIUS, 一个开放的LINUX原代码程序
•Microsoft Windows IAS
•Funk Software Steel-Belted RADIUS
所有的RADIUS Server的配置信息均可以参考厂家提供的标准配置文档,本文不再详细介绍每一种RADIUS的配置办法,。
2.3 VPN防火墙FVX538的XAUTH配置
(1)设置VPN防火墙的XAUTH模式
在配置VPN的IKE策略的时候,选择要求使用XAUTH验证,则可以启用VPN的XAUTH功能。我们在配置该IKE策略的XAUTH的时候,系统会提供两种模式给用户选择。如下:
•IPsec Host — 作为客户端,在连接到中心时需要提供用户名和密码
•Edge Device — 作为服务器端(中心),要求客户端必须进行口令验证。
当VPN防火墙定义为IPsec Host的时候,在建立VPN连接的时候,设备会给服务器端提供用户名和密码信息。
当VPN防火墙定义为Edge device模式的时候,VPN网关则要求客户端必须输入合法的用户名的密码进行验证,网关在接收到来自客户端提供的用户名和密码之后首先在本地数据库校验信息是否合法,如果在本地数据库找不到相对应的用户名,则将信息转发到RADIUS服务器进行校验,如果判断为合法,则继续VPN的协商过程,如果用户不合法,则中断VPN连接。
具体设置如下:
1.进入IKE Policies选项并点击 Edit按钮进入IKE Policies编辑页面
2.在 X AUTHENTICATION 项目下面, 选择Edge Device.
3.在Authentication Type下选择Generic使用PAP协议, 否则选择CHAP以使用CHAP协议. 如果你打算使用RADIUS,则您必须在RADIUS上设置相对应的验证协议。通常PAP 协议简单实用,而CHAP则更为安全。
4.点击应用使配置生效。
1.下一步,设置您的VPN防火墙是通过本地数据库验证还是通过扩展的RADIUS 服务器验证。防火墙首在User Database里面定义的本地数据库的用户名和密码信息进行验证,如果找不到匹配的条件,则转交到在RADIUS Clien项目里定义的RADIUS服务器来验证。(2)配置VPN防火强使用本地数据库进行验证
即使你没有配置RADIUS服务器,你仍然可以使用VPN防火墙自带的用户数据库实现用户验证功能。在使用该功能之前,你必须在User Database项目下面配置用户信息,如下:
1.在User Database项目下面点击 add按钮。
2.在User Name和Password里分别填写相应的信息。
3.点击Apply按钮即可起用本地数据库。
(3)配置防火墙使用RADIUS服务器进行验证
在Radius Client项目里面,可以定义一个主的RADIUS服务器和备份的RADIUS服务器。防火墙首先和主的RADIUS服务器联系,如果主的RADIUS服务器没有响应,则转到备份的RADIUS服务器上。
在Primary和Backup Server里面的设置介绍如下:
•Server Address — RADIUS的IP地址.
•Auth port — RADIUS服务器的验证端口号,RADIUS客户端会使用该端口和RADIUS服务器通讯,在大部情况下,默认的端口号都不应该修改。
•Acct port — RADIUS的计费端口号。在大多数情况下默认的端口号不需要修改。
•Secret Phrase— RADIUS客户端和服务器之间的通讯密钥。该密钥必须在服器端和客户端单独配置,并要求相互一致。
•NAS Identifier —防火墙充当NAS(网络访问服务)角色,允许合法的外部用户访问网络。在一个RADIUS会话里面,NAS必须递交NAS身份标识到RADIUS服务器,在该例子里NAS的身份标识可以是防火墙的IP地址或有效的用户名,在某些应用场合里,RADIUS服务器有可能要求NAS提供有效的用户名,而我们则可以在该处填写合法的用户名提交到RADIUS服务器进行验证。然而在大多数场合下面,RADIUS服务器并不要求NAS提供用户名。
点击 Apply保存配置
注意:在试验中我们采用WINDOWS 的IAS作为RADIUS服务器,NAS身份标识不需要在IAS里面配置,同时在IKE策略里的Authentication Type 应该选择Generic (PAP)的方式。
2.4 IPSec VPN 客户端软件XAUTH的配置
在此之前,你必须在不需要XAUTH的情况下,配置好VPN客户端。测试到VPN防火墙的连接通过后,在配置里面添加相应的XAUTH选项即可:
1.点击Authentication选择Proposal 1. 选择和在VPN防火墙的IKE策略里匹配的各项参数。
2.在Authentication Method, 选择Pre-Shared Key; Extended Authentication.
3.点击 floppy disk图标以保存配置
2.5测试连接
1.在WINDOWS工具栏里右键点击VPN client图标选择My Connections \.
1.几秒钟后将出现登陆页面。
2.输入正确的用户名和密码信息后,客户端软件会显示 "Successfully connected to My Connections\"的信息
3.从安装客户端软件的PC上PING对方局域网内的主机,可以PING通
4.遇到故障的时候,可以参考VPN客户端软件里的VPN日志以排除故障。