问题:
TLSv1.0 和 TLSv1.1,这两个版本有安全问题,社区不推荐使用。
微软官方也有faq说明 : https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/identity/disable-tls-1-1dot1-mbam-servers
解决方法:
分三种情况
1、(最佳实践)项目的 ldaps 支持 TLSv1.2 及以上,则没有问题。
2、(推荐做法)项目的 ldaps 只支持 TLSv1.0 和 TLSv1.1,需告知客户此用法存在安全漏洞, 不推荐使用。建议项目调整 ldaps 或使用 ldap(PS:既然使用 ldaps 那肯定对安全方面有要求, 更应该升级 TLS 版本)。
3、(不推荐做法)项目符合上述第 2 种情况,且客户不愿意动 ldaps,那可以调整我们的 jdk, 放通 TLSv1.0 和 TLSv1.1 两种协议。具体放通步骤:
3.1 进 入 jdk 的 security 目 录 ( 例 : cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/jre/lib/security)。
3.2 修改 java.security 文件,找到 jdk.tls.disabledAlgorithms 配置,删掉:TLSv1、TLSv1.1、 3DES_EDE_CBC
删除后:
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, anon, NULL, \
include jdk.disabled.namedCurves
3.3 删除后,重启 identity 服务。