AAA 简介

AAA是Authentication,Authorization and Accounting(认证、授权和计费)的简
称,它提供了一个对认证、授权和计费这三种安全功能进行配置的一致性框架,实
际上是对网络安全的一种管理。
这里的网络安全主要是指访问控制,包括: 
1  哪些用户可以访问网络服务器。 
2   具有访问权的用户可以得到哪些服务。 
3   如何对正在使用网络资源的用户进行计费。
针对以上问题,AAA必须提供认证功能、授权功能和计费功能。

 

 

认证功能

AAA支持以下认证方式:
z   不认证:对用户非常信任,不对其进行合法检查。一般情况下不采用这种方式。
z   本地认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在设
备上。本地认证的优点是速度快,可以降低运营成本;缺点是存储信息量受设
备硬件条件限制。
z   远端认证:支持通过RADIUS 协议或HWTACACS 协议进行远端认证,设备
(如Quidway 系列交换机)作为客户端,与RADIUS 服务器或TACACS服务
器通信。对于RADIUS 协议,可以采用标准或扩展的RADIUS 协议。

 

授权功能

AAA支持以下授权方式:
z   直接授权:对用户非常信任,直接授权通过。
z   本地授权:根据设备上为本地用户帐号配置的相关属性进行授权。
z   RADIUS 认证成功后授权:RADIUS 协议的认证和授权是绑定在一起的,不能
单独使用RADIUS 进行授权。
z   HWTACACS 授权:由TACACS服务器对用户进行授权。

 

计费功能

AAA支持以下计费方式:
z   不计费:不对用户计费。
z   远端计费:支持通过RADIUS 服务器或TACACS服务器进行远端计费。
AAA一般采用客户端/ 服务器结构:客户端运行于被管理的资源侧,服务器上集中存
放用户信息。因此,AAA框架具有良好的可扩展性,并且容易实现用户信息的集中
管理。

 

 

ISP 域简介

ISP 域即 ISP 用户群,一个 ISP 域是由属于同一个 ISP 的用户构成的用户群。
在“userid@isp-name ”形式的用户名中,“@”后的“isp-name”即为ISP 域的
域名。接入设备将“userid ”作为用于身份认证的用户名,将“isp-name”作为域
名。
在多ISP 的应用环境中,同一个接入设备接入的有可能是不同 ISP 的用户。由于各
ISP 用户的用户属性(例如用户名及密码构成、服务类型/ 权限等)有可能各不相同,
因此有必要通过设置ISP 域的方法把它们区别开。
在ISP 域视图下,可以为每个 ISP 域配置包括使用的AAA策略(使用的RADIUS
方案等)在内的一整套单独的ISP 域属性。

 

RADIUS 协议简介

    

      AAA是一种管理框架,因此,它可以用多种协议来实现。在实践中,人们最常使用

RADIUS 协议来实现AAA 。

1. 什么是RADIUS

RADIUS (Remote Authentication Dial-In User Service ,远程认证拨号用户服务)
是一种分布式的、客户端/ 服务器结构的信息交互协议,能保护网络不受未授权访问
的干扰,常被应用在既要求较高安全性,又要求维持远程用户访问的各种网络环境
中。

RADIUS 服务包括三个组成部分: 

  协议:RFC 2865和RFC 2866基于UDP/IP层定义了 RADIUS 帧格式及其消
息传输机制,并定义了1812作为认证端口,1813作为计费端口。 
  服务器:RADIUS 服务器运行在中心计算机或工作站上,包含了相关的用户认
证和网络服务访问信息。 
  客户端:位于拨号访问服务器设备侧,可以遍布整个网络。

 

RADIUS 基于客户端/ 服务器模型。交换机作为 RADIUS 客户端,负责传输用户信息

到指定的RADIUS 服务器,然后根据从服务器返回的信息对用户进行相应处理(如
接入/ 挂断用户)。RADIUS 服务器负责接收用户连接请求,认证用户,然后给交换
机返回所有需要的信息。
RADIUS 服务器通常要维护三个数据库,如图1-1所示。
z   第一个数据库“Users”用于存储用户信息(如用户名、口令以及使用的协议、
IP 地址等配置)。
z   第二个数据库“Clients”用于存储RADIUS 客户端的信息(如共享密钥)。
z   第三个数据库“Dictionary”存储的信息用于解释RADIUS 协议中的属性和属
性值的含义。

 

 

 

另外,RADIUS 服务器还能够作为其他AAA 服务器的客户端进行代理认证或计费。

2. RADIUS 的基本消息交互流程

RADIUS 客户端(交换机)和RADIUS 服务器之间通过共享密钥来认证交互的消息,
增强了安全性。RADIUS 协议合并了认证和授权过程,即响应报文中携带了授权信
息。用户、交换机、RADIUS 服务器之间的交互流程如图1-2所示。

 

 

基本交互步骤如下:

(1)  用户输入用户名和口令。
(2) RADIUS 客户端根据获取的用户名和口令,向RADIUS 服务器发送认证请求
包(Access-Request)。
(3) RADIUS 服务器将该用户信息与Users 数据库信息进行对比分析,如果认证成
功,则将用户的权限信息以认证响应包(Access-Accept)发送给 RADIUS 客
户端;如果认证失败,则返回Access-Reject响应包。
(4) RADIUS 客户端根据接收到的认证结果接入/ 拒绝用户。如果可以接入用户,
则RADIUS 客户端向RADIUS 服务器发送计费开始请求包
(Accounting-Request ),Status-Type取值为start 。
(5) RADIUS 服务器返回计费开始响应包(Accounting-Response )。
(6)  用户开始访问资源。
(7) RADIUS 客户端向 RADIUS 服务器发送计费停止请求包
(Accounting-Request ),Status-Type取值为stop 。
(8) RADIUS 服务器返回计费结束响应包(Accounting-Response )。
(9)  用户访问资源结束。

 

AAA&RADIUS 协议典型配置举例 

 

Telnet/SSH 用户通过RADIUS 服务器认证的应用配置

       说明:
SSH用户和Telnet 用户通过RADIUS 服务器进行认证的配置方法类似,下面的描
述以Telnet 用户的远端认证为例。
1. 组网需求
在图1-7所示的环境中,需要通过配置交换机实现RADIUS 服务器对登录交换机的
Telnet 用户进行认证。 
   一台RADIUS 服务器(担当认证 RADIUS 服务器的职责)与交换机相连,服
务器IP 地址为 10.110.91.164; 
   设置交换机与认证RADIUS 服务器交互报文时的共享密钥为“expert ”。
RADIUS 服务器可使用CAMS 服务器。使用第三方 RADIUS 服务器时,RADIUS 方
案中的server-type 可以选择standard 类型或huawei类型。 
   在RADIUS 服务器上设置与交换机交互报文时的共享密钥为“expert ”; 
   设置验证的端口号; 
   添加Telnet 用户名及登录密码。
如果RADIUS 方案中设置交换机不从用户名中去除用户域名而是一起传给RADIUS
服务器,RADIUS 服务器上添加的Telnet 用户名应为“userid @isp-name”形式。