Que la comunicación entre los usuarios y los sitios web viaje de forma segura, cifrada y no pueda ser interceptada por terceros debería ser algo obligatorio para todos los sitios.
Hasta hace muy poco el proceso para que los dueños de una página web para obtuvieran un certificado para cifrar sus webs (el famoso https) era un proceso, lento tedioso y en muchas ocasiones caro.
Hace unos meses se lanzó el proyecto Let’s Encrypt, el cuál Mozilla fue uno de los propulsores, cuyo objetivo es proporcionar a todo el mundo certificados para cifrar nuestros sitios web de forma gratuita y automática.
Si os fijáis este mismo blog usa ya https para todas las páginas, pero ¿cómo lo podéis hacer en vuestras webs?
Actualización (4/7/2016): El script de gestión de certificados ahora se llama certbot y es mantenido por la EFF, toda la documentación actualizada en su web. Las instrucciones a continuación están obsoletas.
La documentación de Let’s Encrypt es muy clara, pero voy a resumir.
En vuestro servidor como root bajamos letsencrypt si vuestro sistema no lo tiene aún y lo ejecutamos para que instale dependencias:
$ git clone https://github.com/letsencrypt/letsencrypt $ cd letsencrypt $ ./letsencrypt-auto --help
Vamos a generar nuestro certificado, podemos generarlo e instalarlo de forma automática si usamos apache como dice la documentación, pero en mi caso como uso Nginx y el plugin aún no va fino he optado por hacerlo a mano, decirle que simplemente me genere nuevos certificados y que use un archivo en la raíz de la web para verificar que soy el propietario:
$ ./letsencrypt-auto certonly --webroot -w /var/www/nukeador.com/ -d nukeador.com -d www.nukeador.com
Y ya está, tendremos nuestro certificado para el dominio nukeador.com y www.nukeador.com en la carpeta /etc/letsencrypt/live/nukeador.com/ que podremos enlazar en la configuración de nuestro servidor web (si usáramos el plugin de apache esto lo haría él solo).
Posteriormente debemos programar una tarea diaria en el cron para que intente renovar el certificado si ha caducado (por defecto duran 3 meses) y recargar el servidor web para que lo tome. Simplemente lo puse en el cron como @daily /ruta/al/script
/root/letsencrypt/letsencrypt-auto certonly --keep-until-expiring --webroot -w /var/www/nukeador.com/ -d nukeador.com -d www.nukeador.com service nginx reload
Como veis es un proceso que cuesta 5 minutos y que nos tendremos que olvidar para siempre de renovaciones, pagos y dolores de cabeza.
¡Cifremos todas las web para asegurarnos que nuestra información y la de nuestros visitantes viaja segura!