AAA 及RADIUS 协议配置

AAA 及RADIUS 协议配置

一、aaa 及radius 协议简介
    1. aaa 的功能
    aaa 是authentication(认证)、authorization(授权)和accounting(计费)的简称。它提供对用户进行认证、授权和计费三种安全功能。具体如下:
    a、认证(authentication):认证用户是否可以获得访问权,确定哪些用户可以访问网络。
    b、授权(authorization):授权用户可以使用哪些服务。
    c、计费(accounting):记录用户使用网络资源的情况。
    aaa 一般采用客户/服务器结构,客户端运行于被管理的资源侧,服务器上则集中存放用户信息。这种结构既具有良好的可扩展性,又便于用户信息的集中管理。
计费网关主要使用aaa 中的认证功能对终端用户进行认证管理。
    2. radius 协议
(1) radius 简介
    radius 是remote authentication dial-in user service(远程认证拨号用户服务)的简称,最初由livingston enterprise 公司开发,作为一种分布式的客户机/服务器系统,能提供aaa 功能。radius 技术可以保护网络不受未授权访问的干扰,常被用在既要求较高安全性、又要求维持远程用户访问的各种网络环境中(如用来管理使用串口和调制解调器的大量分散拨号用户)。
    radius 服务包括三个组成部分:
    a、协议:rfc2865、2866 协议基于udp/ip 层定义了radius 帧格式及消息传输机制,并定义了1812 作为认证端口,1813 作为计费端口。
    b、服务器:radius 服务器运行在中心计算机或工作站上,包含了相关的用户认证和网络服务访问信息。
    c、客户端:位于拨号访问服务器nas(network access server)侧,可以遍布整个网络。
    radius 基于客户/服务器模型,nas(如路由器)作为radius 客户端,负责传输用户信息到指定的radius 服务器,然后根据从服务器返回的信息进行相应处理(如接入/挂断用户)。radius 服务器负责接收用户连接请求,认证用户,然后给nas返回所有需要的信息。
    radius 服务器通常要维护三个数据库:第一个数据库“users”用于存储用户信息(如用户名、口令以及使用的协议、ip 地址等配置),第二个数据库“clients”用于存储radius 客户端的信息(如共享密钥),第三个数据库“dictionary”存储的信息用于解释radius 协议中的属性和属性值的含义。如下图所示:
image
图5-1 radius 服务器的组成
另外,radius 服务器还能够作为其他aaa 服务器的客户端进行代理认证或计费。radius 服务器支持多种方法来认证用户,如基于ppp 的pap、chap 认证、基于unix 的login 等。
(2) radius 的基本消息交互流程
    radius 服务器对用户的认证过程通常需要利用nas 等设备的代理认证功能,radius 客户端和radius 服务器之间通过共享密钥认证相互间交互的消息,用户密码采用密文方式在网络上传输,增强了安全性。radius 协议合并了认证和授权过程,即响应报文中携带了授权信息。操作流程图和步骤如下所示:
image
图5-2 radius 的基本消息交互流程
基本交互步骤如下:
    a、用户输入用户名和口令;
    b、radius 客户端根据获取的用户名和口令,向radius 服务器发送认证请求包(access-request)。
    c、radius 服务器将该用户信息与users 数据库信息进行对比分析,如果认证成功,则将用户的权限信息以认证响应包(access-accept)发送给radius 客户端;如果认证失败,则返回access-reject 响应包。
    d、radius 客户端根据接收到的认证结果接入/拒绝用户,如果可以接入用户,则radius 客户端向radius 服务器发送计费开始请求包(accounting-request),status-type 取值为start;
    e、radius 服务器返回计费开始响应包(accounting-response);
    f、radius 客户端向radius 服务器发送计费停止请求包(accounting-request),status-type 取值为stop;
    g、radius 服务器返回计费结束响应包(accounting-response)。
(3) radius 协议的报文结构
    radius 采用udp 传输消息,通过定时器管理机制、重传机制、备用服务器机制,确保radius 服务器和客户端之间交互消息正确收发。radius 报文结构如下:
clip_image003
图5-3 radius 报文结构
其中identifier 域用于匹配请求包和响应包,随着attribute 域改变、接收到有效响应包而不断变化,而在重传时保持不变化。authenticator域(16字节)用于验证radius服务器传输回来的请求,同时用于密码隐藏算法上,分为request authenticator 和response authenticator。
    a、request authenticator 采用16 字节的随机码。
    b、response authenticator 以对code identifier、request authenticator、length、attribute 和共享密钥进行md5 算法后的结果。
