测试RADIUS服务器
作者:david来源:cnw
2004-08-27 11:09:09
过去RADIUS更多地用在远程拨号接入这样的领域,但是在未来的企业网络中,RADIUS将更多被使用在以太网接入、无线局域网接入等领域。
选择好的RADIUS将变得更重要。
美国的一家实验室决定评估企业RADIUS服务器,要求参评的产品不仅支持Microsoft Active Directory和RSA Security SecureID,而且还可以连接多种客户机,即NAS(网络接入服务器)设备,如拨号服务器、VPN集中器、WLAN接入点和防火墙。
Cisco、Funk Software、IEA Software、Interlink Networks和Lucent的产品参加了这个测试。
衡量RADIUS的标准
RADIUS的性能是用户该关注的地方,比如,能接受多少请求以及能处理多少事务。
同时,遵循标准,并具备良好的与接入控制设备的互操作性是RADIUS服务器好坏的重要指标。
从测试的情况看,所有的产品都符合RADIUS规范和EAP(扩展认证协议)定义。
不过,为了发现所支持的认证机制和后端认证存储的种类,测试者进行了更深入的研究。
在互操作性方面,他们测试了这些服务器与多种RADIUS 客户机(包括接入点、VPN和拨号服务器)一起工作时的情况。
他们根据创建用户和工作组配置文件的难易程度以及配置用户专有属性的灵活性,对参评产品的配置管理评分。
安全性也是关注的重点。
测
试者希望了解服务器在和NAS设备通信的过程中是如何保证安全和完整性的。
另外RADIUS是否能够让管理员实现诸多管理安全特性和策略是非常重要的一环。
为此测试者评估了能够通过RADIUS服务器执行的不同规则,特别将重点放在按用户、用户组或角色实施的时段限制上。
测试者还留意了产品是否支持强制时间配额。
这种功能使网络管理员可以限制用户或用户组能够通过RADIUS服务器接入网络多长时间。
大多数参测的RADIUS服务器都通过ODBC或JDBC,利用SQL Server 数据库保存和访问用户配置文件。
数据库集成对于处理大量为账户和事件日志采集的数据至关重要。
假如网络管理员不能分析和报告数据的话,这些数据没有任何意义,为此他们测试了用于显示信息、显示信息的动态性以及利用信息可执行什么任务的工具。
除了上述基本特性外,测试者还对RADIUS服务器的功能进行了测试。
他们测评了服务器主动与网络管理系统合作的情况。
例如,他们评估了实现电子邮件报警的复杂性。
实现电子邮件报警在Cisco和IEA Software的服务器中十分流畅,但在一些其他设备上就没有那么轻松。
测试者还评估了证书请求工具。
请求工具可将签名的证书授予发出请求的RADIUS服务器。
具有VoIP账户功能的产品很少,只有Cisco和IEA Software的产品才提供。
测试方法
为了测试RADIUS服务器,测试者搭建了一个近乎真实的测试环境。
测试者将服务器配置为连接多台RADIUS客户机,包括一台Cisco VPN 3000集中器、一台Cisco Aironet 1100接入点和一台Proxim AP-600接入点。
他们还使用商用RADIUS测试实用工具(如NAS Simulator和Evolynx RADIUS Load Test)来模拟多个认证请求。
这些测试实用工具为测试者提供了检查服务器支持RADIUS客户机的能力和灵活性。
性能取决于服务器运行在什么平台上。
很多RADIUS服务器运行在专用的机器上,测试者可以对它们进行压力测试:生成多个会话,直至服务器的CPU利用率达到90%到95%。
将认证请求速率保持在这种水平上,让测试者可以观察到丢失的请求数量。
然后,测试者添加多位用户,而只增加一个会话,检查数据库处理用户配置文件的效率。
这时得到的结果与单用户情景的结果类似。
不过,在访问外部数据库上出现了显著差异,但是这些结果取决于RADIUS代理所连接的服务器性能。
为了模拟真实的情景,测试者让测试工具建立了5个并行会话,同时在5位有效用户和两位无效用户之间交替变换。
为了保证公平的比较,
测试者让所有的产品都使用Active Directory进行认证。
IEA的RadiusNT、Lucent的NavisRadius和Cisco的ACS平均每秒处理170次请求,而Funk的Steel-Belted Radius平均每秒处理320次请求。
Interlink的RAD-Series每秒竟然支持令人吃惊的1900次请求。
取得这种高性能主要是由于其Linux平台。
但是性能不应当成为网络管理者做出选择的惟一依据,因为平均起来看,Interlink服务器在峰值时间每秒处理不超过90到120次请求。
而测试的所有服务器都可以轻松跃过这一门槛。
测试者验证了这些服务器是否支持RFC 2865到RFC 2869(RADIUS规范)和RFC 2716(EAP规范)。
测试者还研究了服务器符合CERT Advisory CA-2002-06的情况。
CA-2002-06确定了RADIUS服务器上存在的拒绝服务安全漏洞。
最后,测试者评估了服务器能够多好地满足企业IT部门需要以及提供什么标准规范之外的特性,如嵌入式数据包检查工具、SNMP与DHCP服务器支持、数字证书获取工具、事件报警电子邮件、测试实用工具配置和VoIP支持。
RADIUS工作原理
RADIUS原先的目的是为拨号用户进行认证和计费。
后来经过多次改进,形成了一项通用的认证计费协议。
RADIUS是一种C/S结构的协议,它的客户端最初就是NAS服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。
RADIUS的基本工作原理:用户接入NAS,NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept 数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Account-Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。
RADIUS还支持代理和漫游功能。
简单地说,代理就是一台服务器,可以作为其他RADIUS服务器的代理,负责转发RADIUS认证和计费数据包。
所谓漫游功能,就是代理的一个具体实现,这样可以让用户通过本来和其无关的RADIUS服务器进行认证。
RADIUS服务器和NAS服务器通过UDP协议进行通信,RADIUS服务器的1812端口负责认证,1813端口负责计费工作。
采用UDP的基本考虑是因为NAS和RADIUS服务器大多在同一个局域网中,使用UDP更加快捷方便。
RADIUS协议还规定了重传机制。
如果NAS向某个RADIUS服务器
提交请求没有收到返回信息,那么可以要求备份RADIUS服务器重传。
由于有多个备份RADIUS服务器,因此NAS进行重传的时候,可以采用轮询的方法。
如果备份RADIUS服务器的密钥和以前RADIUS服务器的密钥不同,则需要重新进行认证。