【问题标题】:apache2.4 mod ldap unable to connect to 2012R2 LDAP after upgrade from Stretch to Buster从 Stretch 升级到 Buster 后,apache2.4 mod ldap 无法连接到 2012R2 LDAP
【发布时间】:2021-03-17 05:54:22
【问题描述】:

将 Stretch 升级到 Buster authnz-ldap/mod-ldap 后无法使用 ldaps 连接到 2012R2 AD。

这是我的配置:

#Must be set to a low value to permit failover from a server to the other.
LDAPConnectionTimeout 1
LDAPRetries 1
# SSL
LDAPVerifyServerCert on
LDAPTrustedMode SSL
LDAPTrustedGlobalCert CA_BASE64  /etc/apache2/ssl/ca_der.cer

#LDAP SERVERS DECLARATION START

<AuthnProviderAlias ldap MyLDAPS>
  AuthLDAPBindDN "CN=svc-otp,CN=Users,DC=otp,DC=local"
  AuthLDAPBindPassword REDACTED #checked and working
  # Search user
  AuthLDAPURL "ldaps://ad03.otp.local/CN=Users,DC=otp,DC=local?userPrincipalName?sub?(&(memberOf:1.2.840.113556.1.4.1941:=CN=Admins,OU=2FA,OU=PCI,DC=otp,DC=local)(objectClass=user))" 
</AuthnProviderAlias>

<LocationMatch /manage >
   # Using this to bind
   AuthType Basic
   AuthName "USE YOUR user@domain ACCOUNT"
   AuthBasicProvider MyLDAPS
   require valid-user
</LocationMatch>

我试过openssl s_client -connect ad03.otp.local:636 -state -nbio 这导致

CONNECTED(00000003)
Turned on non blocking io
SSL_connect:before SSL initialization
SSL_connect:SSLv3/TLS write client hello
SSL_connect:error in SSLv3/TLS write client hello
write R BLOCK
SSL_connect:error in SSLv3/TLS write client hello
read:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 306 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

然后我发现 /etc/ssl/openssl.conf 添加了

[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=2

我评论了这两行,openssl s_client 就像在 Stretch 上一样工作。

但是 Apache 总是抱怨无法连接...

我搜索了很多类似问题和 Apache 文档,但没有找到提示或解决方案。

【问题讨论】:

    标签: apache ssl active-directory openssl mod-ldap


    【解决方案1】:

    我还不明白为什么,但似乎没有读取LDAPTrustedGlobalCert CA_BASE64 /etc/apache2/ssl/ca_der.cer

    我在 /etc/ssl/certs/ 中添加了来自 Active Directory 的 CA 证书,然后重新运行 update-ca-certificates 并且 ldapsearch 正常工作。 apache mod_ldap 也有效。

    有用的命令:

    • 验证证书:openssl s_client -showcerts -connect ad03.otp.local:636
    • 检查连接:openssl s_client -connect ad03.otp.local:636 -state -nbio

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-24
      • 1970-01-01
      • 2016-10-07
      相关资源
      最近更新 更多