IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

无线VPN组网技术全面解析(5)

2007年07月28日
天极Yesky/佚名

五、Radius原理及其应用

Radius是Remote Authentication Dial In User Service的简称,即远程验证拨入用户服务。当用户想要通过某个网络(如电话网)与NAS(网络接入服务器)建立连接从而获得访问其它网络的权力时,NAS可以选择在NAS上进行本地认证计费,或把用户信息传递给RADIUS服务器,由Radius进行认证计费。RADIUS协议规定了NAS与RADIUS服务器之间如何传递用户信息和记账信息,RAD工US服务器负责接收用户的连接请求,完成验证,并把传递服务给用户所需的配置信息返回给NAS。

用户要求得到某些服务(如SLIP, PPP, telnet),必须通过NAS,由NAS依据某种顺序与所连服务器通信从而进行验证。用户通过拨号进入NAS,然后NAS按配置好的验证方式(如PPP PAP, CHAP等)要求输入用户名,密码等信息,用户端出现提示,用户按提示输入。通过与NAS的连接,NAS得到这些信息。而后,NAS把这些信息传递给响应验证或记账的服务器,并根据服务器的响应来决定用户是否可以获得他所要求的服务。AAA是鉴别,授权和记账(Authentication, Authorization, Accounting)的简称,它是运行于NAS上的客户端程序,提供了一个用来对鉴别,授权和记账这三种安全功能进行配置的一致的框架。AAA的配置实际上是对网络安全的一种管理,这里的网络安全主要指访问控制,包括哪些用户可以访问网络服务器,具有访问权的用户可以得到哪些服务,如何对正在使用网络资源的用户进行记账。下面简单介绍一下鉴别,授权,记账的作用。

鉴别(Authentication):鉴别用户是否可以获得访问权,可以选择使用RADIUS协议。

授权(Authorization):授权用户可以使用哪些服务。

记账(Accounting) :记录用户使用网络资源的情况。

AAA的实现可采用RADIUS协议。RADIUS是Remote Authentication Dial工n User Service的简称,用来管理使用串口和调制解调器的大量分散用户。网络接入服务器NAS(Network Access Server),当用户想要通过某个网络(如电话网)与NAS建立连接从而获得访问其他网络的权利(或取得使用某些网络资源的权利)时,NAS起到了过问用户(或这个连接)的作用。NAS负责把用户的鉴别,授权,记账信息传递给RAD工US服务器。RAD工US协议规定了NAS与RAD工US服务器之间如何传递用户信息和记账信息,即两者之间的通信规则。RAD工US服务器负责接收用户的连接请求,完成鉴别,并把传递服务给用户所需的配置信息返回给NAS。用户获得授权后,在其正常上线、在线和下线过程中,Radius服务器完成对用户账号计费的功能。

RADIUS协议的认证端口号为1812或1645,计费端口号为1813或1646a一个网络允许外部用户通过公用网对其进行访问,从而用户在地理上可以极为分散。大量分散用户通过Modem等设备从不同的地方可以对这个网络进行随机访问。用户可以把自己的信息传递给这个网络,也可以从这个网络得到自己想要的信息。由于存在内外的双向数据流动,网络安全就成为很重要的问题了。大量的modem形成了Modem pools。对modem pool的管理就成为网络接入服务器或路由器的任务。管理的内容有:哪些用户可以获得访问权,获得访问权的用户可以允许使用哪些服务,如何对使用网络资源的用户进行记费。AAA很好地完成了这三项任务。

RADIUS通过建立一个唯一的用户数据库,存储用户名,用户的密码来进行鉴别、存储传递给用户的服务类型以及相应的配置信息来完成授权。RADIUS采用客户/服务器(Client/Server)结构:NAS上运行的AAA程序对用户来讲为服务器端,对RADIUS服务器来讲是作为客户端。RADIUS的客户端通常运行于接入服务器(NAS)上,RADIUS服务器通常运行于一台工作站上,一个RADIUS服务器可以同时支持多个RADIUS客户(NAS )。RADIUS的服务器上存放着大量的信息,接入服务器(NAS)无须保存这些信息,而是通过RADUIS协议对这些信息进行访问。这些信息的集中统一的保存,使得管理更加方便,而且更加安全。RADIUS服务器可以作为一个代理,以客户的身份同其他的RADIUS服务器或者其他类型的鉴别服务器进行通信。例如用户的漫游通常就是通过RADIUS代理实现的CHAP鉴别:当用户请求上网时,NAS产生一个16字节的随机码给用户(同时还有一个ID号,本地路由器的host name),用户端得到这个包后使用自己独有的设备或软件对传来的各域进行加密,生成一个Secret Password传给NAS}NAS把传回来的CHAP ID和Secret Password分别作为用户名和密码,并把原来的16字节随机码传给RADIUS服务器,RADIUS根据用户名在服务器端查找数据库,得到和用户端进行加密所用的一样的密码,然后根据传来的16字节的随机码进行加密,将结果与传来的Password作比较,如果相同表明验证通过,如果不相同表明验证失败。如果验证成功,RADIUS服务器还可以生成一个16字节的随机码对用户进行挑战询问。

RADIUS采用UDPoNAS和RAD工US服务器之间传递的是一般几十上百个字节长度的数据,并且RADIUS要求特别的定时器管理机制。用户可以容忍几十秒的验证等待时间。当处理大量用户时服务器端采用多线程,UDP简化了服务器端的实现过程。TCP是必须成功建立连接后才能进行数据传输的,这种方式在有大量用户使用的情况下实时性不好。RADIUS要有重传机制和备用服务器机制,它所采用的定时,TCP不能很好的满足。

RADIUS协议具有很好的扩展性。RADIUS包是由包头和一定数目的属性(Attribute)构成的。新属性的增加不会影响到现有协议的实现。通常的NAS厂家在生产NAS时,还同时开发与之配套的RAD工US服务器。为了提供一些功能,常常要定义一些非标准的(RFC上没有定义过的)属性。

发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

今天你还被“蹭”么?浅谈无线网安全防护
今天你还被“蹭”么?浅谈无线网安全防护曾几何时,一种USB接口的WiFi无线网卡被众多网友熟知和热捧,主要是因为它不仅具...
美国试点超级无线网络 覆盖范围达数公里
美国试点超级无线网络 覆盖范围达数公里无线WiFi网络已经进入普通网民的生活,优点是能够实现多台电脑或者手机同时上网,...

本类热点