Ce site contient essentiellement des notes de travail. Le contenu est en constante évolution, et loin d'être achevé. (+ d'infos)
La plupart des documentations informatiques sont orientées Debian / Ubuntu.

Informatique/Softwares/Zimbra/Recettes/Problèmes rencontrés/Unable to create a successful TLS connection to the ldap masters

De Ordinoscope.net
Aller à : navigation, rechercher

Introduction

Depuis Zimbra en 8.6.0, l'erreur suivante bloque la mise à jour:

./install.sh
...
Validating ldap configuration
Error: Unable to create a successful TLS connection to the ldap masters.
      Fix cert configuration prior to upgrading.

Dans le répertoire d'installation de Zimbra, l'erreur peut être reproduite manuellement:

bin/zmValidateLdap.pl -l --vmajor 8 --vminor 5
ERROR: Unable to connect via startTLS to master: ldap://zimbra.ordinoscope.net:389

L'explication la plus probable est que le CN du certificat SSL ne correspond pas au hostname du serveur.

Diagnostic

L'exemple ci-dessous est fictif. Il contient un certificat self-signed, qui serait pas la cause de cette erreur.

Le problème apparaît lorsque le certifical SSL commercial ne correspond pas au paramètre « ldap_master_url » - dans cet exemple: mail.ordinoscope.net vs zimbra.ordinoscope.net.

hostname -f
zimbra.ordinoscope.net
/opt/zimbra/bin/zmcertmgr viewdeployedcrt
::service mta::
notBefore=Jan  4 00:25:28 2013 GMT
notAfter=Jan  3 00:25:28 2018 GMT
subject= /C=US/ST=N/A/O=Zimbra Collaboration Server/OU=Zimbra Collaboration Server/CN=zimbra.ordinoscope.net
issuer= /C=US/ST=N/A/L=N/A/O=Zimbra Collaboration Server/OU=Zimbra Collaboration Server/CN=zimbra.ordinoscope.net
SubjectAltName= 
::service proxy::
notBefore=Jan  4 00:25:28 2013 GMT
notAfter=Jan  3 00:25:28 2018 GMT
subject= /C=US/ST=N/A/O=Zimbra Collaboration Server/OU=Zimbra Collaboration Server/CN=zimbra.ordinoscope.net
issuer= /C=US/ST=N/A/L=N/A/O=Zimbra Collaboration Server/OU=Zimbra Collaboration Server/CN=zimbra.ordinoscope.net
SubjectAltName= 
::service mailboxd::
notBefore=Jan  4 00:25:28 2013 GMT
notAfter=Jan  3 00:25:28 2018 GMT
subject= /C=US/ST=N/A/O=Zimbra Collaboration Server/OU=Zimbra Collaboration Server/CN=zimbra.ordinoscope.net
issuer= /C=US/ST=N/A/L=N/A/O=Zimbra Collaboration Server/OU=Zimbra Collaboration Server/CN=zimbra.ordinoscope.net
SubjectAltName= 
::service ldap::
notBefore=Jan  4 00:25:28 2013 GMT
notAfter=Jan  3 00:25:28 2018 GMT
subject= /C=US/ST=N/A/O=Zimbra Collaboration Server/OU=Zimbra Collaboration Server/CN=zimbra.ordinoscope.net
issuer= /C=US/ST=N/A/L=N/A/O=Zimbra Collaboration Server/OU=Zimbra Collaboration Server/CN=zimbra.ordinoscope.net
SubjectAltName= 
/opt/zimbra/bin/zmlocalconfig | grep ldap | grep url
ldap_bind_url = 
ldap_master_url = ldap://mail.ordinoscope.net:389
ldap_url = ldap://mail.ordinoscope.net:389
/opt/zimbra/bin/zmlocalconfig | grep ldap | grep tls
ldap_common_require_tls = 0
ldap_starttls_required = true
ldap_starttls_supported = 1

Solutions

Avant de faire quoique ce soit, assurez-vous d'avoir une sauvegarde et du temps ! Si votre serveur est dans une machine virtuelle, faites un snapshot avant !

skip-upgrade-check

Il est possible de bypasser cette erreur en demandant à install.sh de na pas faire les contrôles. C'est à vos risques et périls, et le problème finira par réapparaître.

./install.sh --skip-upgrade-check

SubjectAltName

Selon ce qui se dit dans les forums, il est possible de créer un certificat dont le CN doit correspondre au hostname, et contenant les noms alternatifs (SubjectAltName).

A tester.

correction du serveur

Dans le cas qui m'a fait écrire cet article, la solution a été de renommer le serveur une fois pour toutes. N'étant pas le seul à avoir travaillé sur ce serveur, j'ignore ce qui a provoqué cette erreur.

/opt/zimbra/libexec/zmsetservername -n zimbra.ordinoscope.net
Getting local config zimbra_home=/opt/zimbra
Getting local config zimbra_server_hostname=mail.ordinoscope.net
Getting local config zimbra_ldap_userdn=uid=zimbra,cn=admins,cn=zimbra
Getting local config zimbra_ldap_password=xMWfNGHC
Getting local config ldap_is_master=true
Getting local config ldap_url=ldap://mail.ordinoscope.net:389
Getting local config ldap_master_url=ldap://mail.ordinoscope.net:389
Getting local config ldap_starttls_supported=1
Starting ldap...already running.
Renaming mail.ordinoscope.net to zimbra.ordinoscope.net
...

Toutes les références à mail.ordinoscope.net ont à présent disparu.

/opt/zimbra/bin/zmlocalconfig | grep ldap | grep url
ldap_bind_url = 
ldap_master_url = ldap://zimbra.ordinoscope.net:389
ldap_url = ldap://zimbra.ordinoscope.net:389

Pour terminer, un redémarrage complet de Zimbra est nécessaire. La mise à jour passe à présent sans erreur.

Références