大家好,欢迎来到IT知识分享网。
RAIDUS概述
RADIUS(Remote Authentication Dial-In User Server,远程认证拨号用户服务)是一种分布式的、C/S架构的信息交互协议,能包含网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。
协议定义了基于UDP(User Datagram Protocol)的RADIUS报文格式及其传输机制,并规定UDP端口1812、1813分别作为认证、计费端口。
RAIDUS是一个承载认证、鉴权的协议,配置认证链路的网络访问服务和认证服务器之间的信息。
RADIUS主要特征
1)客户端服务器模型(C/S)
NAS作为RADIUS服务的客户端,RADIUS服务负责获取用户连接请求,验证用户,然后返回所有必要的配置信息,用于客户端提交服务给用户。
2)网络安全
在客户端和服务之间的传输通过使用共享密钥认证,共享密钥不能通过网络来传输。
3)灵活的鉴权机制
RADIUS支持下面的协议用于鉴权目的:
点对点协议 – PPP
密码认证协议- PAP
挑战-握手认证协议 – CHAP
简单的UNIX登录
4)扩展协议
RADIUS是可扩展的,许多RADIUS硬件和软件实现厂商有它们字节的方言。
5)无状态协议,使用UDP,运行在端口1812上。
RAIDUS工作原理

接入设备作为RADIUS客户端,负责收集用户信息(例如:用户名、密码等),并将这些信息发送到RADIUS服务器。RADIUS服务器则根据这些信息完成用户身份认证以及认证通过后的用户授权和计费。
RAIDUS报文

RADIUS协议采用UDP报文来传输消息。各字段的解释如下:
Code:长度为1个字节,用来说明RADIUS报文的类型。
Identifier:长度为1个字节,用来匹配请求报文和响应报文,以及检测在一段时间内重发的请求报文。客户端发送请求报文后,服务器返回的响应报文中的Identifier值应与请求报文中的Identifier值相同。
Length:长度为2个字节,用来指定RADIUS报文的长度。超过Length取值的字节将作为填充字符而忽略。如果接收到的报文的实际长度小于Length的取值,则该报文会被丢弃。
Authenticator:长度为16个字节,用来验证RADIUS服务器的响应报文,同时还用于用户密码的加密。
Attribute:不定长度,为报文的内容主体,用来携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节。Attribute可以包括多个属性,每一个属性都采用(Type、Length、Value)三元组的结构来表示。
目前RADIUS定义了十六种报文类型

RADIUS服务调研
1、阿里云身份认证

1)1.x的旧版本支持RADIUS服务,官网预计在 2023 年 9 月停止服务
2)2.x的新版本不提供RADIUS服务
2、自建服务

Freeradius包含一个radius服务器和radius-client,可以对支持radius协议的网络设备进行鉴权记账,常见的开源路由器操作系统:如Openwrt,DD-wrt等,都支持radius协议,对PPPOE,热点,VPN等服务器进行账户管理认证,记账。
1)支持AAA协议(验证、授权、计费)
2)支持多种认证类型,如密码(PAP)、挑战握手(CHAP)等
3)支持多种数据库,如MySQL、PostgreSQL等
4)支持百万级用户使用
可到官网研究
https://freeradius.org/
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/181093.html