我想在我的 CentOS 7.2 Samba 服务器上启用安全 LDAP 身份验证...但是我在 LDAP 服务器本身上设置 TLS 时遇到困难。
编辑: [我从默认存储库安装了 openldap]
我目前正在学习这里但我并没有手动将设置输入到配置文件中,而是尝试以“正确”的方式进行操作,即使用 ldapmodify。我花了一段时间才理解如何使用该工具,但我终于掌握了这一部分。然而,我在以下方面遇到了困难。
命令:
ldapmodify -Y EXTERNAL -H ldapi:/// -f TLS.conifg -v
使用上述命令安装以下 LDIF 文件时出现以下错误。
TLS.配置:
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcTLSCipherSuite
olcTLSCipherSuite: HIGH
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/file.server.org.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/file.server.org.key.pem
错误:
Entry (olcDatabase={2}hdb,cn=config), attribute 'olcTLSCipherSuite' not allowed
编辑2:[我安装了 openSSL 和 gnuTLS,因此我满足 openLDAP 文档中指定的 TLS 要求这里 ]
编辑3:[我的证书放在正确的文件夹中,我只能猜测它具有正确的权限,如下所示。
]
EDIT4:分辨率
正如下面的 84104 所述,olcTLS 配置指令是在文件中解决的cn=config
,而不是在数据库定义本身中解决的。
我已成功配置 TLS 指令并继续创建我的条目。
谢谢你的帮助!
答案1
这些olcTLS*
属性适用于cn=config
通用服务器配置,而不是任何特定的数据库,例如olcDatabase={2}hdb,cn=config
。
$ ldapsearch -b cn=config '(|(olcTLSCertificateFile=*)(olcTLSCertificateKeyFile=*)(olcTLSCipherSuite=*))' olcTLSCertificateFile olcTLSCertificateKeyFile olcTLSCipherSuite olcTLSProtocolMin
dn: cn=config
olcTLSCertificateFile: /etc/openldap/ssl/ldap.cert
olcTLSCertificateKeyFile: /etc/openldap/ssl/ldap.key
olcTLSCipherSuite: HIGH:!aNull:!MD5:@STRENGTH
olcTLSProtocolMin: 3.1