SSL, Courier IMAPs y certificados de CACERT

En la empresa tenemos corriendo algunos servidores con IMAPS, mas específicamente Courier, si bien podemos certificarnos nosotros mismos, decidimos usar una entidad certificadora, que crea certificados sin costo alguno, es CACERT. Para eso vamos a seguir unos pasos muy sencillos.
Vamos a usar OpenSSL así que debemos tenerlo instalado.

Bien, primero creamos la key del servidor para encriptar y firmar

#openssl genrsa -out servidor.key
#chmod 400 servidor.key

Luego de esto debemos crear el CSR (Certificate signing request)

#openssl req -new -nodes -key servidor.key -out servidor.csr

Aquí debemos de responder a varias preguntas, siendo la mas importante el CommonName
donde debemos especificar el hostname exacto del mailserver, pej correo.dominio.com.
El CSR es el archivo que ser enviara a CA (Certificate Authority – Entidad Certificadora) quien sera el que nos firme, en este caso usamos CaCert, por que lo hace sin costo alguno, pero se puede usar cualquier otro, los pasos no se si varían mucho, pero creo que no.

En CaCert.org, debemos registrarnos, ingresar un dirección de correo, agregar el dominio y aquí se nos pedida que peguemos el contenido del CSR, el cual podemos hacer # cat servidro.csr y copiar el contenido al navegador.
Luego de esto CaCert nos proveerá por mail y por la pagina el contenido firmado. Este lo guardamos como servidor.crt.

Ahora nos resta crear el archivo .pem que es lo que lee el Courier, este consta de 2 partes

  1. La .key del servidor
  2. El certificado firmado por el CA
  3. Y el codigo Diffie-Hellman

Para eso realizamos los siguientes pasos:

# cat servidor.key servidor.crt > /etc/courier/imapd.pem
# openssl gendh >> /etc/courier/imapd.pem

Y reiniciamos courier, ahora cuando ingresemos al servidor desde nuestro cliente para acceder
al IMAPs estaremos usando nuestro certificado, dependiendo del cliente debemos de agregar la entidad certificadora para eso instalamos este certificado : https://www.cacert.org/certs/root.crt