首次设置 OpenLDAP 时,需要注意哪些事项?

首次设置 OpenLDAP 时,需要注意哪些事项?

我正在阅读文档并设置 OpenLDAP 来处理整个网络的身份验证,包括电子邮件、Web 服务、用户帐户以及我可以交给它的任何其他东西。这不会是什么特别大的事情,但我希望它能让人感觉很真实,因为我是在家里的实验室里做的。

在设置 OpenLDAP 时,有哪些事情需要牢记或确保始终记住?我是否应该确保始终通过 SSL 传输?我是否应该使用 Kerbeos?任何能记住的事情都会很感激。

答案1

部分列表(无特定顺序):

  • 使用cn=config(见man slapd-config)。
  • 设置主-主在您的核心中进行复制。
  • 总是使用某种加密方式进行身份验证。
  • LDAPS(端口 636)已被弃用,取而代之的是 LDAP 的 STARTTLS。
  • 如果您不喜欢输入大量密码,SASL-GSSAPI 和 SASL-EXTERNAL 很有用。
  • 禁用您不支持的 SASL 机制。
  • 如果没有必要,请不要使用根 DN。
  • 注意你的 ACL(例如,用户不应该具有uidNumber和的写访问权限gidNumber)。
  • ldapseach -x -H $URI是一次匿名搜索。(ldapwhoami -x -H $URI)。
  • nscd有限的本地副本比(通过 自我访问)要好得多ldapi:///
  • 对于群组成员来说,覆盖memberof非常方便。

可能很重要:
了解文档。这不是您所需要的一切,但确实有帮助。

答案2

SSL 库

Debian(以及 Ubuntu)软件包 OpenLDAP 是针对 gnuTLS 而不是 OpenSSL 编译的。这对于尝试来说没问题,但 gnuTLS 在我们的网络上明显变慢了。我总是重建针对 OpenSSL 编译的 Ubuntu 软件包。

其他发行版可能会做同样的事情或做不同的事情。

凯尔伯罗斯

在我的环境中(约 200 个 Linux 工作站、约 40 个 Mac、nfs 服务器、imap、smtp、Web 服务器),Kerberos 似乎没什么用。我们的常用客户端应用程序都不支持 kerberos 身份验证(Firefox、Thunderbird)。它只能在主机级别用于 NFS 和用作身份验证的 PAM 模块。我认为 SSL 在保密密码方面同样出色。

如果您确实使用 kerberos,则应该使用 Heimdal 与 OpenLDAP smbk5pwd 覆盖集成。

客户端库

PADL 的 nss 默认库有点臃肿和麻烦。我建议你尝试一下南海或 nss-pam-ldapd。它们在我的环境中都运行良好。

SSS 的功能比 PADL 的库要多得多。它包括缓存,因此您不需要 nscd。

nss-pam-ldapd是对 PADL 库的重写,使其更加高效。

管理您的数据

我非常喜欢phpLDAP管理员。它使查看模式和修改单个条目变得非常容易。

其他 LDAP 服务器

它们可能速度较慢,但​​具有更先进的功能。

您可能想尝试 ApacheDS,因为它具有内置的 kerberos。

答案3

这个问题实在太广泛了,无法回答,任何答案都严重依赖于你的环境。

有些事情会考虑的是:

  • LDAP 作为身份验证系统有意义吗?
    • 如果不是,还有什么更好的方法?
  • LDAP 作为授权系统有意义吗?
    (授权将是这样的sudoers
    • 如果不是,还有什么更好的方法?
  • 什么样的安全才有意义?
    • SSL?(基本可以肯定)
    • Kerberos?(所有东西都支持它吗?将来所有东西都会支持它吗?)
    • LDAP 本身的安全性如何(ACL)
      • 对象/子树权限
      • 可浏览/搜索...(任何人(匿名)、注册用户、管理员等...)
      • 用户如何更改密码?
  • 我们如何让各个工作站尊重 LDAP 信息?
    • pam_ldap/nss_ldap?(旧的且已损坏,但还可以使用)
    • pam_ldapd(新热点:更少的 LDAP 连接,其他优点,但一些未实现的功能)
  • 我们是否必须与 Windows 进行交互 -曾经
    (如果您在这里回答“是”,则您确实需要使用 AD 作为 LDAP 服务器)

相关内容