当前位置: 首页 > news >正文

AAA、RADIUS、TACACS、Diameter协议介绍

准备软考高级时碰到的一个概念,于是搜集网络资源整理得出此文。

概述

AAA是Authentication、Authorization、Accounting的缩写简称,即认证、授权、记帐。Cisco开发的一个提供网络安全的系统。AAA协议决定哪些用户能够访问服务,以及用户能够访问哪些资源或使用哪些服务。AAA服务器,能够处理用户访问请求的服务器程序,提供验证、授权及帐户服务。

包括3个概念模块:

  • 认证:证明访问用户是合法用户(一般而言是数据库用户)
  • 授权:检查此合法用户拥有的权限
  • 记帐:记录用户使用网络服务过程中的相关操作,即:什么人在什么时间做了什么事。

模式

支持本地认证、不认证、RADIUS认证和HWTACACS认证四种认证模式,并允许组合使用。组合认证模式是有先后顺序的。如,authentication-mode radius local表示先使用RADIUS认证,RADIUS认证没有响应再使用本地认证。当组合认证模式使用不认证时,不认证(none)必须放在最后。

支持本地授权、直接授权、if-authenticated授权和HWTACACS授权四种授权模式,并允许组合使用。组合授权模式有先后顺序。例如,authorization-mode hwtacacs local表示先使用HWTACACS授权,HWTACACS授权没有响应再使用本地授权。当组合授权模式使用直接授权时,直接授权必须在最后,如:authorization-mode hwtacacs local none。RADIUS的认证和授权是绑定在一起的,所以不存在RADIUS授权模式。

支持六种计费模式:本地计费、不计费、RADIUS计费、HWTACACS计费、RADIUS+本地计费、HWTACACS+本地计费。

框架

AAA采用客户端/服务器结构,这种结构简单、扩展性好,且便于集中管理用户信息。
在这里插入图片描述
AAA的基本实现流程如下:

  • 用户访问网络前,首先与AAA客户端建立连接
  • AAA客户端负责把用户验证凭据传递给AAA服务器
  • AAA服务器根据用户认证凭据进行认证和授权,并将认证和授权结果返回给AAA客户端
  • AAA客户端根据服务器的返回结果判断是否允许用户接入

其中:

  • AAA客户端运行在NAS设备(Network Access Server,网络接入服务器)上,NAS设备可以是路由器、交换机等为用户提供入网服务的设备
  • AAA服务器是认证服务器、授权服务器和计费服务器的统称,负责集中管理用户信息。

根据AAA使用的通信协议的不同,AAA服务器可以分为RADIUS服务器、TACACS服务器等。

应用

根据用户接入方式的不同,在网络中有以下几种应用:

  • 登录用户管理:登录用户指的是直接登录设备进行操作的用户,例如Console口登录、Stelnet登录等。此类用户对安全性的要求较高,通过AAA可以限制哪些用户可以登录到设备,登录到设备后能执行哪些命令或者记录用户执行的操作等
  • NAC用户接入控制:NAC用户指的是通过802.1X、MAC、Portal方式接入网络的用户。这些用户可以是有线用户、也可以是无线用户,可能是接入企业园区网络、教育网络、医疗网络或商超网络等。此类用户存在类型复杂、变动频繁、权限级别要求不统一等问题。AAA结合NAC,可以有效保证接入用户的安全性。

实现

RADIUS

Remote Authentication Dial-In User Service,远程身份验证拨号用户服务。朗讯公司提出,能在拨号网络中提供注册、验证功能。

基本所有主流设备厂商都支持,在实际网络中应用最多。

RADIUS协议可分为认证协议和计费协议,分别通过IETF RFC 2865和RFC 2866定义。由于定义RADIUS协议的时间早于AAA框架模型,所以并没有将认证和授权分开,而是将认证和授权在同一个流程中进行处理。因此,使用RADIUS协议实现AAA时,用户可能无法知道被拒绝访问的原因是由于密码错误还是因为没有权限。

