所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

S1720, S2700, S5700, S6720 V200R012(C00&C20) 配置指南-用户接入与认证

本文档介绍了用户接入与认证的配置,具体包括AAA配置、NAC配置和策略联动配置。
评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
HWTACACS认证、授权、计费

HWTACACS认证、授权、计费

HWTACACS概述

华为终端访问控制器控制系统协议HWTACACS是在TACACS(RFC 1492)基础上进行了功能增强的安全协议。HWTACACS协议与其他厂商支持的TACACS+协议都实现了认证、授权、计费的功能。HWTACACS和TACACS+的认证流程与实现方式是一致的,即HWTACACS与TACACS+在协议层面完全兼容,如设备使用HWTACACS协议时支持与思科服务器(如ACS)对接,但HWTACACS与思科的扩展属性不一定能够兼容,原因是不同厂商在扩展属性的字段定义和解释上存在区别。

HWTACACS协议主要用于采用点对点协议PPP(Point-to-Point Protocol)或虚拟私有拨号网络VPDN(Virtual Private Dial-up Network)方式接入Internet的接入用户以及对设备进行操作的管理用户的认证、授权和计费。

HWTACACS协议与RADIUS协议都实现了认证、授权和计费的功能,它们有很多相似点:
  • 结构上都采用客户端/服务器模式。
  • 都使用共享密钥对传输的用户信息进行加密。
  • 都有较好的灵活性和可扩展性。

与RADIUS相比,HWTACACS具有更加可靠的传输和加密特性,更加适合于安全控制。HWTACACS协议与RADIUS协议的主要区别如表1-16所示。

表1-16  HWTACACS协议与RADIUS协议的比较

HWTACACS

RADIUS

通过TCP传输,网络传输更可靠。

通过UDP传输,网络传输效率更高。

除了标准的HWTACACS报文头,对报文主体全部进行加密。

只是对认证报文中的密码字段进行加密。

认证与授权分离,使得认证、授权服务可以在不同的安全服务器上实现。例如,可以用一台HWTACACS服务器进行认证,另外一台HWTACACS服务器进行授权。

认证与授权结合,不能分离。

支持对设备上的配置命令进行授权使用。即用户可使用的命令行受到命令级别和AAA授权的双重限制,某一级别的用户输入的每一条命令都需要通过HWTACACS服务器授权,如果授权通过,命令才可以被执行。

不支持对设备上的配置命令进行授权使用。用户登录设备后可以使用的命令行由用户级别决定,用户只能使用级别等于或低于用户级别的命令行。

适于进行安全控制。

适于进行计费。

HWTACACS报文介绍

HWTACACS报文与RADIUS报文的格式不同。所有RADIUS报文均采用相同的报文格式,而HWTACACS报文除了具有相同的报文头之外,认证授权计费报文的格式均不同。

HWTACACS报文头

HWTACACS报文头长度为12字节,如图1-18所示。

图1-18  HWTACACS报文头部
表1-17  HWTACACS报文头部中各个字段的含义
字段 含义
major version HWTACACS协议主版本号,当前版本号为0xc。
minor version HWTACACS协议次版本号,当前版本号为0x0。
type HWTACACS协议报文类型,包括认证(0x01)、授权(0x02)和计费(0x03)。
seq_no 对于同一个会话,当前报文的序列号,取值范围为1~254。
flags 报文主体加密标记,目前只支持8位中的第1位,0表示对报文主体加密,1表示不对报文主体加密。
session_id 会话ID,当前会话的唯一标识。
length HWTACACS报文主体的长度,不包括报文头。
HWTACACS认证报文格式
HWTACACS认证报文包括三种类型:
  • 认证开始报文Authentication Start:认证开始时,客户端向服务器发送认证开始报文,该报文中包括认证类型、用户名和一些认证数据。
  • 认证持续报文Authentication Continue:客户端接收到服务器回应的认证回应报文后,如果确认认证过程没有结束,则使用认证持续报文响应。
  • 认证回应报文Authentication Reply:服务器接收到客户端发送的认证开始报文或认证持续报文后,向客户端发送的唯一一种认证报文,用于向客户端反馈当前认证的状态。
