OpenLDAP 配置 LDAPS,重启失败

OpenLDAP 配置 LDAPS,重启失败

我正在尝试让 ldaps 与 openldap 协同工作。我有一个为该域颁发的通配符 SSL 证书,并使用 ldapmodify 将相关文件添加到 cn=config,如下所示这里

完成此操作后,我无法重新启动 OpenLDAP。

我已经完成 OpenLDAP 的设置并确认可以使用 ldap 成功绑定。

我在 AWS EC2 实例上使用 Ubuntu 14.04 TLS,并打开端口 389 和 636。

一些诊断:

/etc/init.d/slapd 重启

restart
 * Stopping OpenLDAP slapd                     [ OK ] 
 * Starting OpenLDAP slapd                     [fail]

slapd -u ldap -g ldap -d 65

563e5b20 @(#) $OpenLDAP: slapd  (Ubuntu) (Sep 15 2015 18:19:13) $
    buildd@lgw01-53:/build/openldap-2QUgtL/openldap-2.4.31/debian/build/servers/slapd
ldap_pvt_gethostbyname_a: host=ip-172-31-62-171, r=0
563e5b20 daemon_init: listen on ldap:///
563e5b20 daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldap:///)
563e5b20 daemon: listener initialized ldap:///
563e5b20 daemon_init: 2 listeners opened
563e5b20 No passwd entry for user ldap

答案1

问题是 apparmor 拒绝 openldap 访问密钥文件。通过正确配置 openldap 的权限解决了这个问题。

答案2

如果有人来这里寻找解决方案,使用 LetsEncrypt 的证书,这样应该可以修复这个问题。

通过两步为 LetsEncrypt 目录和文件设置正确的访问权限。

设置

$ sudo setfacl -m user:openldap:r-x /etc/letsencrypt/live
$ sudo setfacl -m user:openldap:r-x /etc/letsencrypt/archive

装甲

创建 /etc/apparmor.d/local/usr.sbin.slapd 并包含以下内容。

/etc/letsencrypt/live/your.domain.here r,
/etc/letsencrypt/archive/your.domain.here r,
/etc/letsencrypt/archive/your.domain.here/** r,

重新启动 apparmor。

sudo service apparmor restart

Slapd 现在可以正常重启并可以通过 LDAPS/TLS 访问。

相关内容