AAA及RADIUS/HWTACACS协议简介

AAA简介AAA是Authentication,Authorization and Accounting(认证、授权和计费)的简称,它提供了一个对认证、授权和计费这三种安全功能进行配置的一致性框架,实际上是对网络安全的一种管理。

这里的网络安全主要是指访问控制,包括:

哪些用户可以访问网络服务器。

具有访问权的用户可以得到哪些服务。

如何对正在使用网络资源的用户进行计费。

针对以上问题,AAA必须提供认证功能、授权功能和计费功能。

1. 认证功能

AAA支持以下认证方式:

不认证:对用户非常信任,不对其进行合法检查。一般情况下不采用这种方式。

本地认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在设备上。本地认证的优点是速度快,可以降低运营成本;缺点是存储信息量受设备硬件条件限制。

远端认证:支持通过RADIUS协议或HWTACACS协议进行远端认证,设备(如Quidway系列交换机)作为客户端,与RADIUS服务器或TACACS服务器通信。对于RADIUS协议,可以采用标准或扩展的RADIUS协议。

2. 授权功能

AAA支持以下授权方式:

直接授权:对用户非常信任,直接授权通过。

本地授权:根据设备上为本地用户帐号配置的相关属性进行授权。

RADIUS认证成功后授权:RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。

HWTACACS授权:由TACACS服务器对用户进行授权。

3. 计费功能

AAA支持以下计费方式:

不计费:不对用户计费。

远端计费:支持通过RADIUS服务器或TACACS服务器进行远端计费。

AAA一般采用客户端/服务器结构:客户端运行于被管理的资源侧,服务器上集中存放用户信息。因此,AAA框架具有良好的可扩展性,并且容易实现用户信息的集中管理。

1.1.2 ISP域简介

ISP域即ISP用户群,一个ISP域是由属于同一个ISP的用户构成的用户群。

在“userid@isp-name”形式的用户名中,“@”后的“isp-name”即为ISP域的域名。接入设备将“userid”作为用于身份认证的用户名,将“isp-name”作为域名。

在多ISP的应用环境中,同一个接入设备接入的有可能是不同ISP的用户。由于各ISP用户的用户属性(例如用户名及密码构成、服务类型/权限等)有可能各不相同,因此有必要通过设置ISP域的方法把它们区别开。

在ISP域视图下,可以为每个ISP域配置包括使用的AAA策略(使用的RADIUS方案等)在内的一整套单独的ISP域属性。

1.1.3 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协议中的属性和属性值的含义。

图1-1 RADIUS服务器的组成

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

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

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

图1-2 RADIUS的基本消息交互流程

基本交互步骤如下:

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

3. RADIUS协议的报文结构

RADIUS协议采用UDP报文来承载数据,通过定时器管理机制、重传机制、备用服务器机制,确保RADIUS服务器和客户端之间交互消息正确收发。RADIUS报文结构如图1-3所示。

图1-3 RADIUS报文结构

(1) Code域(1字节)决定RADIUS报文的类型,如表1-1所示。

(2) Identifier域(1字节)用于匹配请求包和响应包,随着Attribute域改变、接收到有效响应包而不断变化,而在重传时保持不变化。

(3) Length域(2字节)指明整个包的长度,内容包括Code,Identifier,Length,Authenticator和Attribute。超过长度域的字节被视为填充,在接收时应被忽略;如果包比长度域所指示的短时,则应被丢弃。

(4) Authenticator域(16字节)用于验证RADIUS服务器传输回来的报文,并且还用于密码隐藏算法中,分为Request Authenticator和Response Authenticator。

(5) Attribute域携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节,该域采用(Type、Length、Value)三元组的形式提供。

类型(Type)域1个字节,取值为1~255,用于指明属性的类型。表1-2列出了RADIUS授权、认证常用的属性。

长度(Length)域1个字节,指明此属性的长度,单位为字节,包括类型字段、长度字段和属性值字段。

属性值(Value)域包括该属性的信息,其格式和内容由类型域和长度域决定,最大长度为253字节。

表1-2 RADIUS属性

RADIUS协议具有良好的可扩展性,协议中定义的26号属性(Vendor-Specific)用于设备厂商对RADIUS进行扩展,以实现标准RADIUS没有定义的功能。如图1-4所示的报文结构,Vendor-ID域占4字节,表示厂商代号,最高字节为0,其余3字节的编码见RFC1700。厂商可以封装多个自己定义的“(Type,Length、Value)”子属性,从而在应用中得以扩展。

1.1.4 HWTACACS协议简介

1. HWTACACS特性

HWTACACS(HUAWEI Terminal Access Controller Access Control System)是在TACACS(RFC 1492)基础上进行了功能增强的安全协议。该协议与RADIUS协议类似,主要是通过Client-Server模式与TACACS服务器通信来实现多种用户的AAA功能,可用于PPP和VPDN接入用户及终端用户的认证、授权和计费。

HWTACACS的典型应用是拨号用户或终端用户需要登录到设备上进行操作。交换机作为HWTACACS的客户端,将用户名和密码发给TACACS服务器进行验证,验证通过并得到授权之后可以登录到交换机上进行操作。如图1-5所示。

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

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

在整个过程中的基本消息交互流程如下:

(1) 用户请求登录交换机,TACACS客户端收到请求之后,向TACACS服务器发送认证开始报文。

(2) TACACS服务器发送认证回应报文,请求用户名;TACACS客户端收到回应报文后,向用户询问用户名。

(3) TACACS客户端收到用户名后,向TACACS服务器发送认证持续报文,其中包括了用户名。

(4) TACACS服务器发送认证回应报文,请求登录密码;TACACS客户端收到回应报文,向用户询问登录密码。