HWTACACS认证报文的具体格式如下:
  • HWTACACS认证开始报文

    图1-19  HWTACACS认证开始报文格式
    表1-18  HWTACACS认证开始报文中各个字段的含义
    字段 含义
    action 具体的认证操作,目前只支持“认证登录(0x01)”。
    priv_lvl 用户级别。
    authen_type 认证的类型,目前设备仅支持:
    • CHAP(0x03)
    • PAP(0x02)
    • ASCII(0x01)
    service 请求认证的服务类型,当前版本支持PPP(0x03)、LOGIN(0x01)、NONE(0x00)三种服务类型,分别对应PPP用户、管理员用户和其他用户。
    user len 登录用户输入的用户名长度。
    port len port字段的长度。
    rem_addr len rem_addr字段的长度。
    data len 认证数据区的长度。
    user 请求认证的用户名,最大长度为129。
    port

    请求认证的用户接口名,最大长度为47。

    • 对于管理员用户,该字段是指用户终端接口(例如“console0”、“vty1”等)。例如,Telnet用户的authen_type为ASCII,service为LOGIN,port为vtyx。
    • 对于其他用户,该字段是指用户接入的接口名称。
    rem_addr 登录用户的IP地址。
    data 认证数据区,根据action和authen_type的不同封装不同的数据。例如PAP认证时,该字段内容为PAP显式密码。
  • HWTACACS认证持续报文

    图1-20  HWTACACS认证持续报文格式
    表1-19  HWTACACS认证持续报文中各个字段的含义
    字段 含义
    user_msg len 登录用户输入的字符串长度。
    data len 认证数据区的长度。
    flags 认证持续标记,0表示认证过程持续,1表示认证过程终止。
    user_msg 登录用户输入的字符串,用于回应认证回应报文中的server_msg字段,向服务器提供用户登录时输入的密码。
    data 认证数据区,根据action和authen_type的不同封装不同的数据。例如PAP认证时,该字段内容为PAP显式密码。
  • HWTACACS认证回应报文

    图1-21  HWTACACS认证回应报文格式
    表1-20  HWTACACS认证回应报文中各个字段的含义
    字段 含义
    status

    认证的状态,包括:

    • 认证成功PASS(0x01)
    • 认证失败FAIL(0x02)
    • 请求用户信息GETDATA(0x03)
    • 请求用户名GETUSER(0x04)
    • 请求密码GETPASS(0x05)
    • 请求重新发起认证开始RESTART(0x06)
    • 服务器收到认证报文有误ERROR(0x07)
    • 服务器要求重新进行认证过程FOLLOW(0x21)
    flags 控制客户端是否将用户输入的密码回显。如果该标志位置1,则用户输入的密码不会回显。
    server_msg len server_msg字段的长度。
    data len 认证数据区的长度。
    server_msg 可选字段,用于服务器将一些附加信息带给用户。
    data 认证数据区,用于向客户端提供一些信息。
HWTACACS授权报文格式
HWTACACS授权报文包括两种类型:
  • 授权请求报文Authorization Request:HWTACACS的认证和授权是分离的,用户可以使用HWTACACS认证而使用其他协议进行授权。如果需要通过HWTACACS进行授权,则客户端向服务器发送授权请求报文,该报文中包括了授权所需的一切信息。
  • 授权回应报文Authorization Response:服务器接收到授权请求报文后,向客户端发送授权回应报文,该报文中包括了授权的结果。
HWTACACS授权报文的具体格式如下:
  • HWTACACS授权请求报文

    图1-22  HWTACACS授权请求报文格式
    说明:

    priv_lvl字段、authen_type字段、authen_service字段、user len字段、port len字段、rem_addr len字段、port字段、rem_addr字段的含义和HWTACACS认证开始报文一致,此处不再赘述。

    表1-21  HWTACACS授权请求报文中各个字段的含义
    字段 含义
    authen_method

    指定用户的认证方式,包括:

    • 没有设置认证方式(0x00)
    • 不认证(0x01)
    • 本地认证(0x05)
    • HWTACACS认证(0x06)
    • RADIUS认证(0x10)
    authen_service 请求认证的服务类型,当前版本支持PPP(0x03)、LOGIN(0x01)和NONE(0x00)三种服务类型,分别对应PPP用户、管理员用户和其他用户。
    arg_cnt 授权请求报文中携带的属性数。
    argN 指定授权请求报文的属性。
  • HWTACACS授权回应报文

    说明:

    server_msg len字段、data len字段和server_msg字段的含义和HWTACACS认证回应报文一致,此处不再赘述。

    图1-23  HWTACACS授权回应报文格式
    表1-22  HWTACACS授权回应报文中各个字段的含义
    字段 含义
    status

    指定用户的授权状态,包括:

    • 授权通过(0x01)
    • 授权请求报文中的属性被TACACS服务器修改(0x02)
    • 授权失败(0x10)
    • 授权服务器上出现了错误(0x11)
    • 重新指定授权服务器(0x21)
    arg_cnt

    授权回应报文中携带的授权属性数。

    argN 指定HWTACACS授权服务器下发的授权属性。
