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

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

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

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

2. 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所示。
    第一个数据库“Users”用于存储用户信息(如用户名、口令以及使用的协议、IP 地址等配置)。
    第二个数据库“Clients”用于存储 RADIUS 客户端的信息(如共享密钥)。
    第三个数据库“Dictionary”存储的信息用于解释 RADIUS 协议中的属性和属性值的含义。

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

image

基本交互步骤如下:

(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)  用户访问资源结束。

image

3. 配置准备
          如果采用远端认证、授权或计费方案时,需要已经创建 RADIUS 或 HWTACACS 方案。
          RADIUS方案(radius-scheme):可以通过引用配置好的RADIUS方案来实现认证、授权、计费。
   image

image

image

配置 RADIUS 协议
    RADIUS 协议配置是以 RADIUS 方案为单位进行的,  一个 RADIUS 方案在实际组网环境中既可以运用于一台独立的 RADIUS 服务器,也可以运用于两台配置相同、但IP 地址不同的主、从 RADIUS 服器。当创建一个新的 RADIUS 方案之后,需要对属于此方案的 RADIUS 服务器的 IP 地址和 UDP 端口号进行设置,这些服务器包括认证/授权和计费服务器,而每种服务器又有主服务器和从服务器的区别。每个RADIUS 方案的属性包括:主服务器的 IP 地址、从服务器的 IP 地址、共享密钥以及 RADIUS 服务器类型等。
    在实际组网环境中,上述参数的设置需要根据具体需求来决定。但是必须至少设置一个认证/授权服务器和一个计费服务器(如果不配置计费服务器,则必须配置accounting optional 命令)。同时,保证交换机上的 RADIUS 服务端口设置与RADIUS 服务器上的端口设置保持一致。

image

image

下面给大家举个案例来了解这些用法:

image

1.安装及配置过程:

在服务器2003上安装java软件包jdk-6u22-windows-i586.exe

image

安装JAVA软件都是默认安装。

然后将一个名为h3c.ini的文件导入到acs服务器中。h3c.ini的文件内容如下:

image

我将h3c.ini文件放在了D盘,将ACS v4.2安装在了C盘,具体导入过程如下:

image

image

image

导入成功。

下面是安装acs:

安装ACS-4.2.0.124-SW.exe

(2) 点ACCEPT,再点NEXT,选择四项

(3)输入数据库管理员密码

(4)安装以后会在桌面出现 ACS domain ,双击ACS domain,进行以下配置:

clip_image002

clip_image002[6]

clip_image002[8]

clip_image002[10]

增加用户:

clip_image002[12]

clip_image002[14]

clip_image002[16]

clip_image002[18]

添加服务器:

clip_image002[20]

clip_image002[22]

clip_image002[24]

clip_image002[26]

下面是在交换机上所做的配置:

System-view

Sysname sw1

Radius scheme abc

Primary authentication 192.168.100.50

Key authentication 123456

Accounting optional

Server-type standard

User-name-format without-domain

Quit

Domain zzu

Radius scheme abc

Access-list enable 10

 

以下是在pc机上做测试:

clip_image002[28]

clip_image002[30]

clip_image002[32]

以上完成了telnet验证以及级别验证。