RADIUS协议,一般把拨号和认证这两种功能放在两个分离的服务器,是一种基于UDP的一种客户机/服务器协议:

  • NAS:网络接入服务器,RADIUS客户机。通常是一个路由器、交换机或无线访问点
  • RADIUS服务器:后台认证服务器上。在RADIUS服务器上存放有用户名和它们相应的认证信息的一个大数据库,来提供认证用户名和密码及向用户发送配置服务的详细信息等。通常是在UNIX或Windows服务器上运行的一个监护程序。

特点:

  • RADIUS协议使用UDP进行传输,使用1812号端口进行认证及认证通过后对用户授权,使用1813号端口对用户计费
  • 灵活的认证机制:支持多种认证方法,如点对点的PAP认证(PPP PAP)、点对点的CHAP认证(PPP CHAP)、UNIX的登录操作(UNIX Login)和其他认证机制
  • 支持认证转接(Authentication Forwarding),一个RADIUS服务器可以作为另一个RADIUS服务器的客户端向它要求认证,即认证转接
  • 扩展性好:所有的交互都包括可变长度的属性字段。为满足实际需要,用户可以加入新的属性值。新属性的值可以在不中断已存在协议执行的前提下自行定义新的属性
  • 安全:认证信息都加密传输,安全性高。RADIUS服务器和接入服务器之间传递的认证信息用一个事先设置的口令进行加密,防止敏感信息泄露

RADIUS认证授权工作过程:

  1. 用户输入用户名、密码等信息到客户端或连接到NAS
  2. 客户端或NAS产生一个接入请求(Access-Request)报文到RADIUS服务器,其中包括用户名、口令、客户端(NAS) ID和用户访问端口的ID。口令经过MD5算法进行加密
  3. RADIUS服务器对用户进行认证
  4. 若认证成功,RADIUS服务器向客户端或NAS发送允许接入包(Access-Accept),否则发送拒绝加接入包(Access-Reject)
  5. 若客户端或NAS接收到允许接入包,则为用户建立连接,对用户进行授权和提供服务,并转入6;若接收到拒绝接入包,则拒绝用户的连接请求,结束协商过程
  6. 客户端或NAS发送计费请求包给RADIUS服务器
  7. RADIUS服务器接收到计费请求包后开始计费,并向客户端或NAS回送开始计费响应包
  8. 用户断开连接,客户端或NAS发送停止计费包给RADIUS服务器
  9. RADIUS服务器接收到停止计费包后停止计费,并向客户端或NAS回送停止计费响应包,完成该用户一次计费,记录计费信息

TACACS、TACACS+、HWTACACS

TACACS,Terminal Access Controller Access-Control System,终端访问控制器控制系统,起源于1980s的AAA协议。在之后的发展中,各厂商在TACACS协议基础上进行扩展,如思科研发的TACACS+,华为研发的HWTACACS。两者均为私有协议,在发展过程中逐步替代TACACS协议,且不再兼容TACACS协议。HWTACACS基于TCP协议。RADIUS的认证和授权绑定在一起,而HWTACACS的认证和授权是独立的。RADIUS只对用户的密码进行加密,HWTACACS可以对整个报文进行加密。

HWTACACS协议可兼容TACACS+协议,HWTACACS协议与TACACS+协议定义的报文结构和报文类型一致,主要区别在于授权和计费报文中携带的属性含义或类型不完全相同。

与RADIUS协议相比,HWTACACS或TACACS+更加适用于登录用户(如STelnet用户)的身份认证场景。这是由于它在数据传输、加密上安全性更高,同时能够提供命令行鉴权、事件记录等优势功能。

Diameter

Diameter是IETF定义的新一代AAA协议,由RADIUS协议演进而来。Diameter协议克服RADIUS的许多缺点,如支持移动IP、多接口和移动代理认证、授权和计费等。随着Diameter协议及其应用的不断成熟和标准化,它对未来移动通信系统和宽带接入系统的发展将起到巨大的推动作用。

