用户级别切换认证技术白皮书

用户级别切换认证技术白皮书

关键词:级别切换认证,RADIUSHWTACACS

    要:本文主要介绍用户级别切换认证的产生背景、认证机制及其典型组网应用。

缩略语:

缩略语

英文全名

中文解释

AAA

Authentication, Authorization, Accounting

认证、授权、计费

RADIUS

Remote Authentication Dial-In User Service

远程认证拨号用户服务

HWTACACS

HW Terminal Access Controller Access Control System

HW终端访问控制器控制系统协议

 

 



概述

1.1  产生背景

为了限制不同用户对设备的访问权限,系统对用户进行了分级管理。用户的级别与命令级别对应,不同级别的用户登录设备后,只能使用等于或低于自己级别的命令。但在有些情况下,用户需要在不退出当前登录、不断开当前连接的前提下,修改自身的用户级别。例如,管理员通常以较低级别的用户身份登录设备、查看设备运行状态,当需要进行配置、维护类操作时,就希望临时切换到较高的级别。

用户级别切换功能就可以满足以上需求,该功能允许登录设备的用户通过执行super命令从当前的级别切换到指定的级别。级别切换后用户不需要重新登录,可以继续配置设备,只是可以执行的命令会不一样。且切换后的级别是临时的,只对当前登录生效,用户重新登录后,又会恢复到原有级别。

当使用super命令从高级别往低级别或相同级别间切换时,由于用户的访问权限并未增加,因此切换行为不需要通过任何认证;而从低级别往高级别切换时,相当于用户请求增加访问权限,因此系统需要对这种级别提升行为进行认证,只有认证通过,才赋予该用户新的访问权限。

目前,设备上支持两种基本的级别切换认证方案:

l              本地级别切换认证

l              远程AAA级别切换认证

此外,为增加配置的灵活性,设备还提供了以下两种组合认证方案:

l              远程AAA级别切换认证无响应的情况下转本地级别切换认证

l              本地级别切换密码没有设置时转远程AAA级别切换认证

1. 本地级别切换认证

本地级别切换是指使用一个本地配置的密码对级别切换行为进行认证。对于要切换到某一个级别的行为,所有用户均使用同一个密码。如下所示,任何登录到设备上的用户,要切换到3级别时,只需要正确输入一个该设备上预先设置的本地级别切换密码就可以。

<Device> super 3

 Password: <——此处输入本地级别切换密码

User privilege level is 3, and only those commands can be used

whose level is equal or less than this.

Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE

2. 远程AAA级别切换认证

远程AAA级别切换认证是指使用远程AAA服务器(RADIUS服务器或HWTACACS服务器)对级别切换行为进行认证。例如,某网络管理部门的所有维护人员均使用RADIUS认证登录设备,且登录后的访问级别为0级(visit级别),所有人员都可以执行一些具备网络诊断功能的基本操作(例如ping),但只有该部门的管理员可以利用super命令提升自身的用户级别。管理员利用super命令改变自身级别时,可以通过RADIUS进行级别切换认证,认证通过后,才能将自身的用户级别提升至更高级别(13)。

如下所示,要切换到3级别时,需要正确输入用户名和对应的级别切换密码。

<Device> super 3

 Username:olive@abc

 Password: <——此处输入对应的级别切换密码

User privilege level is 3, and only those commands can be used

whose level is equal or less than this.

Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE

1.2  技术优点

本地级别切换认证方式具有配置简单、易用的优点,但在也存在以下问题:

l              无法对级别切换的操作者进行身份区分,任何拥有本地切换密码的用户都可以使用相同的切换密码来提升自身的级别。

l              本地密码在存储及管理方面都有一定的局限性,且容易产生安全隐患。

相比较而言,远程AAA级别切换认证需要部署相应的AAA服务器来配合,用户信息的管理与维护上比本地级别切换稍显复杂,但它具有如下优点:

l              可提升用户级别切换的安全性

