开源 LDAP 实现的 4 大选择

1 位读者喜欢这篇文章。
neon sign with head outline and open source why spelled out

Opensource.com

当您想要设置应用程序时,很可能需要创建一个管理帐户并添加具有不同权限的用户。内容管理、wiki、文件共享和邮件列表以及代码版本控制和持续集成工具经常出现这种情况。在考虑用户和组集中化时,您需要选择一个适合您需求的应用程序。

如果应用程序可以连接到单点登录服务器,用户将很乐意只记住一个密码。

在专有目录服务器领域,Active Directory 是主要的工具,但也有可以满足您需求的目录服务器。LDAP 协议是所有目录服务器的基础,无论它们是如何实现的。该协议是一个行业标准,允许您创建、搜索、修改和删除您的用户或组。而且,如果应用程序能够连接到 LDAP 服务器,您就不必担心理解该协议。

OpenLDAP

最著名的 LDAP 服务器是 OpenLDAP,您可以在许多 Linux 发行版中找到它。它根据 OpenLdap 公共许可证发布,具有良好的文档和 全球商业支持。使用 OpenLDAP,您可以保护通信并为用户定义权限。作为一个命令行工具,您可以考虑设置 phpLDAPAdmin,这是一个 Web 应用程序,允许您在浏览器中查看和修改组织的结构。如果您发现设置和配置 OpenLDAP 很困难,您可能会发现 ApacheDS 和 OpenDJ 更容易,因为它们都是在 Java 上运行的 LDAP 服务器。

ApacheDS

ApacheDS 遵循最新版本的 LDAP 协议,并根据 Apache 许可证发布。虽然您可以使用 OpenLDAP 命令行,但 ApacheDS 与 Apache Directory Studio(一个客户端应用程序)一起发布,该应用程序允许您轻松管理用户和组。对于设置,ApacheDS 为 Windows、Mac OS X 和 Linux 提供了不同的安装程序。此外,如果您正在寻找开源身份服务器,您可能会发现 WSO2 Identity Server 内置了 ApacheDS 来管理用户。

OpenDJ

OpenDJ 是前一个项目 OpenDS 的一个分支,并且与 Oracle Unified Directory 具有相似的根源,因为它继承自 Sun Microsystems。在 2010 年 Sun 被 Oracle 收购后,OpenDJ 被设计为取代 Sun Directory Server。OpenDJ 根据 CDDL 许可证发布,并且像 OpenLDAP 一样,具有良好的文档和 全球商业支持。OpenDJ 正在积极开发中,正在进行的活动反映在 路线图 中。OpenDJ 团队不仅提供了一个 客户端应用程序 来管理服务器,还提供了 OpenAM,它提供单点登录、授权、联合等等。

389 Directory Server

389 Directory 服务器是 Red Hat 产品(也以 Red Hat Enterprise 发行版之上的 Red Hat Directory Server 名称提供)。它主要以 GPL 许可,其他组件采用不同的许可证。目录服务器正在积极开发中,并为 Fedora 和 Red Hat 发行版打包,尽管您也可以为其他 Linux 发行版获取它。389 Directory Server 还有一个 图形界面,可用于管理。如果您需要更多服务,如证书颁发机构和身份验证以及与 Active Directory 的集成,请查看基于 389 的 FreeIPA 。


 

OpenLDAPApacheDSOpenDJ389 Directory 服务器都允许您建立安全的通信并为用户定义权限;它们还具有强大的加密方法来存储用户密码。

User profile image.
Emidio 是一位 IT 顾问,对开源软件、新技术、持续交付和自动化测试充满热情。您可以在 Twitter 上关注他 @emidiostani

18 条评论

这不应该被称为“LDAP 的开源实现”或“Active Directory 的开源替代方案”吗?文章正确地描述了 LDAP 只是协议,但标题令人困惑,可能具有误导性。

你好 Mark,我同意你的看法,目前我遇到一些登录问题,一旦解决,我会更改它。

最好的,

Emidio

你好,我已经修改了标题 :-)

