apache2.4 mod ldap не может подключиться к 2012R2 LDAP после обновления с Stretch до Buster
После обновления Stretch до Buster authnz-ldap/mod-ldap не может подключиться к 2012R2 AD с помощью ldaps.
Это моя конфигурация:
#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 всегда жалуется, что не может подключиться...
Я много искал в Google похожие проблемы и документы Apache, но не нашел ни подсказки, ни решения.
1 ответ
Я пока не понимаю, почему, но кажется, что
LDAPTrustedGlobalCert CA_BASE64 /etc/apache2/ssl/ca_der.cer
не читается.
Я добавил сертификат CA из Active Directory в
/etc/ssl/certs/
и повтор
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