由code 域决定radius 报文的类型,主要包括:
表5-8 code 域主要取值的说明
image
    attribute 域携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节,该域采用(type、length、value)三元组的形式提供,rfc 中定义的标准attribute域大致包括:
表5-9 attribute 域主要取值的说明
clip_image005
    radius 协议具有良好的可扩展性,协议中定义的26 号属性(vender-specific)可以被方便地扩展以支持用户自己定义的扩展属性,报文结构如下图所示:
clip_image006
图5-4 包括扩展属性的radius 报文片断
(4) radius 的特点
    radius 使用udp 作为传输协议,具有良好的实时性;同时也支持重传机制和备用服务器机制,从而有较好的可靠性。radius 的实现比较简单,适用于大用户量时服务器端的多线程结构。正因为如此,radius 协议得到了广泛的应用。
(5) aaa 和radius 配置
计费网关的aaa 配置包含如下三部分内容:
    a、使能aaa
    b、配置认证方案
    c、配置应用认证方案
使能aaa
只有使用了使能aaa,后才能用aaa 所提供的各种命令来对其进行配置。
请在系统视图下进行下列配置。
表5-10 使能或禁止aaa
clip_image007
缺省为禁止aaa。
    3. 配置认证方案
配置认证方案包括如下配置:
    a、配置用户认证方案
    b、配置本地优先认证
(1) 配置用户认证方案
计费网关的用户指的是login 用户,这里的login 是指通过ftp、telnet 登录到计费网关,以及通过终端服务方式(如console 口aux 口等)进入到计费网关进行配置的操作。区别于接入服务器的ppp 用户。
请在系统视图下进行下列配置。
表5-11 aaa 的login 认证方案配置
clip_image008
clip_image009
其中,method 为认证方法,可以为以下几种组合:
    a、none
    b、local
    c、radius
    d、radius none
    e、radius local
    f、template server-template-name none
    g、template server-template-name local
    ftp、terminal、ssh 不是radius 协议的标准属性取值,需要修改radius 服务器的属性,在属性login-service(标准属性15)中增加两个取值的定义:
    login-service(50)= ftp
    login-service(51) = terminal
    login-service(52) = ssh
修改后再启动radius 服务器方可。
(2) 配置aaa 的本地优先认证
本地优先认证配置是可选的,在未配置本地优先认证时,先对用户进行radius 认证。
请在系统视图、radius template 配置视图下进行下列配置。
表5-12 aaa 的本地优先认证配置
clip_image010
缺省为不使用本地优先认证。
使用本地优先认证时,对用户首先进行本地认证,如果认证失败,再使用所配置的认证方案中的方法进行认证。
    4. 应用认证方案
应用认证方案就是在用户界面视图下配置用户认证的方式,详细请参见5.2.1 配置用户认证的方式。
    5. 配置radius 服务器
如果在认证方案中选择radius 认证方法,则需要配置radius 服务器包括如下配置:
    a、配置radius 服务器模板(可选)
    b、配置radius server
    c、配置由用户指定radius server(可选)
    d、配置radius 密钥(可选)
    e、配置radius 回应超时时间(可选)
    f、配置radius 重传次数(可选)
    g、配置radius 服务器down 掉后检测恢复时间(可选)
    h、配置radius 实时计费包发送间隔时间(可选)
在系统视图和服务器模板视图下,均可以配置radius 服务器。如果要配置radius服务器模板,需要首先创建radius 服务器模板并进入radius 服务器模板视图。
    radius 服务器配置包括配置服务器地址和监听端口,以及radius 协议相关的其它属性,包括共享密匙、重传次数、超时重传的时间间隔、为ppp 用户指定认证服务器服务、器down 机后的恢复时间等等。
(1) 配置radius 服务器模板
    radius 服务器模板就是一组radius 服务器。在配置radius 服务器模板中的服务器之前,需要先创建radius 服务器模板。在创建radius 服务器模板时,如果指定的radius 服务器模板不存在,则增加一个新的radius 服务器模板,同时进入radius template 视图。在radius template 视图下可以对此radius 服务器模板配置radius 服务器及其属性。
