当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux上构建一个RADIUS服务器详解(1)

Linux服务器
中小企业服务器配置-邮件服务器(1)
中小企业服务器配置-邮件服务器(2)
典型WEB服务器Apache高级设置指南
从HTTP服务器状态代码分析
基于反向代理的Web缓存加速现代理服务器
在ApacheHTTPD服务器中使用DSO完全分析
组网不求人!搭建简易Linux局网服务器
基于NUMA架构的高性能服务器技术(1)
基于NUMA架构的高性能服务器技术(2)
复制另一台Linux服务器及相关问题
Linux服务器之间怎么样SSH不需密码
Rsync在服务器间镜像或者备份目录
服务器诊所:鲜为人知但很有用的观念
服务器诊所:并不是仅仅就是线程化而已
服务器诊所:PDF自动生成专业质量输出
用低代价的服务器过程将文档处理自动化
设置一个企业级的LinuxPOP3服务器
WEB服务器Apache编译指南及高级技巧
给Qmail邮件服务器加个病毒防火墙
LinuxCVS服务器与WinCVS的配置与使用

Linux服务器 中的 Linux上构建一个RADIUS服务器详解(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 62 ::
收藏到网摘: n/a

Linux上构建一个RADIUS服务器详解

作为一名网络管理员,您需要为您所需管理的每个网络设备存放用于管理的用户信息。但是网络设备通常只支持有限的用户管理功能。学习如何使用Linux上的一个外部RADIUS服务器来验证用户,具体来说是通过一个LDAP服务器进行验证,可以集中放置存储在LDAP服务器上并且由RADIUS服务器进行验证的用户信息,从而既可以减少用户管理上的管理开销,又可以使远程登录过程更加安全。

数据安全作为现代系统中网络安全的一部分,与系统安全一样的重要,所以保护数据--确保提供机密性、完整性和可用性--对管理员来说至关重要。

在本文中,我将谈到数据安全性的机密性方面:确保受保护的数据只能被授权用户或系统访问。您将学习如何在Linux系统上建立和配置一个RemoteAuthenticationDial-InUserService服务器(RADIUS),以执行对用户的验证、授权和记帐(AAA)。

各组成元素介绍

首先让我们谈一谈RADIUS协议、AAA组件以及它们如何工作,另外还有LDAP协议。

RemoteAuthenticationDial-InUserService协议是在IET的RFC2865中定义的(请参阅参考资料获得相关链接)。它允许网络访问服务器(NAS)执行对用户的验证、授权和记帐。RADIUS是基于UDP的一种客户机/服务器协议。RADIUS客户机是网络访问服务器,它通常是一个路由器、交换机或无线访问点(访问点是网络上专门配置的节点;WAP是无线版本)。RADIUS服务器通常是在UNIX或Windows2000服务器上运行的一个监护程序。

RADIUS和AAA

如果NAS收到用户连接请求,它会将它们传递到指定的RADIUS服务器,后者对用户进行验证,并将用户的配置信息返回给NAS。然后,NAS接受或拒绝连接请求。

功能完整的RADIUS服务器可以支持很多不同的用户验证机制,除了LDAP以外,还包括:

PAP(PasswordAuthenticationProtocol,密码验证协议,与PPP一起使用,在此机制下,密码以明文形式被发送到客户机进行比较);

CHAP(ChallengeHandshakeAuthenticationProtocol,挑战握手验证协议,比PAP更安全,它同时使用用户名和密码);

本地UNIX/Linux系统密码数据库(/etc/passwd);

其他本地数据库。

在RADIUS中,验证和授权是组合在一起的。如果发现了用户名,并且密码正确,那么RADIUS服务器将返回一个Access-Accept响应,其中包括一些参数(属性-值对),以保证对该用户的访问。这些参数是在RADIUS中配置的,包括访问类型、协议类型、用户指定该用户的IP地址以及一个访问控制列表(ACL)或要在NAS上应用的静态路由,另外还有其他一些值。

RADIUS记帐特性(在RFC2866中定义;请参阅参考资料获得相关链接)允许在连接会话的开始和结束发送数据,表明在会话期间使用的可能用于安全或开单(billing)需要的大量资源--例如时间、包和字节。

轻量级目录访问协议

轻量级目录访问协议(LightweightDirectoryAccessProtocol,LDAP)是一种开放标准,它定义了用于访问和更新类X.500目录中信息的一种方法。LDAP可用于将用户信息保存在一个中央场所,从而不必将相同的信息存储在每个系统上。它还可以用于以一种一致的、可控制的方式维护和访问信息。

LDAP在一个集中的目录中管理用户,从而简化了用户管理工作。除了存储用户信息外,在LDAP中定义用户还可以使一些可选特性得到启用,例如限制登录的数量。在本文中,您将学习如何配置RADIUS服务器,以便基于LDAP验证用户--由于本文的重点在于RADIUS,我不会描述关于LDAP服务器的安装和配置的细节。

OpenLDAP是LDAP的一种开放源码实现。在OpenLDAP.org上可以找到关于它的详细信息(请参阅参考资料获得相关链接)。

场景

想像以下场景:

用户在家里可以通过拨号验证访问他公司的内部网。

带无线支持的笔记本电脑可以通过无线验证连接到一个校园网。

管理员使用他们的工作站通过管理用户验证以telnet或HTTP登录到网络设备。

所有这些验证任务都可以通过一个RADIUS服务器基于一个中央LDAP服务器来完成。

       

tar-zxvffreeradius-1.0.2.tar.gz
-extractitwithgunzipandtar
./configuremakemakeinstall-runthiscommandasrootradiusdor
-startRADIUSserverradiusd-X-startRADIUSserverindebug
moderadtesttesttestlocalhost0testing123-testRADIUSserver

如果radtest收到一个响应,则表明FreeRADIUS服务器工作正常。

同时我还推荐另一种免费工具,那就是NTRadPing,它可用于测试来自Windows客户机的验证和授权请求。

它可以显示从RADIUS服务器发回的详细的响应,例如属性值。现在让我们来配置FreeRADIUS。