OpenLDAP
1 前言
一个问题,一篇文章,一出故事。
今天因为调试KeyCloak与LDAPs集成,需要使用ldapsearch命令测试AD的LDAPs证书,因此整理本章节。
Linux下ldapsearch默认会校验服务端SSL证书。AD LDAPS常见两种情况:
– AD证书由内部CA签发,ldapsearch命令行的服务器没有导入根证书 → 握手直接失败
– 证书域名不匹配(证书 CN≠cmdschool.org)
2 最佳实践
2.1 忽略证书直接测试LDAPs
ldapsearch -x -H ldaps://dc01.cmdschool.org:636 -w "adminpwd" -D "CN=admin,CN=Users,DC=cmdschool,DC=.org" -b DC=cmdschool,DC=.org -o TLS_REQCERT=never "(&(sAMAccountName=will)(objectCategory=person))"
2.2 配置信任的企业根证书后测试LDAPs
2.2.1 修改信任配置
cp /etc/openldap/ldap.conf /etc/openldap/ldap.conf.default vim /etc/openldap/ldap.conf
启用如下配置,
TLS_CACERT /etc/pki/tls/cert.pem
2.2.2 查看信任的根证书库真实目录
ls -l /etc/pki/tls/cert.pem
可见如下显示
lrwxrwxrwx. 1 root root 49 Aug 19 2024 /etc/pki/tls/cert.pem -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
2.2.3 将信任证书增加到证书库中
chmod u+w /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem vim /etc/pki/tls/cert.pem
假设信任的根证书内容如下,
# cmdschool.org Root CA -----BEGIN CERTIFICATE----- MIIFMzCCAxugAwIBAgIQWeCUcrgvbJhDbpLwGzKUXTANBgkqhkiG9w0BAQ0FADAs #... 7RtVkZaI5hCT4WgnEzdF2wOZp1peaXlfrXNmMv9spANkphGl4Z2i -----END CERTIFICATE-----
2.2.4 恢复证书库到不可写状态
chmod u-w /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
2.2.5 测试LDAPs
ldapsearch -x -H ldaps://dc01.cmdschool.org:636 -w "adminpwd" -D "CN=admin,CN=Users,DC=cmdschool,DC=.org" -b DC=cmdschool,DC=.org "(&(sAMAccountName=will)(objectCategory=person))"
没有评论