速效勃起最好的药:AAA 及RADIUS 协议配置

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 16:19:58
   一、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 协议中的属性和属性值的含义。如下图所示:

   

    图5-1 radius 服务器的组成

    另外,radius 服务器还能够作为其他aaa 服务器的客户端进行代理认证或计费。radius 服务器支持多种方法来认证用户,如基于ppp 的pap、chap 认证、基于unix 的login 等。

    (2) radius 的基本消息交互流程

    radius 服务器对用户的认证过程通常需要利用nas 等设备的代理认证功能,radius 客户端和radius 服务器之间通过共享密钥认证相互间交互的消息,用户密码采用密文方式在网络上传输,增强了安全性。radius 协议合并了认证和授权过程,即响应报文中携带了授权信息。操作流程图和步骤如下所示:

   

    图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 报文结构如下:

   

    图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 域主要取值的说明

   

    attribute 域携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节,该域采用(type、length、value)三元组的形式提供,rfc 中定义的标准attribute域大致包括:

    表5-9 attribute 域主要取值的说明

   

    radius 协议具有良好的可扩展性,协议中定义的26 号属性(vender-specific)可以被方便地扩展以支持用户自己定义的扩展属性,报文结构如下图所示:

   

    图5-4 包括扩展属性的radius 报文片断

    (4) radius 的特点

    radius 使用udp 作为传输协议,具有良好的实时性;同时也支持重传机制和备用服务器机制,从而有较好的可靠性。radius 的实现比较简单,适用于大用户量时服务器端的多线程结构。正因为如此,radius 协议得到了广泛的应用。 重传机制的原因:如果NAS向某个RADIUS服务器提交请求没有收到返回信息,那么可以要求备份RADIUS服务器重传。由于有多个备份RADIUS服务器,因此NAS进行重传的时候,可以采用轮询的方法。如果备份RADIUS服务器的密钥和以前RADIUS服务器的密钥不同,则需要重新进行认证。    请简述RADIUS报文为何采用UDP协议传输,如何保证计费的可靠性?1. NAS和Radius服务器之间传递的是几十上百个字节长度的数据,用户对于认证等待时间要求不是很严格。
2. 当处理大量用户时服务器端采用多线程,TCP是必须成功建立连接后才能进行数据传输的,UDP简化了服务器端的实现过程,实时性好。

3. Radius要有重传机制和备用服务器机制,它所采用的定时,TCP不能很好的满足;
4. Radius依靠自身协议保证报文重传和服务器备份机制以确保计费可靠性.