Let’s Encrypt es una sensacional proyecto que nos permite crear y administrar certificados SSL en nuestros servidores, validados por una entidad de seguridad. Esta es una gran ventaja que nos permitirá ahorrar buenos dolares en certificados SSL para nuestros servidores administrados.
**Nota ** Normalmente todos mis servidores son Centos, si usas Debian, hay plugins que te hacen la vida màs fácil, puedes checar la documentación de LetsEncrypt. De aquí en adelante los pasos son para Centos 6, en servidores dedicados, vps o propios, con acceso a root (o utilizando sudo al principio de los comandos) y hospedando multiples sitios como “virtual hosts”.
Comenzamos:
Para instalar Let’s Encrypt, simplemente lo clonamos de GitHub:
Usualmente creo un usuario git y pongo todos los repos dentro de /home/git
$ git clone https://github.com/letsencrypt/letsencrypt
Para usarlo, entramos al directorio y llamamos letsencrypt-auto:
$ cd letsencrypt
$ ./letsencrypt-auto --help
Esto instalará todas las dependencias si no las tienes instaladas (python, python lib, keyutils, openssl, gcc, etc).
**Nota** Si te encuentras con un error “virtualenv command not found“:
$ pip install virtualenv
**Sub-Nota** Si al correr el comando, te encuentras con el error: “pip command not found“
Descargate pip:
$ wget https://bootstrap.pypa.io/get-pip.py
Instala pip:
$ python get-pip.py
Ahora si, instala virtualenv:
$ pip install virtualenv
y otra vez
$ ./letsencrypt-auto --help
Genial! Estamos listos.
Ahora vamos a hacer el certificado:
$ ./letsencrypt-auto certonly --webroot -w /var/www/mysite.com -d mysite.com -d www.mysite.com
Reemplaza /var/www/mysite.com por la ruta a tu sitio web y mysite.com y www.mysite.com por el dominio de tus sitio web.
Este paso te preguntará tu correo y te pedirá que aceptes el acuerdo de licencia.
Listo!
Los certificados están en /etc/letsencrypt/live/mysite.com (Reemplazando mysite.com por el dominio de tu sitio web).
Abrimos el archivo /etc/httpd/conf.d/ssl.conf
$ vim /etc/httpd/conf.d/ssl.conf
Agregamos esta línea al principio del archivo:
NameVirtualHost *:443
Ahora, al final del archivo, agregamos un host virtual con la configuración SSL:
<VirtualHost *:443>
ServerName mysite.com DocumentRoot /var/www/mysite.com SSLEngine on SSLCertificateFile /etc/letsencrypt/live/mysite.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/mysite.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/mysite.com/chain.pem
</VirtualHost>
**Nota** Reemplaza mysite.com por el dominio de tu sitio web.
Por último, reiniciamos apache:
$ apachectl restart
En caso de que no tengas abierto el puerto 443:
$ iptables -I INPUT -p tcp –dport 443 -j ACCEPT
$ service iptables save
Todo listo, ve a https://mysite.com y accederas de manera segura!
**Nota Importante** El certificado expira como a los tres meses, para renovarlo, simplemente vuelve a correr los comandos de letsencrypt-auto
admin
March 10, 2016
Open Source, Seguridad
No Comment