AAA 服务器与 RADIUS 协议笔记

一、AAA 服务器概述

1. 核心定义

AAA 是认证(Authentication)、授权(Authorization)和计费(Accounting) 的简称,是网络安全领域中实现访问控制的核心安全管理机制,通过整合三种服务确保网络资源的安全访问。

2. 三大核心功能

  • 认证(Authentication) :验证用户身份的合法性,确认 "你是谁"。
    核心动作包括核对用户名、密码、数字证书等用户凭证。
  • 授权(Authorization) :在认证通过后,明确用户可访问的资源范围,规定 "你能做什么"。
    具体表现为下发用户权限(如读写权限)、允许访问的目录 / 服务、用户操作级别等规则。
  • 计费(Accounting) :记录用户对网络资源的使用情况,统计 "你用了多少"。
    主要记录内容包括上网流量、连接时长、资源访问次数等数据,为计费结算或审计提供依据。

3. 应用场景

AAA 服务器通过精细化配置,可对多种网络服务提供安全保障,支持的典型服务包括 FTP、TELNET、PPP(点到点协议)、端口接入(如交换机端口准入)等。

二、RADIUS 协议详解

1. 协议定义

RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)是基于 AAA 模型的分布式网络协议,专为远程用户接入认证场景设计,是实现 AAA 机制的最常用协议之一。

2. 核心特性

  • 采用客户端 / 服务器(C/S)架构,分工明确;
  • 基于UDP 协议传输,默认使用端口:1812(认证与授权)、1813(计费);
  • 通过共享密钥实现客户端与服务器的身份验证,保障通信安全;
  • 支持多种认证方式(如密码认证、证书认证等);
  • 采用TLV(Type-Length-Value)结构定义属性,扩展性极强,可灵活适配不同场景需求。

3. 核心组件

  • 用户:远程接入网络的终端用户(如拨号用户、无线接入用户等),需提供身份凭证(用户名、密码等)。
  • RADIUS 客户端(网络接入服务器,NAS):直接接收用户接入请求的设备(如路由器、交换机、无线 AP),负责将用户凭证封装为协议报文并转发给 RADIUS 服务器。
  • RADIUS 服务器:核心处理节点,负责接收客户端转发的认证 / 授权请求,查询后端用户数据库(如 AD、LDAP)验证身份,执行授权规则,并记录计费信息;通常对接策略管理系统实现动态规则配置。

4. 完整交互流程

(1)认证与授权阶段
  1. 用户向 RADIUS 客户端(如无线 AP)输入用户名和密码等身份凭证;
  2. RADIUS 客户端将凭证封装为Access-Request(认证请求) 报文,通过共享密钥加密后发送给 RADIUS 服务器;
  3. RADIUS 服务器从后端用户数据库查询用户信息,比对凭证合法性:
    • 若认证通过,返回Access-Accept(认证通过) 报文,同时携带授权规则(如分配 IP 地址、会话超时时间);
    • 若认证失败,返回Access-Reject(认证拒绝) 报文,拒绝用户接入。
(2)计费阶段
  1. 认证通过后,RADIUS 客户端发送Accounting-Request(Start) 报文给服务器,标记会话开始,触发计费统计;
  2. 会话过程中,客户端可定期发送计费更新报文(可选);
  3. 当用户结束访问时,RADIUS 客户端发送Accounting-Request(Stop) 报文,携带完整的会话统计数据(如总流量、总时长);
  4. RADIUS 服务器接收后返回Accounting-Response 报文确认,完成计费记录闭环。

5. 报文结构

RADIUS 报文由固定头部和可变属性两部分组成,结构如下:

  • Code(1 字节) :定义报文类型,核心类型包括:
    1=Access-Request(认证请求)、2=Access-Accept(认证通过)、3=Access-Reject(认证拒绝)、4=Accounting-Request(计费请求)、5=Accounting-Response(计费响应)。
  • Identifier(1 字节):报文标识,用于匹配请求与响应,防止报文重复或乱序。
  • Length(2 字节):整个报文的总长度(字节数),范围为 20~4096 字节。
  • Authenticator(16 字节):认证字段,由共享密钥和报文内容计算生成,用于验证报文完整性、防止篡改及客户端 / 服务器身份校验。
  • Attributes(可变长度):携带具体业务数据的属性列表,每个属性格式为 "类型(1 字节)+ 长度(1 字节)+ 值(可变长度)"。

6. 核心属性(Attributes)

属性是 RADIUS 协议灵活性的核心,用于传递用户信息、认证数据、授权规则等关键内容。常见核心属性如下:

属性类型 描述 示例值
User-Name 用户名(用户身份标识) "alice@company.com"
User-Password 加密的用户密码(用共享密钥加密) 基于共享密钥加密的字符串
NAS-IP-Address NAS 设备(RADIUS 客户端)的 IP 地址 192.168.1.1
Framed-IP-Address 分配给用户的 IP 地址 10.0.0.5
Session-Timeout 会话超时时间(单位:秒) 3600(即 1 小时)
Service-Type 允许用户访问的服务类型 "Framed-User"(拨号用户)
Called-Station-Id 接入点标识(如无线 AP 的 MAC 地址) "AA-BB-CC-DD-EE-FF"

这些属性可根据实际需求扩展,支持自定义业务规则(如带宽限制、VLAN 分配等)。

相关推荐
用户03284722207016 小时前
如何搭建本地yum源(上)
运维
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质4 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz4 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工4 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智4 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
闪闪发亮的小星星4 天前
高斯光以及高斯光公式解释
笔记
古城小栈4 天前
Unix 与 Linux 异同小叙
linux·服务器·unix