![](https://csdnimg.cn/release/download_crawler_static/3066012/bg1.jpg)
Linux 上构建一个 RADIUS 服务器详解
为一名网络管理员,您需要为您所需管理的每个网络设备存放用于管理的用户信息。但是网
络设备通常只支持有限的用户管理功能。学习如何使用 Linux 上的一个外部 RADIUS 服务器
来验证用户,具体来说是通过一个 LDAP 服务器进行验证,可以集中放置存储在 LDAP 服务
器上并且由 RADIUS 服务器进行验证的用户信息,从而既可以减少用户管理上的管理开销,
又可以使远程登录过程更加安全。
数据安全作为现代系统中网络安全的一部分,与系统安全一样的重要,所以保护数据‐‐确保
提供机密性、完整性和可用性‐‐对管理员来说至关重要。
在本文中,我将谈到数据安全性的机密性方面:确保受保护的数据只能被授权用户或系统访
问。您将学习如何在 Linux 系统上建立和配置一个 RemoteAuthenticationDial‐InUserService
服务器(RADIUS),以执行对用户的验证、授权和记帐(AAA)。
各组成元素介绍
首先让我们谈一谈 RADIUS 协议、AAA 组件以及它们如何工作,另外还有 LDAP 协议。
Remote Authentication Dial‐In User Service 协议是在 IET 的 RFC 2865 中定义的(请参阅参考
资料获得相关链接)。它允许网络访问服务器(NAS)执行对用户的验证、授权和记帐。RADIUS
是基于 UDP 的一种客户机/服务器协议。
RADIUS 客户机是网络访问服务器,它通常是一个路
由器、交换机或无线访问点(访问点是网络上专门配置的节点;WAP 是无线版本)。RADIUS
服务器通常是在 UNIX 或 Windows2000 服务器上运行的一个监护程序。
RADIUS 和 AAA
如果 NAS 收到用户连接请求,它会将它们传递到指定的 RADIUS 服务器,后者对用户进行验
证,并将用户的配置信息返回给 NAS。然后,NAS 接受或拒绝连接请求。
功能完整的 RADIUS 服务器可以支持很多不同的用户验证机制,除了 LDAP 以外,还包括:
PAP(Password Authentication Protocol,密码验证协议,与 PPP 一起使用,在此机制下,密
码以明文形式被发送到客户机进行比较);
CHAP(ChallengeHandshakeAuthenticationProtocol,挑战握手验证协议,比 PAP 更安全,它
同时使用用户名和密码);
本地 UNIX/Linux 系统密码数据库(/etc/passwd);
其他本地数据库。
在 RADIUS 中,验证和授权是组合在一起的。如果发现了用户名,并且密码正确,那么 RADIUS
服务器将返回一个 Access‐Accept 响应,其中包括一些参数(属性‐值对),以保证对该用户