Diameter基本协议为移动IP(Mobile IP)、网络接入服务(NAS)等应用提供最基本的服务,如用户会话、计费等,具有能力协商、差错通知等功能。协议元素由众多命令和AVP(属性值对)构成,可以在客户机、代理、服务器之间传递鉴别、授权和计费信息。但不管客户机、代理还是服务器,都可以主动发出会话请求,对方给予应答,所以也叫对等实体之间的协议。命令代码、AVP值和种类都可以按应用需要和规则进行扩展。

Diameter NAS

Diameter的NAS协议即是Network Access Service(网络接入服务)协议。由NAS客户机处理用户MN的接入请求(RegReq),将收到的客户认证信息转送给NAS服务器;服务器对客户进行鉴别,将结果(Success/Fail)发给客户机;客户机通过RegReply将结果发回给MN,并根据结果对MN进行相应处理。

NAS作为网络接入服务器,在其用户端口接收到呼叫或服务请求时便开始与AAA服务器之间进行消息交换,有关呼叫的信息、用户身份和用户鉴别信息被打包成一种AAA消息发给AAA服务器。实际上,移动IP中的FA可以看成是通过空中的MPPP链路接收移动终端MN的服务连接请求的NAS服务器,它作为AAA服务器的客户机,在两者之间交换NAS消息请求和应答。

Diameter EAP

Diameter EAP,Extensible Authentication Protocol,可扩展鉴别协议,提供一个支持各种鉴别方法的标准机制。EAP其实是一种框架,一种帧格式,可以容纳各种鉴别信息。EAP所提供的多回合鉴别是PAP和CHAP所不具备的。

EAP协议描述用户、NAS(AAA客户机)和AAA服务器之间有关EAP鉴别消息的请求和应答的关系,完成一次对鉴别请求的应答,中间可能需要多次消息交换过程。在移动终端MN移动的环境下,MN与FA之间的鉴别扩展采用EAP,即把FA看做是一个NAS,它作为Diameter AAA的客户机,Diameter AAA服务器作为EAP的后端服务器,两者之间载送EAP分组。端到端的EAP鉴别发生在用户和它的H-AAA之间。

Diameter CMS

Diameter CMS,Cryptographic Message Syntax,密码消息语法协议,实现协议数据的Peer-to-Peer(端到端)加密。由于Diameter网络中存在不可信的Relay(中继)和Proxy,而IPSec和TLS又只能实现跳到跳的安全,所以IETF定义Diameter CMS应用协议来保证数据安全。

Diameter MIP

由于未来移动通信网络正逐步向全IP网络演进,这就不可避免碰到用户移动到外部域的问题。Diameter MIP应用协议允许用户漫游到外部域,并在经过鉴权后接受外部域Server和Agent提供的服务。在未来移动通信中,这种情况将十分常见,因此MIP协议对于移动通信系统来说至关重要。当用户移动到外部域的时候,需要进行一系列的消息交换才能安全地接入外部网络,接受其提供的服务。MIP协议的实现环境中MN和HA都可以在家乡域或在外地域,其中比较典型的一种情况是MN在外地域而HA在家乡域。

参考

  • 系统架构设计师教程-第4版
  • 百度百科

相关文章:

AAA、RADIUS、TACACS、Diameter协议介绍

准备软考高级时碰到的一个概念,于是搜集网络资源整理得出此文。 概述 AAA是Authentication、Authorization、Accounting的缩写简称,即认证、授权、记帐。Cisco开发的一个提供网络安全的系统。AAA协议决定哪些用户能够访问服务,以及用户能够…...

Nacos高频面试题及参考答案(2万字长文)

目录 Nacos是什么?它的主要功能有哪些? Nacos在微服务架构中扮演什么角色?...

CMakeLists.txt语法规则:条件判断中表达式说明四

