在 Linux 上构建一个 RADIUS 服务器

在 Linux 上构建一个 RADIUS 服务器
将远程网络登录集中化并保证其安全
Wei Zhang (zhangwd@cn.ibm), IT 专家, EMC
Wei Zhang 是一名网络和信息安全专家。在过去六年里,他设计和实现了不同类型的大规模网络系统,涵盖了很多种技术,从 SNA、VoIP、IDS、VPN 和防火墙到无线 LAN。他于 2003 年加入 IBM,担任一名 IT 专家。目前,他的工作重点是信息安全技术和管理。您可以通过 zhangwd@cn.ibm 与他联系。
简介: 作为一名网络管理员,您需要为您所需管理的每个网络设备存放用于管理的用户信息。但是网络设备通常只支持有限的用户管理功能。学习如何使用 Linux™ 上的一个外部 RADIUS 服务器来验证用户,具体来说是通过一个 LDAP 服务器进行验证,可以集中放置存储在 LDAP 服务器上并且由 RADIUS 服务器进行验证的用户信息,从而既可以减少用户管理上的管理开销,又可以使远程登录过程更加安全。
本文的标签:  radius, 安全, 管理, 网络
标记本文!
发布日期: 2010 年 9 月 20 日
级别: 初级
访问情况 7563 次浏览
建议: 0 (添加评论)
平均分 (共 16 个评分 )
绍兴越秀外国语职业学院数据安全作为现代系统中网络安全的一部分,与系统安全一样的重要,所以保护数据 —— 确保提供机密性、完整性和可用性 —— 对管理员来说至关重要。
在本文中,我将谈到数据安全性的机密性方面:确保受保护的数据只能被授权用户或系统访问。您将学习如何在 Linux 系统上建立和配置一个 Remote Authentication Dial-In User Service 服务器(RADIUS),以执行对用户的验证、授权和记帐(AAA)。
各组成元素介绍
首先让我们谈一谈 RADIUS 协议、AAA 组件以及它们如何工作,另外还有 LDAP 协议。
Remote Authentication Dial-In User Service 协议是在 IETF 的 RFC 2865 中定义的(请参阅 参考资料 获得相关链接)。它允许网络访问服务器(NAS)执行对用户的验证、授权和记帐。RADIUS 是基于 UDP 的一种客户机/服务器协议。RADIUS 客户机是网络访问服务器,它通常是一个路由器、交换机或无线访问点(访问点是网络上专门配置的节点;WAP 是无线版本)。RADIUS 服务器通常是在 UNIX 或 Windows 2000 服务器上运行的一个监护程序。
RADIUS 和 AAA
如果 NAS 收到用户连接请求,它会将它们传递到指定的 RADIUS 服务器,后者对用户进行验证,并将用户的配置信息返回给 NAS。然后,NAS 接受或拒绝连接请求。 基弗
功能完整的 RADIUS 服务器可以支持很多不同的用户验证机制,除了 LDAP 以外,还包括:
PAP(Password Authentication Protocol,密码验证协议,与 PPP 一起使用,在此机制下,密码以明文形式被发送到客户机进行比较);
CHAP(Challenge Handshake Authentication Protocol,挑战握手验证协议,比 PAP 更安全,它同时使用用户名和密码);
本地 UNIX/Linux 系统密码数据库(/etc/passwd);
其他本地数据库。
在 RADIUS 中,验证和授权是组合在一起的。如果发现了用户名,并且密码正确,那么 RADIUS 服务器将返回一个 Access-Accept国家安全生产监督管理总局化学品登记中心干栏式建筑 响应,其中包括一些参数(属性-值对),以保证对该用户的访问。这些参数是在 RADIUS 中配置的,包括访问类型、协议类型、用户指定该用户的 IP 地址以及一个访问控制列表(ACL)或要在 NAS 上应用的静态路由,另外还有其他一些值。
限塑令的意义
RADIUS 记帐特性(在 RFC 2866 中定义;请参阅 参考资料 获得相关链接)允许在连接会话的开始和结束发送数据,表明在会话期间使用的可能用于安全或开单(billing)需要的大量资源 —— 例如时间、包和字节。
轻量级目录访问协议
轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)是一种开放标准,它定义了用于访问和更新类 X.500 目录中信息的一种方法。LDAP 可用于将用户信息保存在一个中央场所,从而不必将相同的信息存储在每个系统上。它还可以用于以一种一致的、可控制的方式维护和访问信息。
LDAP 在一个集中的目录中管理用户,从而简化了用户管理工作。除了存储用户信息外,在 LDAP 中定义用户还可以使一些可选特性得到启用,例如限制登录的数量。在本文中,您将学习如何配置 RADIUS 服务器,以便基于 LDAP 验证用户 —— 由于本文的重点在于 RADIUS,我不会描述关于 LDAP 服务器的安装和配置的细节。
OpenLDAP 是 LDAP 的一种开放源码实现。在 上可以到关于它的详细信息(请参阅 参考资料 获得相关链接)。
场景
想像以下场景:
用户在家里可以通过拨号验证访问他公司的内部网。
带无线支持的笔记本电脑可以通过无线验证连接到一个校园网。
管理员使用他们的工作站通过管理用户验证以 telnet 或 HTTP 登录到网络设备。
平衡仪
所有这些验证任务都可以通过一个 RADIUS 服务器基于一个中央 LDAP 服务器来完成(见图 1)。

图 1. 通过 RADIUS 和 LDAP 进行验证
在本文中,我将重点描述对最后一种选项的实现,作为对该解决方案的一个介绍。首先安装 RADIUS 服务器。
回页首
安装 RADIUS
RADIUS 服务器软件可以从多个地方获得。在本文中,我将使用 FreeRADIUS(请参阅 参考资料 获得相关链接),但 Cisco Secure Access Control Server (ACS) 是一种集中式用户访问控制框架,可用于跨 UNIX 和 Windows 上多个 Cisco 设备的用户管理,并支持 Cisco 特有的协议 TACACS+(据说在支持 TACACS+ 的设备上可拥有更多的特性)。
FreeRADIUS 是来自开放源码社区的一种强大的 Linux 上的 RADIUS 服务器,可用于如今的分布式和异构计算环境。FreeRADIUS 1.0.2 支持 LDAP、MySQL、PostgreSQL 和 Oracle 数据库,并与诸如 EAP 和 Cisco LEAP 之类的网络协议兼容。FreeRADIUS 目前被部署在很多大型生产网络系统中。
下面的步骤演示如何在 Red Hat Enterprise Linux Advanced Server 3.0 上安装和测试 FreeRADIUS 1.0.2:

清单 1. 安装和测试 FreeRADIUS
               
tar -zxvf freeradius-1.0.        - extract it with gunzip and tar
./configure
make
make install                              - run this command as root
radiusd or                                - start RADIUS server
radiusd -X                                - start RADIUS server in debug mode
radtest test test localhost 0 testing123  - test RADIUS server
如果 radtest 收到一个响应,则表明 FreeRADIUS 服务器工作正常。
同时我还推荐另一种免费工具,那就是 NTRadPing(请参阅 参考资料 获得相关链接),它可用于测试来自 Windows 客户机的验证和授权请求。它可以显示从 RADIUS 服务器发回的详细的响应,例如属性值。
现在让我们来配置 FreeRADIUS。

本文发布于:2024-09-21 23:34:05,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/191921.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:用户   验证   访问   服务器   管理   用于
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议