(5) TACACS客户端收到登录密码后,向TACACS服务器发送认证持续报文,其中包括了登录密码。

(7) TACACS客户端向TACACS服务器发送授权请求报文。

(8) TACACS服务器发送授权回应报文,指示用户通过授权。

(9) TACACS客户端收到授权回应成功报文,向用户输出交换机的配置界面。

(10) TACACS客户端向TACACS服务器发送计费开始报文。

(11) TACACS服务器发送计费回应报文,指示计费开始报文已经收到。

(12) 用户退出,TACACS客户端向TACACS服务器发送计费结束报文。

(13) TACACS服务器发送计费回应报文,指示计费结束报文已经收到。

1.1.5 二者的区别

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

转载于:https://blog.51cto.com/4476361/803931

AAA及RADIUS/HWTACACS协议简介相关推荐

  1. AAA 及 RADIUS/HWTACACS 协议配置

    1. 简介 AAA 简介 AAA 是 Authentication,Authorization and Accounting(认证.授权和计费)的简称,它提供了一个对认证.授权和计费这三种安全功能进行 ...

  2. AAA 及RADIUS协议配置

    AAA 及RADIUS协议配置 1.1   简介 1.1.1  AAA 简介 AAA是Authentication,Authorization and Accounting(认证.授权和计费)的简称, ...

  3. AAA、RADIUS、TACACS+、HWTACACS、802.1X

    一.前言 在介绍AAA之前,先举一个生活的例子: 一天,某个人来到一个公司的门岗,他想进入这家公司,门岗在查验此人的身份之前,不允许他进入公司.门岗通过后台系统,查询此人的身份,有以下几种情况: 1. ...

  4. 华为AAA和RADIUS协议配置

    AAA和RADIUS协议配置 AAA概述 AAA是Authentication,Authorization and Accounting(认证.授权和计费)的简称,它提供了一个用来对认证.授权和计费这 ...

  5. AAA及Radius

    一.AAA(Authentication.Authorization.Accounting) 验证.授权和记费 验证 Authentication :验证用户身份 授权 Authorization : ...

  6. 【计算机网络】网络层 : BGP 协议 ( BGP 协议简介 | BGP 协议信息交换 | BGP 协议报文格式 | BGP-4 常用报文 | RIP 、OSPF、BGP 协议对比 )

    文章目录 一.路由选择协议分类 二.BGP 协议 简介 三.BGP 协议 信息交换过程 三.BGP 协议 报文格式 四.BGP 协议 特点 五.BGP-4 协议的 四种报文 六.RIP .OSPF.B ...

  7. 【计算机网络】网络层 : OSPF 协议 ( 协议简介 | 链路状态路由算法 | OSPF 区域 | OSPF 特点 )

    文章目录 一.路由选择协议分类 二.OSPF 协议 简介 三.链路状态路由算法 四.OSPF 区域 五.OSPF 特点 一.路由选择协议分类 路由选择协议分类 : ① 内部网管协议 IGP : 在 自 ...

  8. TACACS 协议简介与开发总结

    这个项目来源于国外某运营商客户的需求,整个开发流程除了参考基本的tacacs+协议外,还借鉴了Github上一个类似项目的设计,下面介绍下协议的基本内容和开发注意事项以及对接测试环境的搭建. 目录 0 ...

  9. 基于华为云平台上iMaster-NCE Campus的中继认证(RADIUS方式)方案简介及配置参考

    基于华为云平台上iMaster-NCE Campus的中继认证(RADIUS方式)方案简介及配置参考 功能概述 第三方认证主要应用于商业Wi-Fi终端用户在商场酒店.机场地铁.企业来访等情景通过Wi- ...

最新文章

  1. leanote个人版安装
  2. VMware 虚拟化编程(7) — VixDiskLib 虚拟磁盘库详解之三
  3. 为什么维护工作让数据中心工作人员夜不能寐?
  4. jQuery的淡入淡出
  5. Ubuntu 安装 QQ
  6. 程序设计实验题5.3 瓜分车厘子
  7. 音视频技术开发周刊 84期
  8. XCTF-高手进阶区:php_rce
  9. Spark入门(十一)之排序
  10. 2016matlab安装
  11. css 下划线_css学习
  12. C#实现TreeView向XML的绝对转换类
  13. (转)关于Android中为什么主线程不会因为Looper.loop()里的死循环卡死?引发的思考,事实可能不是一个 epoll 那么 简单。...
  14. web前端高级实战 - 实现京东淘宝商品详细放大镜效果
  15. Bootstrap系列之表单(Forms)
  16. 民法典实施后,夫妻共同债务如何认定?
  17. (转)HBase WAL简介
  18. 深度学习之图像分类(十二)--MobileNetV3 网络结构
  19. 蚪侠模板站群-V25版[泛域名+泛目录+泛内页]-[代码+汉字]干扰-字体繁简切换-蜘蛛欺骗-主动推送-全局锚文本锁定-自动新闻采集-自动模板采集
  20. 将阿拉伯数字转换成中文大写金额的形式

热门文章

  1. eclipse Maven搭建SSH框架
  2. RFID技术为智能轮胎在未来车联网领域的应用奠定了基础
  3. js中引用类型赋值(拷贝)问题
  4. CentOS 7安装Gnome GUI 图形界面
  5. AngularJS源码解析2:注入器的详解
  6. 004、SVN更新改密码
  7. jQuery实现购物车物品数量的加减
  8. 走向.NET架构设计—第五章—业务层模式,原则,实践(后篇)
  9. 做手好菜,骗个好女孩做女朋友(一)
  10. Linux 索引节点 inode