一. 简介 前面学习了 CMakeLists.txt语法中的 部分常用命令,常量变量,双引号的使用。 前面几篇文章也简单了解了 CMakeLists.txt语法中的条件判断,文章如下: CMakeLists.txt语法规则:条件判断说明一-CSDN博客 CMa…...

Hive概述

Hive简介 Hive是一个基于Hadoop的开源数据仓库工具,用于存储和处理海量结构化数据. 它是Facebook在2008年8月开源的一个数据仓库框架,提供了类似于SQL语法的HQL(HiveSQL)语句作为数据访问接口. Hive可以做复查统计分析之类的工作; 利用hdfs的存储空间,进行结构化数据的存储; 利…...

buuctf-misc-33.[BJDCTF2020]藏藏藏1

33.[BJDCTF2020]藏藏藏1 题目:藏了很多层,一层一层的剥开 常规思路,先使用010打开一下看看 binwalk不行用foremost 发现是pk文件也就是压缩包,并且包含了docx文件 这不binwalk分离一下文件?虽然可以看出有隐藏文件&…...

golang 基础知识细节回顾

之前学习golang的速度过于快,部分内容有点囫囵吞枣的感觉,写gorm过程中有很多违反我常识的地方,我通过复习去修正了我之前认知错误和遗漏的地方。 itoa itoa自增的作用在编辑error code时候作用很大,之前编辑springboot的error c…...

递归陷阱七例

目录 栈溢出 无限递归 大常数参数 递归深度过大 重复计算 函数调用开销 递归与迭代的选择 总结 递归是一种强大的编程技术,它允许函数调用自身。递归在很多情况下可以简化代码,使问题更容易理解和解决。然而,递归也容易导致一些常见的…...

【3D基础】坐标转换——地理坐标投影到平面

汤国安版GIS原理第二章重点 1.常见投影方式 https://download.csdn.net/blog/column/9283203/83387473 Web Mercator投影(Web Mercator Projection): 优点: 在 Web 地图中广泛使用,易于显示并与在线地图服务集成。在…...

颈椎锻炼方式

1. 颈部伸展运动:坐直,慢慢将头向前伸展,直到感到轻微的拉伸,保持数秒钟,然后缓慢放松。重复10次。 2. 颈部旋转运动:坐直,慢慢将头向一侧转动,直到感到轻微的拉伸,保持…...

测试环境搭建:JDK+Tomcat+Mysql+Redis

