Let’s Encrypt is a free, automated, and open certificate authority brought to you by the Internet Security Research Group (ISRG).
Hace ya un par de días como respuesta a un twitt me llegó un mensaje de Angel Cardenas (@AnglDavd) sobre un sistema que genera y valida certificados ssl para las páginas web. Tomando en consideración que he pagado por muchos de estos certificados, lo cual no es barato, obviamente la idea de un certificado gratuito me generó curiosidad.
La instalación fue bastante sencilla y funcionó de inmediato en uno de mis servidores Ubuntu Server 14.04 siguiendo las instrucciones publicadas en el sitio web :
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto --help
Con esto simplemente bajamos el sript de automatización que instala todas las dependencias y genera los certificados. En mi caso yo uso servidores apache, por lo que la instalación fue tan sencilla como ejecutar :
./letsencrypt-auto --apache
Con lo anterior se generaron y validaron automáticamente los certificados para mi servidor.
En otro de mis servidores, esto no funcionó, arrojandome un error :
Failed authorization procedure (tls-sni-01): urn:acme:error:connection
Por lo que según las instrucciones encontradas en el foro ejecuté la instalación standalone para generar los certificados ( Hay que detener el demonio de apache primero ).
./letsencrypt-auto certonly --standalone -d pandora.cl -d www.pandora.cl
Lo que dio como resultado
Updating letsencrypt and virtual environment dependencies.......
Running with virtualenv: /root/.local/share/letsencrypt/bin/letsencrypt certonly -a standalone -d pandora.cl -d www.pandora.cl
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/pandora.cl/fullchain.pem. Your cert will
expire on 2016-03-11. To obtain a new version of the certificate in
the future, simply run Let's Encrypt again.
- If like Let's Encrypt, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Ya teniendo los certificados creados, simplemente de manera manual se hace la instalación en el servidor de apache luego de haber habilitado el modulo correspondiente.
# sudo a2enmod ssl
Ahora en el archivo default-ssl.conf dentro de la configuración de apache2 agregamos lo siguiente al sitio por defecto.
SSLCertificateFile /etc/letsencrypt/live/pandora.cl/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/pandora.cl/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/pandora.cl/chain.pem
Ya teniendo el módulo activo, la configuración lista, simplemente activamos la configuración.
# a2ensite default-ssl.conf
Bueno, eso sería todo. Como podrán notar el caso de prueba en donde me falló la configuración automática fue para el sitio web de pandora.cl . Actualmente estoy usando este certificado en el sitio, sin embargo me percaté que alguno de los links no están con https, así que no se asusten si el certificado no aparece con color verde.