我使用以下 LDIF 文件来激活对 LDAP 服务器的 TLS 支持:
dn: cn=config
changetype: modify
add: olcTLSCipherSuite
olcTLSCipherSuite: NORMAL
-
add: olcTLSCRLCheck
olcTLSCRLCheck: none
-
add: olcTLSVerifyClient
olcTLSVerifyClient: never
-
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/CA.crt
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/server.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/key.pem
Run Code Online (Sandbox Code Playgroud)
并使用以下 LDIF 强制客户端连接使用 TLS:
dn: cn=config
changetype: modify
add: olcSecurity
olcSecurity: tls=1
Run Code Online (Sandbox Code Playgroud)
在此之后,我不能再使用“-Y EXTERNAL”来读取或修改配置架构。例如,如果我运行,我会收到 SASL 错误:
$ sudo ldapsearch -Q -Y EXTERNAL -H ldapi:/// -b "" -LLL -s base -Z supportedSASLMechanisms
ldap_sasl_interactive_bind_s: Authentication method not supported (7)
additional info: SASL(-4): no mechanism available:
Run Code Online (Sandbox Code Playgroud)
如果我检查支持的 SASL 机制:
$ sudo ldapsearch -x -H ldapi:/// -b "" -LLL -s base -Z supportedSASLMechanisms
dn:
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM
supportedSASLMechanisms: PLAIN
supportedSASLMechanisms: LOGIN
Run Code Online (Sandbox Code Playgroud)
我真的看不到列表中包含的 EXTERNAL。我在这里缺少什么?
这是在 Ubuntu-12.04 和 slapd-2.4.31 上。
小智 4
如果无法访问正在运行的配置,您将不得不停止slapd
并离线编辑配置。
slapd
:service slapd stop
slapcat -F /etc/ldap/slapd.d -b cn=config -l config.ldif
mv /etc/ldap/slapd.d{,.old}
创建一个新的空配置数据库:
mkdir /etc/ldap/slapd.d
chown --reference=/etc/ldap/slapd.d.old /etc/ldap/slapd.d
chmod --reference=/etc/ldap/slapd.d.old /etc/ldap/slapd.d
config.ldif
以删除您的olcSecurity
设置(或添加olcRootDN
和,或您喜欢olcRootPW
的cn=config
任何其他更改)slapadd -F /etc/ldap/slapd.d -b cn=config -l config.ldif
(以上假设您的配置位于/etc/ldap/slapd.d
,这是 Debian 和 Ubuntu 中的默认配置。)
请注意,slapadd
完整的 LDIF 应始终在空数据库中完成;因此,如果您犯了错误并slapadd
失败了,请确保在重试之前清除部分数据库。
您可以在《OpenLDAP 管理指南》以及相关手册页中找到更多信息。
归档时间: |
|
查看次数: |
8322 次 |
最近记录: |