BRAS技术与认证
RADIUS服务器对域下的用户进行认证、授权和计费,而不使用路由器对用户的上下线进行管理。如图所示。
接入用户接入路由器服务器Internet
使用AAA解决多用户接入的优点
? ? ?
路由器上的压力减轻,不需要建立一个较大的数据库,更加专注于报文的转发。 支持的用户数量较多,同时用户的请求能够得到实时的响应。 用户的安全性得到了较大的保障。
5.1.2 AAA的基本构架
AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称。它提供对用户进行认证、授权和计费三种安全功能。具体如下:
? ? ?
认证(Authentication):验证用户是否可以获得访问权,确定哪些用户可以访问网络。 授权(Authorization):授权用户可以使用哪些服务。 计费(Accounting):记录用户使用网络资源的情况。
AAA通常采用“客户端—服务器”结构。这种结构既具有良好的可扩展性,又便于用户信息的集中管理。如图所示。
AAA的基本构架示意图
AAA的客户端-服务器结构接入的用户接入路由器服务器Internet
35
BRAS技术与认证
5.1.3 AAA的基本概念 AAA支持以下认证方式:
? ?
不认证:对用户非常信任,不对其进行合法检查,一般情况下不采用这种方式。
本地认证:将用户信息(包括本地用户的用户名、密码和各种属性)配臵在宽带接入服务器 远端认证:将用户信息(包括本地用户的用户名、密码和各种属性)配臵在认证服务器上。
上。本地认证的优点是速度快,可以为运营降低成本;缺点是存储信息量受设备硬件条件限制。
?
支持通过RADIUS(Remote Authentication Dial In User Service)协议进行远端认证,由宽带接入服务器NAS(Network Access Server)做为客户端,与RADIUS服务器通信。对于RADIUS协议,可以采用标准RADIUS协议,与iTELLIN/CAMS(Comprehensive Access Management Server)等设备配合完成认证。 AAA支持以下授权方式:
? ? ? ? ?
不授权:不对用户进行授权处理。
直接授权:对用户非常信任,直接授权通过。
本地授权:根据宽带接入服务器上为本地用户帐号配臵的相关属性进行授权。 TACACS授权:由TACACS服务器对用户进行授权。
if-authenticated授权:如果用户通过了认证,而且使用的认证模式不是不认证,则用户授 RADIUS认证成功后授权:RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS
权通过。
?
进行授权。
AAA支持以下计费方式:
? ?
不计费:不对用户计费。
本地计费:本地计费主要实现对用户话单的备份和管理,是对远端计费的一种保护性措施, 远端计费:支持通过RADIUS服务器或HWTACACS服务器进行远端计费。
本地和远端同时计费:支持同时向本地和RADIUS服务器发送计费报文,或同时向本地和
也可以代替远端服务器在本地实现对用户的计费功能。
? ?
TACACS服务器发送计费报文。采用本地和远端同时计费可以提高计费的可靠性。 5.2 RADIUS协议简介
5.2.1 RADIUS协议的概述
AAA可以用多种协议来实现,最常用的是RADIUS协议。RADIUS最初用来管理使用串口和调制解调器的大量分散用户,后来广泛应用于网络接入服务器NAS(Network Access Server)系统。 当用户想要通过某个网络(如电话网络)与NAS建立连接从而取得访问其他网络的权利或取得使用某些网络资源的权利时,NAS起到了认证用户或对应连接的作用。
NAS负责把用户的认证、授权和计费信息传递给RADIUS服务器。RADIUS协议规定了NAS与RADIUS服务器之间如何传递用户信息和计费信息。RADIUS服务器负责接收用户的连接请求,完成认证,并把用户所需的配臵信息返回给NAS。
36
BRAS技术与认证
NAS和RADIUS之间的验证信息的传递是通过密钥的参与来完成的,以避免用户的密码在不安全的网络上传输时被窃取。
RADIUS的消息结构如图所示。
0-1-2-3-4-5-6-7-0-1-2-3-4-5-6-7-0-1-2-3-4-5-6-7-0-1-2-3-4-5-6-7123456AttributeAuthenticatorCodeIdentifierLength 各字段的说明如下:
? ? ? ? ?
Code:指示消息类型,如接入请求、接入允许、计费请求等。 Identifier:一般是顺序递增的数字,用于匹配请求包和回应包。 Length:所有域的总长度。
Authenticator:验证字,用于验证RADIUS的合法性。 Attribute:消息的内容主体,主要是用户相关的各种属性。
5.2.2使用RADIUS协议对用户进行认证、计费的流程
RADIUS通过建立一个唯一的用户数据库,存储用户名、密码来对用户进行验证。RADIUS客户端与服务器间的大概消息流程如图所示。
User name(1)password(2)RequestResponse(3)用户? ?
接入服务器RADIUS服务器
用户登录路由器或接入服务器等网络设备时,会将用户名和密码发送给该网络设备; 该网络设备中的RADIUS客户端(路由器或接入服务器)接收用户名和密码,并向RADIUS服 RADIUS服务器接收到合法的请求后,完成认证,并把所需的用户授权信息返回给客户端。
务器发送认证请求;
?
客户端和RADIUS服务器之间的认证信息经过加密以后才在网络上传递,以避免用户信息在不安全的网络上被窃取。
计费的消息流程和认证/授权的消息流程类似。 5.2.3 RADIUS协议的特性
RADIUS使用UDP(User Datagram Protocol)作为传输协议,具有良好的实时性;同时也支持重传机制和备用服务器机制,从而具有较好的可靠性。RADIUS的实现比较简单,适用于大用户量时服务器端的多线程结构。宽带接入服务器作为RADIUS协议的客户端,实现以下功能:
?
标准RADIUS协议及扩充属性,包括RFC2865、RFC2866。
37
BRAS技术与认证
? ?
扩展的RADIUS+1.1协议。
对RADIUS服务器状态的主动探测功能:收到AAA的认证或计费消息后,如果当前服务器的状
态为DOWN,启动服务器探测处理,将消息转换为报文后向当前服务器发送,该报文作为服务器的探测报文,如果收到RADIUS服务器的回应,则认为该服务器重新可用。
?
计费结束报文的本地缓存重传功能:计费结束报文在重传发送失败次数超过配臵次数后,将
计费结束报文保存到计费结束报文缓存队列;系统定时器周期扫描该队列,如果存在计费结束缓存报文,则取出报文内容,向指定的服务器发送并启动定时器等待,如果发送失败或在超时时间内没有收到服务器回应,则重新入缓存队列。
?
RADIUS服务器的自动切换功能:如果当前发送的服务器的状态为不可发送,或者发送次数超
过当前服务器的最大重传次数,则需要在配臵的服务器组中选择另外的服务器发送报文。 5.3基于域的用户管理
5.3.1基于域的用户管理概述
在目前AAA的实现中,所有用户都属于某个域。用户属于哪个域是由用户名中带的“@”后的字符串来决定的,比如“user@hua”,就属于“hua”域;如果用户名中没有带“@”,就属于系统缺省的default域。除了系统缺省的default域外,AAA允许用户最多创建254个域。 5.3.2路由器对接入用户的管理
路由器通过域来进行用户管理,域下可以进行缺省授权配臵、RADIUS/TACACS模板配臵、认证和计费方案的配臵等。所有对于接入用户的认证、授权、计费都是在域视图下应用认证方案、授权方案、计费方案来实现的,在AAA视图下分别预先配臵相应的认证模式、授权模式、计费模式。AAA有缺省的认证方案、授权方案、计费方案,分别采用本地认证、本地授权、不计费。如果新创建一个域,没有在域下应用认证方案、授权方案、计费方案,那么AAA对该域将采用缺省的认证方案、授权方案和计费方案。此外,如果要对用户采用RADIUS/TACACS方案,必须预先在系统视图下配臵RADIUS/TACACS服务器模板,然后在用户所属域的视图下应用该服务器模板。当域和域下的用户同时配臵了某一属性时,基于用户的配臵优先级高于域的配臵优先级。域下配臵的授权信息较AAA服务器的授权信息优先级低,即,优先使用AAA服务器下发的授权属性,在AAA服务器无该项授权或不支持该项授权时,域的授权属性生效。这样处理的优点是:可以凭借域管理灵活增加业务,而不必受限于AAA服务器提供的属性。 5.3.3 AAA对PPP用户的地址分配原则
采用PPP方式接入的用户,可以利用PPP地址协商功能从宽带接入服务器获得本端接口的IP地址。在宽带接入服务器上,AAA对PPP用户的地址分配原则如下:
? ? ? ?
对于不认证的用户:
如果接口下配臵为对端分配IP地址,直接把该地址分配给对端。
如果接口下配臵从地址池中为对端分配地址,则从指定的全局地址池中为对端分配地址。 对于认证通过的default域用户(包括两种:不加@的,如“aaa”;用户名后加@default,
38
BRAS技术与认证
如“aaa@default”)
? ? ?
如果服务器下发了IP地址,则直接把该地址分配给对端。
如果服务器下发了地址池号,则用该地址池号通过域地址池或者全局地址池给对端分配地址。 在服务器既没有下发IP地址,也没有下发地址池号的情况下,如果接口下配臵了给对端的IP
地址,直接把该地址分配给对端。如果接口下配臵了从地址池中为对端分配地址,则从指定的全局地址池中为对端分配地址。
? ? ? ?
对于认证通过的普通域用户
如果服务器下发了IP地址,直接把该地址分配给对端。
如果服务器下发了地址池号,则用该地址池号通过域地址池给对端分配地址。
在服务器既没有下发IP地址,也没有下发地址池号的情况下,如果接口下配臵了给对端的IP
地址,直接把该地址分配给对端。
以上从地址池中分配地址的情况,如果指定全局地址池中的地址分配完毕,则从第一个配臵的全局地址池开始遍历分配地址。如果指定域地址池中的地址分配完毕,则先从该域第一个配臵的地址池开始遍历。如果域地址池用完,则从全局开始遍历分配。
在配臵地址池的时候,XXX.255.255.255、XXX.XXX.255.255、XXX.XXX.XXX.255以及XXX.0.0.0、XXX.XXX.0.0、XXX.XXX.XXX.0这些地址都不能够作为合法的地址池起始、结束地址。如果地址池里面含有这些地址,这些地址也不会被分配。
说明
IP地址协商的配臵需要在客户端与服务器端分别进行。 5.4 AAA及用户管理的应用
5.4.1使用RADIUS对接入用户进行管理
接入用户ARADIUS主服务器RADIUS备服务器接入用户BInternet路由器接入用户C 使用RADIUS对接入用户进行管理,如图所示。用户A、B、C都属于某个域下的用户,通过路由器接入Internet。路由器根据用户所属的域,选择具体的RADIUS服务器对其进行认证,如果
39
BRAS技术与认证
认证通过,用户就可以访问Internet。
40