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协议中的属性和属性值的含义。
另外,RADIUS服务器还能够作为其他AAA服务器的客户端进行代理认证或计费。
2. RADIUS的基本消息交互流程
RADIUS客户端(交换机)和RADIUS服务器之间通过共享密钥来认证交互的消息,增强了安全性。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) 用户访问资源结束。

本文出自 “碧云天” 博客,转载请与作者联系!

你可能感兴趣的:(职场,休闲,radius)