基础的测试环境搭建: LAMPLinux(CentOS、ubuntu、redhat)ApacheMysqlPHP LTMJLinux(CentOS、ubuntu、redhat)TomcatMysql(Oracle)RedisJava 真实的测试环境搭建:(企业真实的运维) 基于SpringBoot(SpringCloud分布式微…...

(delphi11最新学习资料) Object Pascal 学习笔记---第11章第1节(混合引用中的错误)

11.1.3 混合引用中的错误 ​ 在使用对象时,你通常应该只使用对象变量或接口变量来访问它们。混合使用这两种方法会破坏对象 Pascal 所提供的引用计数机制,并可能导致极难跟踪的内存错误。在实践中,如果你决定使用接口,你可能应该…...

代码随想录算法训练营第三天 | 链表理论基础,203.移除链表元素,707.设计链表,206.反转链表

对于链表完全陌生,但是看题目又觉得和数组一样的 链表理论基础 Q:什么是链表? A:链表是由一系列结点组成的。每一个结点由两部分组成:数据和指针。 203.移除链表元素 题目: 给你一个链表的头节点 head 和…...

如何利用仪表构造InfiniBand流量在数据中心测试中的应用

一、什么是Infiniband? 在当今数据爆炸的时代,数据中心作为信息处理的中心枢纽,面临着前所未有的挑战。传统的通信方式已经难以满足日益增长的数据传输需求,而InfiniBand技术的出现,为数据中心带来了全新的通信解决方…...

Kubernetes 文档 / 概念 / Kubernetes 架构 / 节点

Kubernetes 文档 / 概念 / Kubernetes 架构 / 节点 此文档从 Kubernetes 官网摘录 中文地址 英文地址 节点上的组件包括 kubelet、 容器运行时以及 kube-proxy。 管理 向 API 服务器添加节点的方式主要有两种: 节点上的 kubelet 向控制面执行自注册&#xff1b…...

ICode国际青少年编程竞赛- Python-1级训练场-for循环练习

ICode国际青少年编程竞赛- Python-1级训练场-for循环练习 1、 for i in range(3):Dev.step(4)Dev.turnLeft()2、 for i in range(3):Dev.step(2)Dev.turnRight()Dev.step(2)Dev.turnLeft()3、 for i in range(3):Dev.step(2)Dev.turnRight()Dev.step(2)Dev.turnLeft()4、 for…...

Flutter分模块开发、模块可单独启动、包含Provider

前言 当前案例 Flutter SDK版本:3.13.2 目前Flutter都是在一个项目中,创建不同目录进行模块开发,我进行Android原生开发时,发现原生端,是可以将每个模块独立运行起来的,灵感来自这; 折腾了几…...

Element-UI快速入门:构建优雅的Vue.js应用界面

Element-UI是一套基于Vue.js的组件库,提供了丰富的UI组件和交互效果,帮助开发者快速构建出美观、功能丰富的Web应用界面。本文将介绍如何快速入门Element-UI,并搭建一个简单的示例界面。 步骤一:安装Element-UI 首先&#xff0c…...

Flutter 中的 @immutable:深入解析与最佳实践

在 Flutter 开发中,immutable 注释扮演着至关重要的角色,用于标记不可变类。不可变类顾名思义,其状态一旦创建便不可更改,这与可变类截然不同。后者允许在创建后对实例进行修改。 immutable 的利好 引入不可变类可以带来诸多优势…...

Pandas数据可视化 - Matplotlib、Seaborn、Pandas Plot、Plotly

可视化工具介绍 让我们一起探讨Matplotlib、Seaborn、Pandas Plot和Plotly这四个数据可视化库的优缺点以及各自的适用场景。这有助于你根据不同的需求选择合适的工具。 1. Matplotlib 优点: 功能强大:几乎可以用于绘制任何静态、动画和交互式图表。高度可定制&a…...

人工智能的发展将如何重塑网络安全

微信搜索关注公众号网络研究观,获取更多信息。 人们很容易认为人工智能 (AI) 真正出现是在 2019 年,当时 OpenAI 推出了 ChatGPT 的前身 GPT-2。 但现实却有些不同。人工智能的基础可以追溯到 1950 年,当时数学家艾伦图灵发表了题为“计算机…...

Prometheus+Grafana多方位监控

PrometheusGrafana多方位监控 契机 ⚙ 最近发现火山引擎有托管的Prometheus,可是当前是邀测阶段。并且发现火山云的ECS是自带开机自启的exporter的。刚好需要搭建一套服务器监控,所以研究了一套Prometheus监控,包含linux主机监控nginx监控es监控rabbitM…...

使用Docker安装Redis

大家好,今天给大家分享一下如何使用docker安装Redis,关于docker的安装和常用命令,大家可以参考下面两篇文章,本文中不做过多描述。 Docker在Windows与CentOS上的安装 Docker常用命令 关于Redis的介绍与常用操作可以参考&#x…...

React 之 Effect与事件(event)(八)

Effect(useEffect Hook) 在React中,Effect(或者更具体地说,useEffect Hook)是一个特殊的函数,它允许你在函数组件中执行副作用操作。这些副作用操作可能包括数据获取、手动更改DOM、订阅或取消订…...

网卡的了解

什么是网卡_csdn网卡是什么-CSDN博客 MAC地址:48位串行号(独一无二) 2^48281 474 976 710 656 10位:10亿 5位:1万 15位:10万亿 网卡就是网络适配器 设置--->网络和Internet--->高级网络设置--->硬…...

SSM框架目录

ssm 知识相关目录主要参考尚硅谷 赵伟风老师的视屏,参考链接为 SSM视频_ SSM技术视频_SSM视频教程_尚硅谷 【注意】有些图片为了简便,所以就直接使用了视屏分析。 1、SSM框架相关知识 SpringFramework 基本概念 链接:SpringFramework 基本…...

MATLAB实现杜拉德公式和凯夫公式的计算固液混合料浆临界流速

MATLAB实现杜拉德公式和凯夫公式的计算固液混合料浆临界流速: 杜拉德公式是用来计算非均质固液混合料浆在输送管中的临界速度的公式,具体形式为: uL FL (2gD / (ρ0 - ρ1))^(1/2) 其中: uL:表示料浆的临界速度,…...

Oceanbase all-in-one单机版部署,通过MySQL客户端连接OB租户,DBEAVER 客户端连接MySQL租户。

一.Oceanbase all-in-one单机版部署 1.修改资源限制。 vim /etc/security/limits.conf root soft nofile 655350 root hard nofile 655350 * soft nofile 655350 * hard nofile 655350 * soft stack unlimited * hard stack unlimited * soft nproc 655360 * hard nproc 6553…...

【DevOps】玩转 Google Cloud:项目切换与 K8s 集群访问

本篇博文将带您深入了解 Google Cloud Platform (GCP) 项目管理和 Kubernetes 集群访问的实用技巧。无论您是 GCP 新手还是经验丰富的云端开发者,都能从中获益匪浅。 目录 一、查看 Google Cloud 项目列表 方法一:使用 gcloud 命令行工具 方法二...

大模型_DISC-MedLLM基于Baichuan-13B-Base医疗健康对话

文章目录 DISC-MedLLM介绍概述数据集部署推理流程 DISC-MedLLM 介绍 DISC-MedLLM 是一个专门针对医疗健康对话式场景而设计的医疗领域大模型,由复旦大学数据智能与社会计算实验室 (Fudan-DISC) 开发并开源。 该项目包含下列开源资源: DISC-Med-SFT 数据集 (不包…...

开源模型 Prometheus 2 能够评估其他语言模型,其效果几乎与 GPT-4 相当

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

申请免费网站多少钱/网站维护需要多长时间

## 一、前言最近业余时间主要研究音视频开发这块,前面的文章写了好多种视频监控内核,一旦将这些内核搞定以后,视频监控的相关功能水到渠成。做视频监控系统,绕不过onvif这玩意,这玩意主要就是为了统一一个大概的标准&a…...

免费浏览的不良网站/简述如何优化网站的方法

from multiprocessing import Process,Pool poolPool(5) 不写参数,默认cpu核数走 进程数一般不超过100,线程数不超过1000 pool.apply()  同步接口 pool.apply_asgnc()  异步接口 pool.close()在pool.join()之前  进程池格式 pool.apply_async(fun…...

国外有哪些网站可以做电商/杭州网站seo价格

1.windows主机如何远程登录点本地电脑开始--运行(或者按"windowR")--输入mstsc 回车确认。在弹出远程连接的框输入IP连接输入: ip:端口(冒号为英文模式下的冒号),如 118.123.1.1:33890 输入用户名administrator和密码就可远程登录…...

网络工作平台/网站seo谷歌

路由模式 路由模式结构图: 定义配置类。 import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.BindingBuilder; import org.springframework.amqp.core.Exchange; import org.springframework.amqp.core.ExchangeBuilder; import …...

企业网站建设应注意哪些问题/疫情防控最新政策

目录 1 业务流程图 2【仓库服务】RabbitMQ环境准备 2.1 导入依赖 2.2 yml配置RabbitMQ信息 2.3 主启动类添加注解EnableRabbit 2.4 配置类,JSON消息转换、创建交换机、队列和绑定 2.5 导入seata依赖 3 监听库存解锁 3.0 分析 3.1 “仓库工作单” 数据库表…...

网站建设活动方案/湘潭高新区最新新闻

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,在…...