开源 LDAP 实现的 4 大选择

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

Opensource.com

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

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

在专有目录服务器领域,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。在 Oracle 于 2010 年收购 Sun 之后,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,但概念始终相同。各种软件之间的区别在于它们提供的扩展级别,例如,如果您之前以特定格式保存密码,并且不想在安装 ldap 服务器后立即要求用户更改密码,那么 ApacheDS 和 OpenDj 支持各种密码加密方法,这可能是您的要求之一。对我来说,Ldap 是自然的选择,因为一旦需要安装新软件,只有少数软件可以充当单点登录客户端,因此您需要确保至少实现用户集中化。

回复 作者 Brandon (未验证)

谢谢,

您的回答对我非常有帮助!

回复 作者 Emidio Stani

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

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

非常有帮助!非常感谢!

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

© . All rights reserved.