如何解决认证失败通过 LDAPS
我通过 JAAS 模块(请参阅官方文档)使用 LDAP/AD 身份验证设置 Rundeck。
验证。使用非加密连接 (providerUrl="ldap://AD-FQDN") 可以正常工作。
当我尝试从 LDAP 切换到 LDAPS (providerUrl="ldaps://AD-FQDN") 时,这就是问题开始的地方。
我收集了 AD 证书以及 Sub 和 Root CA,将它们添加到 rundeck 信任库(以及之后的密钥库)并重新启动了 rundeckd。
证书正在成功验证:
[root@rundeck01 ssl]# openssl verify -CAfile RootCA.cer -untrusted SubCA.cer ad01.cer
ad01.cer: OK
我可以在 service.log 中看到的内容:
Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building Failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Caused by: sun.security.validator.ValidatorException: PKIX path building Failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
防火墙端口已打开(可以通过 telnet 连接到第 389,636 页)。
运行:
rundeck-3.4.0.20210614-1
CentOS 7.9
请多多指教。
解决方法
- 提取 ldaps 服务器证书:
echo -n | openssl s_client -connect your_ldap_server:636 > cert.out
- 导入 Rundeck 的信任库:
keytool -importcert -trustcacerts -file cert.out -alias myldap -keystore etc/rundeck/truststore
- 在您的 rundeckd 文件 (
-Djavax.net.ssl.trustStore
) 中添加信任库路径:
RDECK_JVM_OPTS="-Drundeck.jaaslogin=true \
-Djava.security.auth.login.config=/etc/rundeck/jaas-ldap.conf \
-Dloginmodule.name=ldap \
-Djavax.net.ssl.trustStore=/etc/rundeck/truststore"
Same issue 解决了 here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。