Fetchmail error: server certificate verification error self signed certificate

¿Cual era mi problema?

Uso fetchmail para descargar el correo de mis servidores externos a mi servidor Zimbra de esta forma tengo almacenado el local el correo de los distintos dominios y no dependo de terceros para que los buzones tengan un tamaño limitado (jeje si le digo al CEO que no puede tener un buzón de 30GB le da algo…).

La cuestión es que como muchos proveedores de servicios de correo tienen sus servidores con seguridad SSL pero con certificados autogererados y esto al fecthcmail no le hace mucha gracia. Te llena los los de correo con el siguiente mensaje:

fetchmail[1283]: Server certificate verification error: self signed certificate
fetchmail[1283]: Missing trust anchor certificate: /C=CH/L=Schaffhausen/O=Plesk/CN=Plesk/emailAddress=info@plesk.com fetchmail[1283]: This could mean that the root CA’s signing certificate is not in the trusted CA certificate location, or that c_rehash needs to be run on the certificate directory. For details, please see the documentation of –sslcertpath and –sslcertfile in the manual page.

Esto no molesta mucho si tienes pocas cuentas pero si tienes 100 pues ya empieza a ser un poco tocadura de narices….

La receta de hoy: Como resolver el error de certificado autofirmado en fechtmail

Ingredientes.

    1. Una consola conectada a nuestra maquina Linux.
    2. Un servidor con fecthmail funcionando.

Preparación.

Lo primero que tenemos que hacer es crear un directorio oculto  , por ejemplo en la carpeta root:

mkdir ~/.fetchmail/altic
cd ~/.fetchmail/altic

ahora obtenemos el certificado del servidor autofirmado:

echo | openssl s_client -connect mail.al-tic.com:993 -showcerts 2>/dev/null |sed -ne '/BEGIN CERT/,/END CERT/p' > mail.al-tic.com.pem

Ahora obtenemos el certificado raíz del servidor y extraemos el emisor:

echo | openssl s_client -connect mail.al-tic.com:993 -showcerts 2>/dev/null | sed -ne '/issuer=/p'

verificamos los certificados:

c_rehash /root/.fetchmail/altic

Se generaran dos ficheros de verificación que se guardan en la carpeta altic

Modificamos el fichero de configuración de fechmail /etc/fechmailrc  y añadimos las siguientes lineas en la opciones del poll

sslcertck
sslcertpath "/root/.fetchmail/altic"

Quedando algo parecido a esto

poll mail.al-tic.com
proto IMAP
user "aalvarez" password "recetillas"
sslcertck
sslcertpath ~/.fetchmail/altic

reiniciamos fechmail y problema resuelto

Esto es todo amigos!!!

Resolver el error:0B080074:x509 en Zimbra

¿Cual era mi problema?

Actualizando un servidor de correo Zimbra (una fantástica plataforma de correo, que por ahora solo me había dado alegrías) para un cliente, me apareció el siguiente error:

Failed to start slapd. Attempting debug start to determine error.
TLS: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch x509_cmp.c:340
57967c82 main: TLS init def ctx failed: -1
failed with exit code: 256.
UPGRADE FAILED – exiting.

Ohh pánico, terror, sudores fríos……y todo esto a las 2 de la mañana…Bueno resulta que googleleando un poco encontré la solución. Resulta que casualmente concidió que los certificados del servidor había caducado y era necesario renovarlo. Vamos a ver como hacerlo.

La receta de hoy: Resolver el error: 0B080074:x509 en Zimbra.

Ingredientes.

    1. Servidor Zimbra
    2. Acceso a consola bien por terminal bien por ssh

Preparación.

Lo primero que tenemos que hacer es acceder con el usuario Zimbra, para ellos escribimos:

sudo su -zimbra

nos situamos en el directorio de ejecutables del zimbra:

cd /opt/zimbra/bin/

y ahora lo ejecutamos lo bueno…. Creamos una nueva clave:

zmcertmgr createca -new -newkey

Creamos el nuevo certificado de 1 año, o de lo que quieras….

zmcertmgr createcrt -new -days 365

Desplegamos el certificado entre los distinto servicios:

zmcertmgr deploycrt self

Desplegamos la autoridad certificadora (ya que es un certificado autofirmado)

zmcertmgr deployca

Por último, le decimos al Zimbra que acepte los certificados autogenerados

$ zmlocalconfig -e ssl_allow_untrusted_certs=true

Y voila nuestros servicios de zimbra volverán a funcionar como el primer día. Espero que os sirva.