通过使用远程AAA级别切换认证提升了级别切换的安全性。用户进行级别切换操作时使用相应的级别切换用户名和密码在远程AAARADIUSHWTACACS)服务器上进行身份认证,不同的用户可拥有不同的级别切换权限。

l              可提高设备管理的灵活性

通过与本地级别切换认证组合使用,增强了认证的可靠性,提高了设备管理的灵活性。

技术实现

下文描述遵从以下约定:

l              使用“Super认证”简化指代“用户级别切换认证”

l              黑体表示的关键字(例如scheme)仅与当前版本设备上的相应命令行对应

2.1  概念介绍

2.1.1  用户登录认证方式

Super认证的认证过程与用户登录设备的认证方式有密切的联系,会因为不同的用户登录方式而存在配置和使用方面的一些差异。为了更好得理解和使用Super认证,我们首先对用户的登录认证方式进行一下简单了解。

表1 用户登录的认证方式

登录认证方式

涵义

none

用户登录用户界面时不需要进行认证

password

用户登录用户界面时需要进行密码认证

scheme

用户登录用户界面时需要进行用户名和密码认证

 

2.1.2  Super认证方式

目前,设备上支持如下四种Super认证方式:

l              本地Super认证

l              通过HWTACACS/ RADIUS进行远程Super认证

l              远程Super认证无响应后转本地Super认证

l              本地级别切换密码未设置后转远程Super认证

2是当前设备上支持的Super认证方式的汇总及各认证方式的简单说明。

表2 Super认证方式汇总表

Super认证方式

涵义

说明

local

本地Super认证

设备验证用户输入的级别切换密码(与设备上配置的本地级别切换密码比较)

scheme

通过HWTACACS/ RADIUS进行远程Super认证

设备将级别切换用户名和密码发送给远程HWTACACS/ RADIUS服务器进行认证

scheme local

远程Super认证无响应后转本地Super认证

远程HWTACACS/ RADIUS服务器无响应或AAA配置无效时,设备转为进行本地Super认证

local scheme

本地级别切换密码未设置后转远程Super认证

若设备上没有设置本地级别切换密码,则除使用Console用户界面登录的用户可直接切换级别外,其它用户(使用AUXTTYVTY用户界面登录的用户)则转为进行远程Super认证

 

2.2  三种Super认证机制

2.2.1  本地Super认证

如果设备上设置了对应的本地级别切换密码,则系统提示用户输入该密码,并把用户输入的密码和对应的本地级别切换密码进行比较,如果一致则提示用户认证成功,如果认证尝试次数达到3次则提示用户认证失败,否则提示用户重新输入本地级别密码。

2.2.2  通过RADIUS进行远程Super认证

如果用户登录时曾经输入过用户名,则使用登录时所用的用户名做Super认证,直接提示用户输入密码;否则先提示用户输入用户名,然后提示用户输入密码。

由于RADIUS协议无法区分用户所申请的权限级别,所以使用RADIUS进行Super认证时无论用户输入的用户名(或用户登录名)是什么,设备都会根据用户申请的权限级别使用固定用户名“$enab+level”构造认证请求报文进行认证,其中level为用户申请的权限级别(03)。例如用户要申请切换到级别3,则设备将使用“$enab3”作为用户名向RADIUS服务器发起认证。(若配置要求用户名中携带域名,则为$enab3@domaindomain为用户的认证域)。因此,相应的RADIUS服务器上就需要添加用户名为“$enab3”的用户。

RADIUS服务器接收到认证请求报文后,就对级别切换用户名和密码进行认证。如果认证成功,RADIUS服务器返回认证成功消息;如果认证失败,则返回认证失败消息。如果认证尝试次数达到3次,则提示用户认证失败,否则提示用户重新输入级别切换用户名和密码。

2.2.3  通过HWTACACS进行远程Super认证

如果用户登录时曾经输入过用户名,则使用登录时所用的用户名做Super认证,直接提示用户输入密码;否则先提示用户输入用户名,然后提示用户输入密码。

HWTACACS协议支持用户申请权限级别,使用HWTACACS进行Super认证时,设备使用用户输入的用户名(或用户登录名)和密码发起认证。

