《2022年在Linux上构建一个RADIUS服务器归纳 .pdf》由会员分享,可在线阅读,更多相关《2022年在Linux上构建一个RADIUS服务器归纳 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、在 Linux 上构建一个 RADIUS 服务器将远程网络登录集中化并保证其安全Wei Zhang ( ), IT 专家, EMC 简介: 作为一名网络管理员,您需要为您所需管理的每个网络设备存放用于管理的用户信息。但是网络设备通常只支持有限的用户管理功能。学习如何使用Linux ? 上的一个外部 RADIUS 服务器来验证用户,具体来说是通过一个 LDAP 服务器进行验证,可以集中放置存储在 LDAP 服务器上并且由 RADIUS 服务器进行验证的用户信息, 从而既可以减少用户管理上的管理开销,又可以使远程登录过程更加安全。本文的标签:radius , 安全, 管理, 网络标记本文!发布日期
2、: 2010 年 9 月 20 日级别: 初级访问情况 7563 次浏览建议: 0 ( 添加评论 ) 平均分 (共 16 个评分 )数据安全作为现代系统中网络安全的一部分,与系统安全一样的重要, 所以保护数据 确保提供机密性、完整性和可用性 对管理员来说至关重要。在本文中,我将谈到数据安全性的机密性方面:确保受保护的数据只能被授权用户或系统访问。您将学习如何在 Linux 系统上建立和配置一个 Remote Authentication Dial-In User Service 服务器( RADIUS ),以执行对用户的验证、授权和记帐( AAA )。各组成元素介绍首先让我们谈一谈 RADIU
3、S 协议、 AAA 组件以及它们如何工作,另外还有 LDAP 协议。Remote Authentication Dial-In User Service 协议是在 IETF 的 RFC 2865 中定义的(请参阅参考资料获得相关链接)。它允许网络访问服务器(NAS )执行对用户的验证、授权和记帐。RADIUS 是基于 UDP 的一种客户机 / 服务器协议。RADIUS 客户机是网络访问服务器,它通常是一个路由器、交换机或无线访问点(访问点是网络上专门配置的节点;WAP 是无线版本)。 RADIUS 服务器通常是在 UNIX 或 Windows 2000 服务器上运行的一个监护程序。名师资料总结
4、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - RADIUS 和 AAA 如果 NAS 收到用户连接请求,它会将它们传递到指定的 RADIUS 服务器,后者对用户进行验证, 并将用户的配置信息返回给 NAS。然后,NAS 接受或拒绝连接请求。功能完整的 RADIUS 服务器可以支持很多不同的用户验证机制,除了 LDAP 以外,还包括:PAP (Password Authentication Protocol ,密码验证协议,与 PPP 一
5、起使用,在此机制下,密码以明文形式被发送到客户机进行比较);CHAP (Challenge Handshake Authentication Protocol,挑战握手验证协议,比 PAP 更安全,它同时使用用户名和密码);本地 UNIX/Linux 系统密码数据库( /etc/passwd );其他本地数据库。在 RADIUS 中, 验证和授权是组合在一起的。 如果发现了用户名, 并且密码正确,那么 RADIUS 服务器将返回一个Access-Accept响应,其中包括一些参数(属性-值对),以保证对该用户的访问。这些参数是在 RADIUS 中配置的,包括访问类型、协议类型、用户指定该用户的
6、 IP 地址以及一个访问控制列表(ACL )或要在 NAS 上应用的静态路由,另外还有其他一些值。RADIUS 记帐特性(在 RFC 2866 中定义;请参阅参考资料获得相关链接)允许在连接会话的开始和结束发送数据,表明在会话期间使用的可能用于安全或开单(billing)需要的大量资源 例如时间、包和字节。轻量级目录访问协议轻量级目录访问协议( Lightweight Directory Access Protocol,LDAP )是一种开放标准,它定义了用于访问和更新类 X.500 目录中信息的一种方法。 LDAP 可用于将用户信息保存在一个中央场所,从而不必将相同的信息存储在每个系统上。它
7、还可以用于以一种一致的、可控制的方式维护和访问信息。LDAP 在一个集中的目录中管理用户,从而简化了用户管理工作。除了存储用户信息外,在 LDAP 中定义用户还可以使一些可选特性得到启用,例如限制登录的数量。在本文中, 您将学习如何配置 RADIUS 服务器,以便基于 LDAP 验证用户 由于本文的重点在于 RADIUS , 我不会描述关于 LDAP 服务器的安装和配置的细节。OpenLDAP 是 LDAP 的一种开放源码实现。在 OpenLDAP.org 上可以找到关于它的详细信息(请参阅参考资料获得相关链接)。场景想像以下场景:名师资料总结 - - -精品资料欢迎下载 - - - - -
8、- - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 用户在家里可以通过拨号验证访问他公司的内部网。带无线支持的笔记本电脑可以通过无线验证连接到一个校园网。管理员使用他们的工作站通过管理用户验证以 telnet 或 HTTP 登录到网络设备。所有这些验证任务都可以通过一个 RADIUS 服务器基于一个中央 LDAP 服务器来完成(见图 1 )。图 1. 通过 RADIUS 和 LDAP 进行验证在本文中,我将重点描述对最后一种选项的实现, 作为对该解决方案的一个介绍。首先安装 RADIUS 服
9、务器。回页首安装 RADIUS RADIUS 服务器软件可以从多个地方获得。在本文中, 我将使用 FreeRADIUS (请参阅 参考资料获得相关链接), 但 Cisco Secure Access Control Server (ACS) 是一种集中式用户访问控制框架, 可用于跨 UNIX 和 Windows 上多个 Cisco 设备的用户管理, 并支持 Cisco 特有的协议 TACACS+(据说在支持 TACACS+ 的设备上可拥有更多的特性)。FreeRADIUS 是来自开放源码社区的一种强大的 Linux 上的 RADIUS 服务器,可用于如今的分布式和异构计算环境。FreeRADI
10、US 1.0.2 支持 LDAP 、MySQL 、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - PostgreSQL 和 Oracle 数据库,并与诸如 EAP 和 Cisco LEAP 之类的网络协议兼容。 FreeRADIUS 目前被部署在很多大型生产网络系统中。下面的步骤演示如何在 Red Hat Enterprise Linux Advanced Server 3.0 上安装和测试 FreeRADIUS 1.0.2
11、:清单 1. 安装和测试 FreeRADIUStar -zxvf freeradius-1.0.2.tar.gz - 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
12、收到一个响应,则表明 FreeRADIUS 服务器工作正常。同时我还推荐另一种免费工具, 那就是 NTRadPing (请参阅 参考资料获得相关链接),它可用于测试来自 Windows 客户机的验证和授权请求。它可以显示从RADIUS 服务器发回的详细的响应,例如属性值。现在让我们来配置 FreeRADIUS 。回页首配置 FreeRADIUS RADIUS 服务器的配置包括对服务器、客户机和用户的配置(都是用于验证和授权)。出于不同的需要,对 RADIUS 服务器可以有不同的配置。幸运的是,大多数配置都是类似的。配置服务器FreeRADIUS 配置文件通常位于 /etc/raddb 文件夹下
13、。首先,我们需要像下面这样修改 radiusd.conf 文件。清单 2. 修改 radiusd.conf名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 1) Global settings:log_auth = yes - log authentication requests to the log file log_auth_badpass = no - dont log passwords if request reje
14、cted log_auth_goodpass = no - dont log passwords if request accepted 2) LDAP Settings:modules ldap server = - the hostname or IP address of the LDAP server port = 636 - encrypted communications basedn = ou=bluepages,o= - define the base Distinguished Names (DN), - under the Organization (O) , - in t
15、he Organization Unit (OU) bluepages filter = (mail=%u) - specify search criteria base_filter = (objectclass=person) - specify base search criteria authenticate - enable authentication against LDAP Auth-Type LDAP ldap 参数被设为使用 IBM BluePages ,这是 LDAP 服务的一个实例。对于其他 LDAP 服务器,参数可能有所不同。配置客户机客户机是在 /etc/raddb
16、/clients.conf 文件中配置的。有两种方式可用于配置RADIUS 客户机。您可以按 IP subnet 将 NAS 分组(清单 3 ),或者可以按主机名或 IP 地址列出 NAS (清单 4 ) 。 如果按照第二种方法, 可以定义 shortname 和 nastype 。清单 3. 按 IP subnet 将 NAS 分组client 192.168.0.0/24 secret = mysecret1 - the secret should be the same as configured on NAS shortname = mylan - the shortname can
17、be used for logging 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - nastype = cisco - the nastype is used for checkrad and is optional 清单 4. 按主机名或 IP 地址列出 NASclient 192.168.0.1 secret = mysecret1 shortname = myserver nastype = other 为验证而配置
18、用户文件 /etc/raddb/user 包含每个用户的验证和配置信息。清单 5. /etc/raddb/user 文件1) Authentication type:Auth-Type := LDAP - authenticate against LDAP Auth-Type := Local, User-Password = mypasswd - authenticate against the - password set in /etc/raddb/user Auth-Type := System - authenticate against the system password fi
19、le - /etc/passwd or /etc/shadow 2) Service type:Service-Type = Login, - for administrative login 为授权而配置用户下面的验证服务器属性 - 值对( AV )应该为用户授权而进行配置。在验证被接受后,这个属性 - 值对被返回给 NAS ,作为对管理员登录请求的响应。对于 Cisco 路由器,有不同的权限级别:级别 1 是无特权( non-privileged)。提示符是 router,这是用于登录的默认级别。级别 15 是特权(privileged)。 提示符是 router#,这是进入 enable
20、 模式后的级别。级别 2 到 14 在默认配置中不使用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 下面的命令可以使一个用户从网络访问服务器登录,并获得对 EXEC 命令的立即访问:cisco-avpair =shell:priv-lvl=15 下面的代码处理相同的任务,这一次是对于 Cisco 无线访问点:Cisco:Avpair = aironet:admin-capability=write+snmp+ident+f
21、irmware+admin 任何功能组合都和这个属性一起返回:Cisco:Avpair = aironet:admin-capability=ident+admin Cisco:Avpair = aironet:admin-capability=admin 请与 Cisco 联系,以获得关于这些命令的更多信息。回页首配置网络访问服务器接下来我们将配置 NAS ,首先是配置一个 Cisco 路由器,然后轮到一个 Cisco WAP 。对于 Cisco IOS 12.1 路由器,我们将启用 AAA,然后配置验证、授权和记帐。清单 6. 启用 AAAaaa new-model radius-serv
22、er host 192.168.0.100 radius-server key mysecret1 AAA 在路由器上应该被启用。 然后,指定能为 NAS 提供 AAA 服务的 RADIUS 服务器的列表。加密密钥用于加密 NAS 和 RADIUS 服务器之间的数据传输。它必须与 FreeRADIUS 上配置的一样。清单 7. 配置验证aaa authentication login default group radius local line vty 0 4 login authentication default 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
23、- - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 在这个例子中, 网络管理员使用 RADIUS 验证。如果 RADIUS 服务器不可用, 则使用 NAS 的本地用户数据库密码。清单 8. 配置授权aaa authorization exec default group radius if-authenticated 允许用户在登录到 NAS 中时运行 EXEC shell 。清单 9. 配置记帐aaa accounting system default start-stop group radius
24、aaa accounting network default start-stop group radius aaa accounting connection default start-stop group radius aaa accounting exec default stop-only group radius aaa accounting commands 1 default stop-only group radius aaa accounting commands 15 default wait-start group radius 必须对路由器进行特别的配置, 以使之发送
25、记帐记录到 RADIUS 服务器。使用清单 9 中的命令记录关于 NAS 系统事件、网络连接、输出连接、EXEC 操作以及级别 1 和级别 15 上的命令的记帐信息。这样就好了。现在让我们看看为 Cisco 无线访问点而进行的配置。下面的配置适用于带有 Firmware 12.01T1 的 Cisco 1200 Series AP。如图 2 中的屏幕快照所示,您:输入服务器名或 IP 地址和共享的秘密。选择“ Radius”作为类型,并选中“ User Authentication”。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
26、- 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 图 2. 为 WAP 配置 NAS实际上,在这里您还可以配置 EAP Authentication,使 FreeRADIUS 可用于验证无线 LAN 的一般用户。回页首记帐:工作中的 RADIUS 现在所有配置都已经完成, FreeRADIUS 服务器可以开始记录 NAS 发送的所有信息,将该信息存储在 /var/log/radius/radius.log 文件中,就像这样:清单 10. /var/log/radius/radius.log 文件Thu Mar 3 21:37:32 20
27、05 : Auth: Login OK: David (from client mylan port 1 cli 192.168.0.94) Mon Mar 7 23:39:53 2005 : Auth: Login incorrect: John (from client mylan port 1 cli 192.168.0.94) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - 详细的记帐信息被存放在 /var/log/r
28、adius/radacct 目录中。清单 11 表明,David 在 2005 年 3 月 4 日 19:40 到 19:51 这段时间里从 192.168.0.94 登录到了路由器 192.168.0.1。 这么详细的信息对于正在调查安全事故以及试图维护易于审计的记录的管理员来说无疑是一大帮助。清单 11. RADIUS 提供的记帐细节示例Fri Mar 4 19:40:12 2005 NAS-IP-Address = 192.168.0.1 NAS-Port = 1 NAS-Port-Type = Virtual User-Name = David Calling-Station-Id =
29、 192.168.0.94 Acct-Status-Type = Start Acct-Authentic = RADIUS Service-Type = NAS-Prompt-User Acct-Session-Id = 00000026 Acct-Delay-Time = 0 Client-IP-Address = 192.168.0.1 Acct-Unique-Session-Id = 913029a52dacb116 Timestamp = 1109936412 Fri Mar 4 19:51:17 2005 NAS-IP-Address = 192.168.0.1 NAS-Port
30、= 1 NAS-Port-Type = Virtual User-Name = David Calling-Station-Id = 192.168.0.94 Acct-Status-Type = Stop Acct-Authentic = RADIUS Service-Type = NAS-Prompt-User Acct-Session-Id = 00000026 Acct-Terminate-Cause = Idle-Timeout Acct-Session-Time = 665 Acct-Delay-Time = 0 Client-IP-Address = 192.168.0.1 Ac
31、ct-Unique-Session-Id = 913029a52dacb116 Timestamp = 1109937077 回页首结束语名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 通过遵循本文中列出的简单步骤,您可以建立一个 Remote Authentication Dial-In User Service 服务器,该服务器使用一个外部的 LDAP 服务器来处理为网络安全问题而进行的验证、 授权和记帐。 本文提供了以
32、下内容来帮助您完成此任务:对 RADIUS 和 LDAP 服务器以及 AAA 概念的介绍。一个融入了安装和配置任务的场景。关于安装和配置 RADIUS 服务器的说明。关于配置网络访问服务器的细节。RADIUS 将提供和管理的详细信息的一个示例。这些指示可以快速确保受保护的数据只能由 Linux 系统上已授权的实体访问。参考资料您可以参阅本文在 developerWorks 全球站点上的英文原文 。Internet Engineering Task Force的 RFC 2865 对 RADIUS 作了描述。RFC 2866 描述了用于指定记帐信息的一个协议。Configuring RADIUS
33、描述了 RADIUS 安全系统,定义了它的操作,并指出了适合与不适合使用 RADIUS 的网络环境。通过访问OpenLDAP.org 获得关于 OpenLDAP 的更多信息。Understanding LDAP - Design and Implementation (IBM Redbooks ,2004 年 6 月)介绍了 LDAP 概念和架构以及 IBM Tivoli Directory Server 。这篇 LDAP Linux HOWTO 含有关于在 Linux 系统上安装、配置、运行和维护 LDAP 服务器的完整信息。Authenticating Linux users with I
34、BM Directory Server(developerWorks ,2003 年 9 月)描述了如何使用 IBM Directory Server 来验证 Linux 用户。让 Linux 更安全,第 1 部分:介绍 (developerWorks ,2004 年 7 月)展示了如何将 LDAP 服务器用于用户信息和验证。从 OpenLDAP 网站获得最新版本的OpenLDAP 。从 FreeRADIUS 网站 获得 FreeRADIUS 。NTRadPing 让您可以测试来自 Windows 客户的验证和授权请求。名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
35、- - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 为了解更多关于 Cisco Secure Access Control Server (ACS) 和网络设备上的 AAA 实现的信息,请访问Cisco Systems 。通过访问 IETF ,了解更多关于RADIUS 、RADIUS accounting和 LDAP 验证方法 的信息。PADL Software 提供了大量Linux/LDAP 文档和参考资料 。在 developerWorks Linux 专区 可以找到为 Linux 开发人员准备的
36、更多有用信息。通过参与developerWorks blogs加入 developerWorks 社区。购买 Developer Bookstore 的 Lotus 专区中 打折出售的 Lotus 书籍。在您的下一个 Linux 开发项目中使用IBM 试用软件 ,它们可以从developerWorks 的下载目录中获得。关于作者Wei Zhang 是一名网络和信息安全专家。在过去六年里,他设计和实现了不同类型的大规模网络系统,涵盖了很多种技术,从 SNA 、VoIP、IDS、VPN 和防火墙到无线 LAN。他于 2003 年加入 IBM,担任一名 IT 专家。目前,他的工作重点是信息安全技术和管理。您可以通过与他联系。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -