Zimbra autenticación con AD (Samba4) de forma segura (SSL/TLS)

Muchos son los que me han preguntado como se puede configurar zimbra para autenticar contra un directorio activo (AD), y que la conexión entre estos dos sistemas se realicé de forma segura empleando SSL/TLS en la comunicación LDAP. Debido a que estos sistemas cuando se instalan generan un certificado autofirmado y que no es reconocido por una autoridad certificadora de confianza, ya sea Samba4 como AD, o el propio AD de microsoft, al configurar la comunicación de zimbra con estos sistemas en el wizard de configurar la autenticación estos fallarán por un error de confianza con el certificado. Es por eso que le explico en este tutorial de forma muy fácil como solucionar este pequeño inconveniente. Como lo que empleo en mi infraestructura de redes como controlador de dominio AD es Samba4 será mucho más fácil de obtener el certificado y demás.

Al configurar zimbra y habilitar el checkbox Use SSL, y darle next, llenamos todos los campos al llegar al test y probamos un usuario de nuestro directorio para comprobar que la autenticación es correcta, nos lanzará el siguiente error:

Esto es debido a que no se reconoce como confianza el certificado que emplea el controlador de dominio Samba4 por ser autofirmado.

Manos a la obra;

Lo primero que debemos hacer es comprobar si nuestro samba esta compilado con el soporte para TLS/SSL y ejecutamos el siguiente comando:

Si en la salida sale ENABLE_GNUTLS, es que esta activo en samba el soporte TLS, proseguimos en obtener el certificado del samba por defecto se encuentra en /var/lib/samba/private/tls, el archivo que nos interesa es cert.pem, este lo transferimos o copiamos vía scp al servidor zimbra, al directorio /opt/zimbra, si nos da algún problema al copiarlo porque samba esta corriendo y no deja copiar el archivo, podemos abrirlo y copiar el texto, y este lo pegamos en un archivo que podemos crear con nano cert.pem en el servidor zimbra, pegamos el texto del certificado y guardamos el archivo.

Como obtener el certificado desde el propio servidor zimbra, como root, nos situamos en la carpeta donde esta instalado zimbra:

ejecutamos openssl

Luego editamos el archivo cert.pem para limpiarlo un poco dejando solo la parte que nos interesa.

Dejando solo lo que comienza con —–BEGIN CERTIFICATE—– y termina —–END CERTIFICATE—– salvamos el archivo y listo.

Procedemos entonces en el servidor de correo zimbra a importar el certificado al almacén de llaves. Para eso nos volvemos usuario zimbra:

Luego ejecutamos el siguiente comando para importar el certificado, si se solicita una contraseña escribimos “changeit” sin las comillas, para el aliasname recomiendo ponerle el nombre del dominio.

Luego escribimos yes y el certificado quedará agregado satisfactoriamente. Con el mensaje:

Trust this certificate? [no]: yes
Certificate was added to keystore

Posteriormente reiniciamos los servicios de zimbra.

Esperamos que termine y ya podemos volver a lanzar el wizard de configuración de la autenticación esta vez con el checkbox de ssl activo y ya no obtendremos más el error de la relación de confianza entre el zimbra y el AD Samba4 y la comunicación quedará segura.

Y hasta aquí las clases, hasta la próxima.

 

(Visited 111 times, 1 visits today)
Arian Molina Aguilera
Sobre Arian Molina Aguilera 1 Artículo
Administrador de redes y servicios telemáticos avanzados.

4 Comentarios

  1. Que hay Arian! Estoy probando la comunicación vía TLS entre zimbra y samba4, pero el comando:

    # smbd -b | grep “ENABLE_GNUTLS”

    Me da la salida en blanco, sin embargo, en mi /etc/samba/smb.conf tengo las líneas:

    tls enabled = yes
    tls keyfile = /etc/samba/tls/Key.pem
    tls certfile = /etc/samba/tls/Cert.pem
    tls cafile =
    tls verify peer = no_check

    y tengo instalado la versión 4.7.5 de samba4 que crees que falta??

    Saludos…

    • Eduardo si el comando te da salida en blanco, simplemente es que has compilado samba4 sin soporte ssl/tls, y aunque tengas esa parte en la configuración por defecto que es así el mismo no la utiliza pues no habilita dicho protocolo ldaps en el caso de las conexiones ldap, debes compilar samba4, como esta descrito en mi manual de implementación de samba4 como controlador de dominio, el cual si habilito y compilo son soporte ssl/tls. Salu2.

  2. Colega, hice todo por lo que dice tu manual y me da este error luego de poner la contraseña para importar el certificado
    error de herramienta de claves: java.util.IllegalFormatConversionException: d != java.lang.String

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*