没有提及 FreeIPA?诚然,LDAP 实现是 389 Directory Server,但如果您正在讨论 GUI 工具和 Active Directory,它似乎很合适。IPA 安装非常容易,带有 HTML 管理 GUI,并为您提供有用的预集成服务,如 Kerberos、CA、DNS 的可选管理等等。对于大多数可能考虑部署新目录的人来说,它应该是一个强有力的竞争者。我认为它比文章中提到的任何东西都更容易使用且功能更全。

谢谢你 Andrew,感谢你的报告和分享,作为一个 Red Hat 产品,我相信它是一个好产品。我会仔细看看并添加它。

您太客气了。我还想指出,FreeIPA 是一个开源项目,因此与 389 或 Fedora 一样,它不再是“Red Hat 的”——我的雇主付钱给很多人来从事这项工作,但它绝不是专有的。作为 RHEL 组件,它也不收取额外费用,因此我没有销售要尝试通过评论来推动。我只是喜欢它。

回复 作者: Emidio Stani

“您可以考虑设置 phpLDAPAdmin”——

对于管理 openLDAP,还应提及 Web 界面 LDAP Account Manager (LAM)

LAM 的主页位于

你好 Malcom,感谢你的提及,这篇文章更多的是基于 LDAP 服务器,据我所知,LAM 是基于 phpLDAPAdmin 的。

回复 作者: Malcolm Thompson (未验证)

没有提及 Samba4?

samba4 是一个开源 AD 和 CIFS 服务器。在我看来,AD 是一个紧密集成的、有些受限的 LDAP 服务器,与 kerberos 和半个 dns 服务器捆绑在一起。

尽管如此,这确实是一项成就,但就我个人而言,我很难放弃 OpenLDAP 的灵活性,以换取更原生与 Windows 系统对话的“特权”。他们有点过时了(终于),恕我直言。

可悲的是,几代 IT 人员被教导 AD 就是 LDAP。但事实绝非如此。

回复 作者: Brad Hards (未验证)

你好 Brad,

Samba4 确实非常有趣,我会密切关注它

你好!

我想使用 LDAP,目前正在学习很多关于它的知识。使用它有用吗?我找到的所有文档都来自 2001 年或更早。LDAP 在未来几年会过时吗,或者同时发布了其他架构?我正在考虑将一个项目迁移到 LDAP,想知道它是否是一种现代方法。

你好 Brandon,

LDAP 是一个著名的且稳定的协议,在企业级应用中被广泛使用,许多软件如 Drupal、Jenkins、Nexus、Owncloud、Atlassian Suite、Redmine、Apache、PAM、Postfix 都支持它。当然,可能会有新的协议出现,例如 rest api,但概念始终相同。各种软件之间的区别在于它们提供的扩展级别,例如 ApacheDS 和 OpenDj 支持各种密码加密方法,如果您之前以特定格式保存密码并且不想在安装 ldap 服务器后立即要求用户更改密码,这可能是您的要求之一。对我来说,LDAP 是自然的选择,因为一旦需要安装新软件,只有少数软件可以充当单点登录客户端,因此您要确保至少实现用户集中化。

回复 作者: Brandon (未验证)

谢谢,

你的回答对我很有帮助!

回复 作者: Emidio Stani

只有当您愿意成为 OpenLDAP 开发人员时,OpenLDAP 才具有强大的加密功能。您必须创建自己的 OpenLDAP 发行版,从源代码编译、打包等等。

它不包含在默认安装中。默认密码将以纯文本形式存储。

tres utile! grand merci !

我使用 openLDAP 和 Samba3 进行单点登录。借助 smbldap 工具,我们可以开始使用 Windows 登录结构加载 openLDAP(需要将 samba 架构添加到 openldap 架构目录)等。每次我想创建一个新用户或组时,我都会使用 smbldap 工具 (smbldap-useradd / smbldap-groupadd),因为它比 phpldapadmin “更安全”,而且更灵活(我们可以通过 bash 脚本添加/删除数百个用户)。对于运营团队 - 非技术人员 - 我给他们 phpldapadmin。它已经在 openSuSE 服务器上运行了将近 10 年。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.