octubre
2009
Servidor de correo III
Ahora vamos a hacer poco, crear un certificado de seguridad para cifrar la conexión entre nuestro servidor de correo y nuestros futuros clientes. Hay información mas detallada para Ubuntu desde la página Certificados y seguridad de la misma distribución, en este paso haremos un certificado firmado por nosotros mismos: esto tiene un inconveniente, por ejemplo en los navegadores o clientes de correo nos mostrará que el sitio “aunque el sitio es cifrado, no es seguro… debido a que ninguna autoridad certificadora lo avala”, palabras mas, palabras menos.
Si se tiene el dinero y la necesidad de pagar un certificado a verisign u otra empresa del ramo, no hay problema, ellos inclusive te ayudarán a crear el certificado o al menos te darán documentación. El cifrado firmado por nosotros mismos a final de cuentas tiene la misma funcionalidad, solo que da mas “confianza” a algunas personas que alguien diga que eres confiable… wtf?. Y claro, hay que soltar una pasta.
Bueno, en una consola generamos primero nuestra llave:
openssl genrsa -des3 -out server.key 1024 enerating RSA private key, 1024 bit long modulus .....................++++++ .................++++++ unable to write 'random state' e is 65537 (0x10001) Enter pass phrase for server.key:
Aquí es importante mencionar que la clave que pongamos será necesaria para ejecutar cualquier servicio que haga uso de ella, por ejemplo Apache o en nuestro caso Dovecot y Postfix. Es decir, no se podrá ejecutar de forma automática un servicio, para lograr esto generamos otra llave sin contraseña: (nos solicitará la llave que escribimos en el paso anterior)
openssl rsa -in server.key -out server.key.insecure
Ahora, generamos el CSR:
openssl req -new -key server.key -out server.csr Enter pass phrase for server.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:MX State or Province Name (full name) [Some-State]:Coahuila Locality Name (eg, city) []:Torreon Organization Name (eg, company) [Internet Widgits Pty Ltd]:Foforo Company Organizational Unit Name (eg, section) []:Internet Common Name (eg, YOUR name) []:example.org Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
En este paso, lo más importante es el Common Name, como nosotros utilizaremos example.org eso le pondremos de CN, sin embargo hay que aclarar que el CN debe ser exactamente como el nombre de nuestro servidor, el que configuremos a nuestros clientes, por que si no no solo tendremos un aviso del certificado, sino que además nos avisará que es posible (aunque poco probable) que el sitio que dice ser no lo es... :?, y que hay riesgo de seguridad.
Aclarado este punto, firmamos nuestro certificado por 365 días (cuando termine el año habrá que regenerar el certificado):
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Y ahora solo copiamos nuestro certificado al lugar apropiado:
sudo cp server.crt /etc/ssl/certs sudo cp server.key server.key.insecure /etc/ssl/private
Cabe mencionar que utilizar IMAP con SSL y SMTP con TLS es casi opcional, pero es muy recomendable por varios motivos: el primero es la seguridad y el segundo es que algunos proveedores de internet bloquean el puerto 25 para envío de correo y otros el puerto para IMAP (143). De esta forma como vamos configurando todo, quedará el puerto 993 para IMAPS y 587 para envío de correo electrónico.
Es todo, ya tenemos nuestro certificado firmado y ya podremos hacer uso del mismo para nuestros servicios, por ahora queda pendiente la configuración de postfix y posteriormente de dovecot.
Sin comentarios :'( ]
del.icio.us Estrella este post
Entradas relacionadas:
