AAA与Radius介绍
  

静下心来敲木鱼 672

{{ttag.title}}
本帖最后由 静下心来敲木鱼 于 2023-11-16 21:40 编辑

AAA介绍
AAA(AuthenticationAuthorization and Accounting)又称为认证、授权和计费,是一种管理网络安全的机制,主要为接入网络的用户提供认证、授权和计费三种基本服务,用于防止非法用户登陆设备( UDP端口号为1812、1813;默认的认证、计费端口号)
认证:对用户进行身份认证,验证用户是否具有访问网络/管理设备的权力
授权:对用户权限进行分类,提供不同的访问权限
记账:记录用户使用网络资源的情况,根据统计数据进行分析计费
AAA的基本架构
AAA通常采用客户端-服务器的结构,服务器集中管理用户信息
NAS客户端:网络接入设备(也可以作为本地AAA服务器管理用户信息)
AAA Server远端AAA服务器
AAA的认证 授权 计费方式
AAA认证方式
不认证:
不对用户进行认证,一般不推荐
本地认证:
将用户信息配置在NAS设备,当接收到用户信息后直接本地认证,认证速度快,但是存储的信息量会受到设备硬件限制
远端认证:
将用户信息配置在专用的AAA服务器上(Radius服务器或HWTACACS服务器)
AAA授权方式
不授权:
不对用户进行授权处理
本地授权:
根据NAS设备上为本地用户账户配置的相关属性进行授权
远端授权:
有专用的AAA服务器进行授权(Radius服务器或HWTACACS服务器)
AAA计费方式
不计费:不进行计费
远端计费:通过Radius服务器或HWTACACS服务器进行计费
AAA通过本地和远端实现的大致流程
远端方式流程
用户向NAS发起AAA申请,NAS收到后将其发送给AAA Server处理
AAA Server将处理后的结果返回给NAS,NAS根据处理结果为Host提供相应的AAA服务
本地方式流程
用户向NAS发起AAA申请,NAS收到后直接处理,然后根据处理结果为Host提供相应的AAA服务


Radius协议
Radius(Remote AutnenticationDial-In User Service)远程认证拨号用户服务,是一种客户端/服务器结构的信息交互协议(Radius的客户端一般是接入设备),承载在UDP协议之上;Radius的认证和授权一体,即认证和授权统一进行;不过Radius不对配置命令进行授权
注意:使用Radius服务器进行认证授权计费时,AAA的方式必须为远端方式
Radius端口号
Radius在进行远程认证的认证和计费端口号为1812和1813或1645和1646
Radius服务器认证方式
一般使用PAP和CHAP对用户进行认证
Radius协议应用场景
1、 在办公网场景中结合802.1x认证为用户提供认证授权计费服务
2、 可以作为Portal认证的认证服务器,为用户提供认证授权计费服务
3、 作为MAC认证的认证服务器,为哑终端等提供认证服务
4、 也可以直接使用Radius服务器进行远端认证,对用户进行认证授权计费服务
Radius架构
基于AAA的基本架构
Radius客户端
一般位于网络接入设备,可以遍布整个网络
负责将用户的请求传递给Radius服务器,并对服务器的处理结果做出响应
Radius服务器
一般运行在中心计算机或工作站上,维护相关的用户信息,用于响应Radius客户端的请求

对用户进行认证授权和计费;Radius服务器只要维护以下三个数据库
Users:用于存储用户信息(用户名、密码、IP地址等配置信息)
Clients:用于存储Radius客户端信息(IP地址等信息)
Dictionary:用于存储Radius协议中的属性和属性值含义等信息(进行Radius报文交互)
Radius报文结构
Code 包类型
指定Radius的报文类型
Access-Challenge:主要用于EAP中继认证场景
Accounting-Rquest又细分为
Accounting-Rquest(Start):计费开始请求报文
Accounting-Rquest(Interim-update):实时计费请求报文
Accounting-Rquest(Stop):计费结束请求报文
Accounting-Response又细分为
Accounting-Response(Start):计费开始响应把我嗯
Accounting-Response(Interim-update):实时计费响应报文
Accounting-Response(Stop):计费结束响应报文
Identifier 包标识
1、用来匹配请求和响应报文
Radius客户端发送请求报文后,Radius服务器返回的响应报文中的Identifier值与请求报文中的Identifier值相同,将相同Identifier值的请求和响应报文进行匹配
2、用来检测在一段时间内重发的请求报文
如果在一个很短的时间内收到相同的源IP地址、源UDP端口号以及Identifier值的请求报文,Radius服务器就认为是重复的请求报文
Length 包长度
指定Radius报文的长度(Code、Identifier、Length、Authenticator、Avps五个字段)
接收到的报文的实际长度大于Length的取值,超过的字节将作为填充字符而忽略
接收到的报文的实际长度小于Length的取值,该报文会被丢弃
Authenticator 包验证字(对用户进行认证授权)
1、用于对用户密码的加密处理(结合Radius如何给用户认证一起理解)
Request Authenticator 请求验证字
用在认证授权请求报文中,该值在密钥(NSA和服务器之间的共享密钥)的声明周期内是不可预测和唯一的,用来对用户的密码进行加密(不同的认证方式加密方法不同)
PAP方式
将共享密钥与Request Authenticator进行MD5运算,并将该值与用户输入的密码进行异或运算,将其结果存放在认证授权请求包的User-Password属性中
CHAP方式
将共享密钥与Request Authenticator和CHAP ID(认证方发给响应方的一个随机值)进行MD5运算,然后将此值与CHAP ID一起存放在认证授权请求包的Chap-Password属性中
2、用于验证来自服务端的响应的有效性
Response Authenticator 响应验证字
用在认证授权响应报文中,用于NAS验证响应报文的合法性
响应验证字=MD5(Code+Identifier+Length+请求验证字+Avps+共享密钥)
AVPs(Attributes Value Pairs)(Radius属性,可变字段)
携带认证、授权和记账信息(通过TLV结构表示)
TLV26厂商自定义属性(一个报文可以携带一个或多个私有属性,每个私有属性有一个或多个子属性)
TLV79用来承载EAP协议(当802.1x协议使用Radius服务器认证时使用)
Radius如何对用户进行认证
PAP方式(参考Authenticator字段的讲解)

CHAP方式
Radius协议报文交互过程

2663265561a7a35c45.png (52.06 KB, 下载次数: 27)

2663265561a7a35c45.png

打赏鼓励作者,期待更多好文!

打赏
2人已打赏

新手719320 发表于 2023-11-22 23:11
  
感谢分享,努力学习中!!!!
dhf 发表于 2024-4-8 10:41
  
感谢楼主的精彩分享,有助工作!!!
小鱼儿 发表于 2024-4-14 00:26
  
一起来学习,一起来学习
taoyb 发表于 2024-4-14 00:26
  
一起来学习,一起来学习
taoyanbin 发表于 2024-4-14 00:26
  
一起来学习,一起来学习
唐三平 发表于 2024-4-14 00:27
  
一起来学习,一起来学习
鲤鲤 发表于 2024-4-14 00:37
  
一起来学习,一起来学习
蔺嘉宾 发表于 2024-4-14 00:37
  
一起来学习,一起来学习
梦境人生 发表于 2024-4-14 00:37
  
一起来学习,一起来学习
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
功能体验
新版本体验
产品连连看
GIF动图学习
标准化排查
自助服务平台操作指引
运维工具
2023技术争霸赛专题
通用技术
秒懂零信任
技术晨报
信服课堂视频
用户认证
安装部署配置
深信服技术支持平台
安全攻防
SDP百科
设备维护
社区帮助指南
答题自测
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人