HWTACACS计费报文格式
HWTACACS计费报文包括两种类型:
  • 计费请求报文Accounting Request:该报文中包括了计费所需的信息。
  • 计费回应报文Accounting Response:服务器接收并成功记录计费请求报文后,需要回应一个计费响应报文。
HWTACACS计费报文的具体格式如下:
  • HWTACACS计费请求报文

    图1-24  HWTACACS计费请求报文格式
    说明:

    authen_method字段、priv_lvl字段、authen_type字段、user len字段、port len字段、rem_addr len字段、port字段、rem_addr字段的含义和HWTACACS授权请求报文一致,此处不再赘述。

    表1-23  HWTACACS计费请求报文中各个字段的含义
    字段 含义
    flags 计费类型:
    • 开始计费(0x02)
    • 结束计费(0x04)
    • 实时计费(0x08)
    authen_service 请求认证的服务类型,当前版本支持PPP(0x03)、LOGIN(0x01)和NONE(0x00)三种服务类型,分别对应PPP用户、管理员用户和其他用户。
    arg_cnt 计费请求报文中携带的属性数。
    argN 指定计费请求报文的属性。
  • HWTACACS计费回应报文

    图1-25  HWTACACS计费回应报文格式
    表1-24  HWTACACS计费回应报文中各个字段的含义
    字段 含义
    server_msg len server_msg字段的长度。
    data len data字段的长度。
    status 指定计费状态:
    • 计费成功(0x01)
    • 计费失败(0x02)
    • 计费无回应(0x03)
    • 服务器要求重新进行计费过程(0x21)
    server_msg 指定计费服务器带给客户端的信息。
    data 服务器提供给管理员的信息。

HWTACACS认证、授权、计费流程

下面以Telnet用户为例,说明使用HWTACACS对用户进行认证、授权和计费的过程。基本消息交互流程图如图1-26所示。
图1-26  HWTACACS的基本消息交互流程图

在整个过程中的基本消息交互流程如下:
  1. Telnet用户请求登录设备。
  2. HWTACACS客户端收到请求之后,向HWTACACS服务器发送认证开始报文。
  3. HWTACACS服务器发送认证回应报文,请求用户名。
  4. HWTACACS客户端收到回应报文后,向用户询问用户名。
  5. 用户输入用户名。
  6. HWTACACS客户端收到用户名后,向HWTACACS服务器发送认证持续报文,其中包括了用户名。
  7. HWTACACS服务器发送认证回应报文,请求密码。
  8. HWTACACS客户端收到认证回应报文,向用户询问密码。
  9. 用户输入密码。
  10. HWTACACS客户端收到密码后,向HWTACACS服务器发送认证持续报文,其中包括了密码信息。
  11. HWTACACS服务器发送认证回应报文,指示用户通过认证。
  12. HWTACACS客户端向HWTACACS服务器发送授权请求报文。
  13. HWTACACS服务器发送授权回应报文,指示用户通过授权。
  14. HWTACACS客户端收到授权回应报文,向用户输出设备的配置界面。
  15. HWTACACS客户端向HWTACACS服务器发送计费开始请求报文。
  16. HWTACACS服务器发送计费开始回应报文,指示计费开始请求报文已经收到。
  17. 用户请求断开连接。
  18. HWTACACS客户端向HWTACACS服务器发送计费结束请求报文。
  19. HWTACACS服务器发送计费结束回应报文,指示计费结束请求报文已经收到。
说明:

HWTACACS协议与其他厂商支持的TACACS+协议都实现了认证、授权、计费的功能。HWTACACS和TACACS+的认证流程与实现方式是一致的,HWTACACS协议能够完全兼容TACACS+协议。

HWTACACS属性

在HWTACACS授权或计费报文中,argN字段携带了服务器下发给用户或用户传输给服务器的信息。

HWTACACS属性

表1-25描述了设备支持的HWTACACS属性,对于不在该表内的属性,设备不对属性进行解析,直接忽略具体的属性内容。

表1-25  常用HWTACACS属性

属性名

属性说明

acl

授权的ACL ID。

addr

用户的IP地址。

autocmd

用户登录到设备后自动执行的命令。

bytes_in

设备接收到的流量。其中,K、M、G分别表示流量单位KByte,MByte,GByte,如果没有,则单位是Byte。

