generar certificado zimbra con microsoft certification authority

2 de abril de 2009

Supongamos que en nuestra empresa tenemos instalado un Microsoft Certification Authority en local que nos proporciona todos los certificados que necesitamos. Por ejemplo para nuestros sitios web ASP de IIS.

Voy a utilizar esta autoridad de certificación para generarme un certificado para Zimbra. De esta forma como todas mis maquinas de Windows de la empresa tienen instalado dentro de sus "autoridades de certificación de confianza" el certificado raiz de mi autoridad, cuando entren en Zimbra por SSL no tendrán ningún problema.

He de suponer que ya tienes instalado el Microsoft Certification Authority en tú server y que sabes más o menos como funciona. Si no lo tienes instalado haz "Inicio->Configuración->Panel de control->Añadir o quitar programas->Añadir o quitar componentes de Windows". Selecciona servicios de certificación e instálalo. Créate una autoridad de certificación por ejemplo con el nombre "miempresa_CA".


Una vez instalado tienes que tener la consola accesible desde las Herramientas Administrativas de tú Windows Server.

Comenzamos:

+ Primero tenemos que decirle a Zimbra que queremos hacer una petición de certificado a una autoridad de certificación externa. Ya sea comercial como Verisign o local como en nuestro caso.

Necesitamos generar un CSR (Certification Signing Request). Nos vamos a la consola de admin y buscamos Configuracion->Certificados->Instalar certificado.

Seleccionamos nuestro nombre de servidor. Por ejemplo misrvzimbra.miempresa.com. Luego le decimos que genere la función CSR.


Luego rellenamos los datos que nos piden para generar el certificado. El campo más importante es el "Nombre común". Este debe coincidir con el nombre de URL que utilizarás para acceder a tú webmail. Es decir, tú servidor se llama misrvzimbra.miempresa.com, pero cuando accedas vía Web lo harás con webmail.miempresa.com. Si no colocas este nombre correctamente el IE te dirá que estas accediendo a un sitio peligroso porque el certificado no es correcto.


Para finalizar debes descargarte el fichero .csr. Este es el archivo que tendrías que enviar a la autoridad de certificación.

+ Una vez tengamos nuestro .csr nos vamos a nuestra CA. Para ello cargamos la pagina web de nuestra autoridad de certificación de Microsoft. Accedemos a http://miserverwindows/certsrv y nos aparece algo como:


Lo primero que haremos es descargamos el certificado raíz de la CA. Para ello vamos a "Download CA certificate...". Seleccionamos Base64 y descargamos el certificado con "Download CA certificate". Este es el certificado que tendríamos que instalar en todas nuestras maquinas dentro de "Autoridades de certificación de confianza".


+ Ahora ya podemos generar nuestro certificado Zimbra con la ayuda del .csr. Nos vamos otra vez a http://miserverwindows/certsrv y le decimos "Request a certificate->Advanced certificate request". Seleccionamos la opción "Submit a certificate request by using a base-64...".

Abrimos con el notepad el .csr anterior y pegamos dentro de la web su contenido. Además tendremos que decirle que lo que estamos pidiendo es un certificado para un servicio web.


Una vez enviada la petición nos generará nuestro certificado. Seleccionamos base-64 y le decimos "Download certificate".


+ Ya tenemos los dos certificados. El de la autoridad de certificación y el que hemos pedido para Zimbra. Ahora como paso excepcional para Zimbra tenemos que hacer una pequeña modificación dentro de los dos archivos .cer. Esta modificación consiste en abrirlos con el notepad y dejar una linea en blanco después del "-----END CERTIFICATE----- ". Esto es debido a un bug de Zimbra que no es capaz de detectar el final del archivo.

+ Estamos listo para cargar el certificado dentro de Zimbra. Volvemos a la consola de administración de Zimbra y le volvemos a decir "Instalar certificado".

Esta vez no volvemos a generar la función CSR otra vez sino que le diremos "Instalar certificado firmado comercialmente".

Para finalizar le diremos el path donde se encuentra nuestro nuevo certificado para Zimbra como el propio certificado de la autoridad de certificación.


Una vez instalado y sin ningún error ya podemos reiniciar Zimbra y comprobar como nuestro webmail se carga por SSL con el nuevo certificado.

Si hay algún otro problema para instalar los certificados comerciales lo mejor es hacerlo desde la linea de comandos como root:

# zmcertmgr deploycrt comm /tmp/certnew.cer  /tmp/certificado_empresaCA.cer

Más información:
+ Conceptos básicos sobre SSL
+ Zimbra-grupo
+ Commercial certificates in Zimbra

3 comentarios:

Caruso dijo...

Gracias por explicar como usar un certificado y meterlo como comercial a zimbra, dejame comentarte que intente hacerlo como lo explicas y hay pasos que no consideraste en tu guia....yo estoy usando un windows 2003 std y no me aparece como a ti....en fin un paso importante que falto ahi es ir herramientas administrativas, ver que certificados estan pendientes, dar click con boton derecho, tareas y despues click en issues. Con eso nos genera el certificado, regresar a la ventana de certsrv y ver certificados pdtes y ahi ya bajar el nuestro... con eso tendremos el certificado listo...pero bueno al menos a mi me marca un error, hago una verificacion del certificado de la sig manera: /opt/zimbra/bin/zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.key commercial_ca.cer commercial.cer
** Verifying commercial_ca.cer against /opt/zimbra/ssl/zimbra/commercial/commercial.key
Certificate (commercial_ca.cer) and private key (/opt/zimbra/ssl/zimbra/commercial/commercial.key) match.
Valid Certificate: commercial_ca.cer: OK
Y me dice Ok, despues le doy un deploy: /opt/zimbra/bin/zmcertmgr deploycrt comm commercial_ca.cer commercial.cer y me dice ok, pero al reiniciar zimbra ya no arranca...marcando: Starting ldap...Done.
Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.
He buscado en los foos de zimbra y en otros lados y hablan de permisos, propietario, dns,etc pero ninguno de esos me resulve el detalle.....quisiera saber si tu solo metiste los certificados via web y te funcionaron??? Intente hacerlo tambien pero no me funciono.

Anónimo dijo...

Bueno, lamentablemente no funciona, porque ocaciona que el servidor deje de levantar, como lo comenta Caruso, de todas maneras gracias pero no funciona, cuando encuentre la solución al nuevo error, lo posteo en este mensaje

Anónimo dijo...

yo quiero hacer lo mismo pero no me funciona cuando quiero instalar la entidad en win2003 ,,