SLAPd - TLS 不工作/apparmor 错误

SLAPd - TLS 不工作/apparmor 错误

几天来我一直在尝试让 LDAP 工作并进行设置。真正令人费解的是,一切都很顺利,直到我设置 TLS。我使用的是本指南来自 Ubuntu 官方文档网站。

这样做会产生大量错误,导致 slapd 无法重新启动。

大多数错误与 apparmor 不允许访问计算机部分内容有关,但有一个错误特别反复出现。

TLS init def ctx 失败:-1

彻底困惑了!

答案1

答案是,我所遵循的指南中给出的说明没有生成可用的 TLS 证书。我通过尝试在其他服务(dovecot 和 postfix)上使用生成的证书来测试这一点,但它们也失败了。

我最终使用了本指南,同样来自官方 Ubuntu 文档,用于配置自签名 CA(如 OpenLDAP 文档中所建议)。这样创建的密钥/证书可以完美运行,我甚至可以对所有启用 TLS/SSL 的服务使用相同的证书/密钥。由于这是供内部使用的,它们都是自签名的,但让我可以选择更轻松地制作。

apparmor 的问题也很奇怪。我收到很多与 p11-kit 和 pkcs11 有关的错误消息。经过一番研究,我发现这些工具似乎是与证书相关的。我将以下几行添加到我的 /etc/apparmor.d/local/usr.sbin.slapd 文件中。

/usr/share/p11-kit/modules/ r,
/usr/share/p11-kit/modules/* r,
/usr/lib/x86_64-linux-gnu/pkcs11/ m,
/usr/lib/x86_64-linux-gnu/pkcs11/* m,

现在 sldap 服务器可以顺利启动,并且 TLS 可供使用。

我希望这可以帮助别人。

答案2

我刚刚遇到了同样的错误,但最终通过确保 slapd 对用于 TLS 的私钥文件具有读取权限来修复它

sudo usermod -a -G ssl-cert openldap

我花了一段时间研究 OP 在他的回答中提到的 apparmor 内容,但即使在消除了所有 apparmor 错误之后,slapd 仍然没有启动。

相关内容