bytes_out

设备发送的流量。其中,K、M、G分别表示流量单位KByte,MByte,GByte,如果没有,则单位是Byte。

callback-line

回呼号码,即服务器传递过来可以显示给用户的信息,例如移动电话号码等。

cmd

在shell上执行的命令行,最大长度为251字符。命令行记录时封装的是完整的命令行,命令行授权时封装的是命令行的第一个关键字。

cmd-arg

命令行授权请求时,请求授权的命令行参数。最后一个参数命令行参数后需要再封装一个cmd-arg=<cr>结尾。

disc_cause

下线原因,仅结束计费请求报文支持该属性。包括:
  • 用户主动下线(1)
  • 数据中断(2)
  • 业务中断(3)
  • 闲置切断(4)
  • 会话超时(5)
  • 管理员要求下线(7)
  • NAS故障(9)
  • NAS要求下线(10)
  • 端口停用(12)
  • 用户信息有误(17)
  • 主机主动下线(18)

disc_cause_ext

扩展的下线原因,仅结束计费请求报文支持该属性。包括:
  • 未知原因(1022)
  • EXEC终端终止连接(1020)
  • 已经在线的其他telnet用户强制此用户下线(1022)
  • 远端没有IP地址,导致用户不能切换到SLIP/PPP客户端(1023)
  • PPP PAP认证失败(1042)
  • PPP收到远端的Terminate报文(1045)
  • 上层要求关闭用户的PPP连接(1046)
  • PPP握手失败(1063)
  • 会话超时(1100)

dnaverage

下行平均速率,单位是bit/s。

dnpeak

下行峰值速率,单位是bit/s。

dns-servers

主DNS服务器的IP地址。

elapsed_time

用户的在线时长,单位是秒。

ftpdir

FTP用户的初始目录。

gw-password

隧道密码,字符串类型,长度范围是1~248。如果所包含的属性值超出了允许的设置范围则仅取前248个字符。

idletime

空闲切断时间,即服务器会自动切断空闲切断时间内没有进行任何操作的用户。

l2tp-hello-interval

L2TP Hello报文的间隔时间,目前设备尚不支持该属性。

l2tp-hidden-avp

L2TP的隐藏属性值对AVP(Attribute Value Pair),目前设备尚不支持该属性。

l2tp-nosession-timeout

L2TP无会话时切断时间,即无会话时,L2TP隧道将会该时间间隔后被拆除。目前设备尚不支持该属性。

l2tp-group-num

L2TP组号,只有下发了该属性,其他的L2TP属性才能生效,如果没有下发该属性,其他L2TP属性都会被忽略。

l2tp-tos-reflect

L2TP的TOS的值,目前设备尚不支持该属性。

l2tp-tunnel-authen

是否进行L2TP的隧道认证。0表示不进行隧道认证,1表示进行隧道认证。

l2tp-udp-checksum

L2TP的UDP包的检验和。

nocallback-verify

回呼之后不需要验证。

nohangup

设备是否自动切断用户的连接,取值为true或者false。该属性依附于autocmd属性,在配置了autocmd参数后,用户执行完autocmd的命令后是否将用户切断。true表示不切断,false表示切断。

paks_in

设备接收到的包数,单位是个。

paks_out

设备发送的包数,单位是个。

priv-lvl

用户的级别。

protocol

协议类型,是业务类型的一个子集,针对ppp、connection业务类型生效。目前支持“pad”、“telnet”、“ip”和“vpdn”四种协议类型。
  • 当业务类型为connection时,协议类型可以是“pad”或者“telnet”;
  • 当业务类型是ppp时,协议类型可以是“ip”或者“vpdn”;
  • 如果为其它业务类型,则不会封装该属性。

task_id

任务ID,对于同一任务,其开始和结束记录的task_id必须相同。

timezone

当地时区。

tunnel-id

建立隧道时的隧道本端用户名,字符串形式,长度范围是1~29。如果所包含的属性值超出了允许的设置范围则仅取前29个字符。

tunnel-type

将要建立的隧道类型。目前只支持L2TP类型的隧道,对应的tunnel-type是3。

service

业务类型,标识当前计费或授权的业务。

source-ip

隧道本端IP的地址。

upaverage

上行平均速率,单位是bit/s。

uppeak

上行峰值速率,单位是bit/s。

