Volver al blog

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

zimbra

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:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: d2:CN18:dc1.dominio.com:O20:Samba Administration2:OU48:Samba - temporary autogenerated HOST certificate6:accept4:true5:alias28:dc1.dominio.com:-527EB0A94:fromi1464828333000e4:host18:dc1.dominio.com3:icn18:dc1.dominio.com2:io20:Samba Administration3:iou46:Samba - temporary autogenerated CA certificate3:md532:38261B0A4B28D8AEAF0F75C664FD940D8:mismatch5:false1:s9:-527EB0A94:sha140:3B506AB7F09FB27207C044854CF6EC05290D1ED42:toi1525308333000ee

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:

smbd -b | grep "ENABLE_GNUTLS"

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:

cd /opt/zimbra

ejecutamos openssl

openssl s_client -connect pdc_ad.dominio.cu:636 </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cert.pem

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

su - zimbra

Luego ejecutamos el siguiente comando para importar el certificado usando la propia herramienta de linea de comando que nos proporciona zimbra.

zmcertmgr addcacert cert.pem

Una alternativa es importando o agregando el certificado usando la herramienta keytool de java en la instalación de zimbra, si se solicita una contraseña escribimos "changeit" sin las comillas, para el aliasname recomiendo ponerle el nombre del dominio.

keytool -import -trustcacerts -file cert.pem -alias dominio.cu -keystore /opt/zimbra/common/etc/java/cacerts

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

Trust this certificate? [no]: yesCertificate was added to keystore
Posteriormente reiniciamos los servicios de zimbra.

zmcontrol restart

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.

 

Suscríbete · Newsletter

Mantente al día, cada semana

Artículos prácticos sobre Linux, redes, seguridad, virtualización y la nube — escritos por sysadmins cubanos.

  • Guías y tutoriales de administración de sistemas
  • Nuevos artículos sobre servidores, redes y nube
  • Sin spam, cancela cuando quieras

Respetamos tu bandeja de entrada. Cancela con un clic.

Patrocinado por SYSCU

¿Tu infraestructura en la nube te cuesta de más?

SYSCU optimiza tu nube de punta a punta — FinOps, DevOps & CI/CD, migraciones a AWS, seguridad y observabilidad. Equipo 100 % senior que reduce tu factura hasta un 40 % y acelera tus despliegues en semanas.

Nuevo · BetaSYSCU Atlas Insight — la plataforma FinOps que convierte tu gasto AWS en decisiones: visibilidad multi-cuenta, recomendaciones automáticas y alertas de anomalías.

No comments yet