开源 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。在 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,但概念始终相同。各种软件之间的区别在于它们提供的扩展级别,例如 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.