HWTACACS属性在报文中的支持情况
按照报文类型划分,HWTACACS授权报文可以分为授权请求报文和授权回应报文。但在实际使用过程中,HWTACACS授权可以划分为EXEC用户授权、命令行授权和接入用户授权三种,不同类型的授权报文中使用的属性不完全相同,具体请参见表1-26
  • EXEC授权:通过HWTACACS服务器对telnet、terminal、SSH和FTP登录的管理用户进行权限控制。
  • 命令行授权:用户执行每条命令行时均进行权限控制,只有授权通过后才可以执行该命令,否则不能执行。
  • 接入用户授权:通过HWTACACS服务器对802.1X、Portal等NAC接入用户进行权限控制。
按照报文类型划分,HWTACACS计费报文可以分为计费请求报文和计费回应报文。但在实际使用过程中,根据连接类型的不同,HWTACACS计费可以划分为网络计费、连接计费、EXEC计费、系统计费和命令计费五种类型。不同类型的计费报文中使用的属性不完全相同,具体请参见表1-27
  • 网络计费:适用于PPP等普通用户接入网络的场景。例如,PPP用户初始接入时发送开始计费报文,用户在线过程中定时发送实时计费报文,用户下线时发送结束计费报文。
  • 连接计费:适用于当用户将设备作为Telnet或者FTP的客户端登录到服务器端的场景。用户与设备建立连接后,可以输入命令建立与远程服务器的连接并访问远程主机上的文件。当登录到远程服务器时发送开始计费报文,退出时发送结束计费报文。
  • EXEC计费:适用于用户通过Telnet或者FTP等方式登录到设备的场景。用户初始登录时发送开始计费报文,用户在线过程中发送实时计费报文,用户退出时发送结束计费报文。
  • 系统计费:适用于用户对网络进行故障诊断时的场景。通过在服务器上记录系统级事件,可以帮助管理员用户根据服务器上的记录信息进行故障定位。
  • 命令计费:当管理员用户在设备上执行任意命令时,可以通过命令结束计费报文把该用户输入的命令上报给HWTACACS服务器,以便服务器对用户的操作进行记录。
说明:
  • Y:表示该类型报文支持该属性。
  • N:表示该类型报文不支持该属性。
表1-26  HWTACACS授权报文中属性的支持情况

属性

命令行授权请求报文

EXEC授权回应报文

接入用户授权回应报文

acl

N

Y

N

addr

N

N

Y

addr-pool

N

N

Y

autocmd

N

Y

N

callback-line

N

Y

Y

cmd

Y

N

N

cmd-arg

Y

N

N

dnaverage

N

N

Y

dnpeak

N

N

Y

dns-servers

N

N

Y

ftpdir

N

Y

N

gw-password

N

N

Y

idletime

N

Y

N

ip-addresses

N

N

Y

l2tp-group-num

N

N

Y

l2tp-tunnel-authen

N

N

Y

nocallback-verify

N

Y

N

nohangup

N

Y

N

priv-lvl

N

Y

N

source-ip

N

N

Y

tunnel-type

N

N

Y

tunnel-id

N

N

Y

upaverage

N

N

Y

表1-27  HWTACACS计费报文中属性的支持情况

属性

网络计费开始请求报文

网络计费结束请求报文

网络计费实时请求报文

连接计费开始请求报文

连接计费结束请求报文

EXEC计费开始请求报文

EXEC计费结束请求报文

EXEC计费实时请求报文

系统计费结束请求报文

命令计费停止计费报文

addr

Y

Y

Y

Y

Y

N

N

N

N

N

bytes_in

N

Y

Y

N

Y

N

Y

Y

N

N

bytes_out

N

Y

Y

N

Y

N

Y

Y

N

N

cmd

N

N

N

Y

Y

N

N

N

N

Y

disc_cause

N

Y

N

N

N

N

Y

Y

N

N

disc_cause_ext

N

Y

N

N

N

N

Y

Y

N

N

elapsed_time

N

Y

Y

N

Y

N

Y

Y

Y

N

paks_in

N

Y

Y

N

Y

N

Y

Y

N

N

paks_out

N

Y

Y

N

Y

N

Y

Y

N

N

priv-lvl

N

N

N

N

N

N

N

N

N

Y

protocol

Y

Y

Y

Y

Y

N

N

N

N

N

service

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

task_id

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

timezone

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

tunnel-id

N

N

N

N

N

N

N

N

N

N

tunnel-type

Y

N

N

N

N

N

N

N

N

N

翻译
下载文档
更新时间:2018-12-24

文档编号:EDOC1100038441

浏览量:30656

下载量:1237

平均得分:
本文档适用于这些产品
相关版本
相关文档
Share
上一页 下一页