请在系统视图下进行下列配置。
表5-13 配置radius 服务器模板
clip_image011
(2) 配置radius 服务器
进行如下操作可指定radius 服务器的地址和监听端口号,用户可以配置多个radius 服务器。系统视图下最多可以配置15 个radius 服务器,在一个radiustemplate 中最多可以配置5 个radius 服务器。
每个radius template 只能配置一个主radius 认证服务器、一个主radius 计费服务器。配置radius 主服务器时,如果radius template 中已经有主radius 服务器,则将用新配置的radius 服务器作为主服务器,原主服务器不再作为主服务器。
在没有指定主radius 服务器时,系统将根据配置时间的先后选择使用的radius服务器,当一个服务器失效后,系统会自动选择下一个服务器。
在配置了主radius 服务器后,将首选主radius 服务器实现aaa。当主radius服务器不能正常工作后,使用其他radius 服务器工作,每隔一定时间,再尝试主radius 服务器是否可以正常工作,如果发现其可以正常工作则马上恢复使用主radius 服务器。
请在系统视图、radius template 视图下进行下列配置。
表5-14 配置radius server
clip_image012
认证端口号的缺省值为1812,设置为0 表示本服务器不作为认证服务器用。
计费端口号的缺省值为1813,设置为0 表示本服务器不作为计费服务器用。
使用auth-primary 可配置radius 服务器为主认证服务器。使用acct-primary 可配置radius 服务器为主计费服务器。
(3) 配置由用户指定radius 服务器
可以由用户指定radius 服务器来对用户进行认证。
①该功能要求用户名为“userid@server”形式,其中userid 为用户名,server 为使用的radius 服务器。
②该功能要与接口上的认证方案配合使用。只有在接口上配置的认证方案的第一种方法为radius 方法,此时配置才起作用。
对用户进行认证时将试图使用由用户指定的radius 服务器,当此radius 服务器不能正常工作时再使用其他radius 服务器进行认证。
如果要恢复到不由用户指定radius 服务器,使用命令rundo radius appoint-authentication。
请在系统视图、radius template 视图下进行下列配置。
表5-15 配置由用户指定radius 服务器
clip_image013
    restricted 表示仅限使用指定的radius 服务器对用户进行认证。配置此选项后,当用户指定的radius 服务器不存在或不能工作时直接拒绝用户请求。
(4) 配置radius 密钥
密钥用于加密用户口令以及生成回应认证符(response authenticator)。
请在系统视图、radius template 视图下进行下列配置。
表5-16 配置radius 密钥
clip_image014
所配密钥要与radius 服务器中设定的密钥相同。
(5) 配置radius 回应超时时间
对于radius client(计费网关)发送出去的包,如果需要radius server 应答,则需要设置一个超时定时器,在这个设定的时间内如果没有收到radius server 的应答,则radius client 重发此报文。
请在系统视图、radius template 视图下进行下列配置。
表5-17 配置radius 回应超时时间
clip_image015
缺省radius 回应超时时间为5 秒。
(6) 配置radius 重传次数
当radius client(计费网关)向radius 服务器发出aaa 请求后,在规定的超时时限内未得到radius 服务器发回的应答时,客户端会重传aaa 请求。重传aaa请求计数超出规定最大重传次数后,认为该服务器已不能正常工作。
请在系统视图、radius template 视图下进行下列配置。
表5-18 配置radius 重传次数
clip_image016
缺省重传次数为3。
(7) 配置radius 服务器宕掉后检测恢复时间间隔
    radius client(计费网关)默认的radius 服务器down 掉后恢复的缺省时间为5分钟。
请在系统视图、radius template 视图下进行下列配置。
表5-19 配置radius 服务器down 掉后检测恢复时间
clip_image017
(8) 配置radius 实时计费包发送间隔时间
用户通过认证后,nas 以配置的间隔时间向radius 服务器发送用户的实时计费信息,如果实时计费请求失败,将根据aaa accounting-scheme optional 命令配置情况对用户进行处理,如果用户配置了aaa accounting-scheme optional,nas将允许用户继续使用网络服务,反之则nas 会将用户挂断。
缺省不使用实时计费。
请在系统视图、radius template 视图下进行下列配置。
表5-20 配置radius 实时计费包发送间隔时间
clip_image018
二、aaa 和radius 显示与调试
在完成上述配置后,在所有视图下执行display 命令可以显示配置后aaa 和radius 的运行情况,通过查看显示信息认证配置的效果。
执行debugging 命令可对aaa 和radius 进行调试。
表5-21 aaa 和radius 显示与调试
clip_image019

posted @ 2010-11-25 23:53  dzqabc  阅读(11082)  评论(1编辑  收藏  举报