HWTACACS服务器接收到认证请求报文后,就对级别切换用户名和密码进行认证。如果认证成功,HWTACACS服务器返回认证成功消息;如果认证失败,则返回认证失败消息。如果认证尝试次数达到3次则提示用户认证失败,否则提示用户重新输入级别切换用户名和密码。

2.3  Super认证的使用

前面已经介绍了三种用户登录认证方式及四种Super认证方式,下面对两者组合使用的情况下,用户进行级别切换操作时的输入情况进行汇总,具体如3所示。

需要说明的是:

l              表中第三列为用户在第一种Super认证方式下进行级别切换操作时的输入信息。

l              表中第四列为用户在第一种Super认证方式未生效的情况下,转换到第二种Super认证方式时的输入信息。

l              未配置切换方案的情况下,无第四列内容,以“-”表示。

表3 不同Super认证方式下的用户输入信息描述表

用户登录认证方式

Super认证方式

Super认证输入

Super认证方式切换后

Super认证输入

none/password

local

本地级别切换密码(设备上设置)

-

local scheme

本地级别切换密码

级别切换用户名和密码

AAA服务器上设置)

scheme

级别切换用户名和密码

-

scheme local

级别切换用户名和密码

本地级别切换密码

scheme

local

本地级别切换密码

-

local scheme

本地级别切换密码

级别切换密码(AAA服务器上设置),系统使用登录用户名作为级别切换用户名

scheme

级别切换密码(AAA服务器上设置),系统使用登录用户名作为级别切换用户名

-

scheme local

级别切换密码(AAA服务器上设置),系统使用登录用户名作为级别切换用户名

本地级别切换密码

 

典型组网应用

1. 组网需求

对登录DeviceTelnet用户进行用户级别切换认证。

具体要求:

l              用户名为test@bbbTelnet用户登录Device的认证方式为本地认证,登录后所能访问的命令级别为0级。

l              Telnet用户要将用户级别提升为3时,首先需要通过RADIUS服务器进行远程Super认证,若AAA配置无效或者RADIUS服务器没有响应则转为本地Super认证。

2. 登录及级别切换过程

(1)        Telnet用户建立与Device的连接

Telnet客户端按照提示输入用户名test@bbb及对应的密码,即可进入Router的用户界面,且只能访问级别为0级的命令。

<Device> telnet 192.168.1.70

Trying 192.168.1.70 ...

Press CTRL+K to abort

Connected to 192.168.1.70 ...

**************************************************************************

* Copyright (c) 2004-2009 Hangzhou H3C Tech. Co., Ltd. All rights reserved.*

* Without the owner's prior written consent,  *

* no decompiling or reverse-engineering shall be allowed. *

**************************************************************************

 

Login authentication

 

Username:test@bbb

Password:

<Device> ?

User view commands:

  cluster  Run cluster command

  display  Display current system information

  ping     Ping function

  quit     Exit from current command view

  ssh2     Establish a secure shell client connection

  super    Set the current user priority level

  telnet   Establish one TELNET connection

  tracert  Trace route function

(2)        切换用户级别

# 在当前的用户界面下执行切换用户级别到3级的命令,按照提示输入RADIUS级别切换认证密码pass3,若认证成功即可将当前Telnet用户的级别切换到3级。

<Device> super 3

 Password: <——此处需输入RADIUS级别切换认证密码

User privilege level is 3, and only those commands can be used

whose level is equal or less than this.

Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE

# 若输入切换密码后,系统提示错误并通知用户认证模式已改变,则表示本次切换认证失败。继续按照提示输入本地级别切换认证密码654321,若认证成功即可将当前Telnet用户的级别切换到3级。

<Device> super 3

 Password:

 Error: Invalid configuration or no response from the authentication server.

 Info: Change authentication mode to local.

 Password: <——此处需输入本地级别切换认证密码

User privilege level is 3, and only those commands can be used

whose level is equal or less than this.

Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE

 

 

Copyright © 2009 杭州华三通信技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

本文档中的信息可能变动,恕不另行通知。

联系我们