Certificados SSL para https con lets encrypt
Servidor

Certificados SSL para https con lets encrypt

14 Mar, 2017 • 4 min de lectura

Fantástica opción para los que tenemos VPS y no queremos gastar en SSL en nuestros proyectos. Por medio de este servicio se puede generar automáticamente, un certificado para la web.

El certificado lo proporciona Lets encrypt, este certificado caduca muy pronto y hay que ir actualizándolo constantemente por lo que es interesante la instalación de Certbot, o similar, que es un aplicativo que se encarga de la renovación automática.

Lets Encrypt, recomienda que, cuando realicemos pruebas de instalación, antes de la instalación definitiva, consumamos la dirección del staging environment, para que no se nos bloquee la emisión de nuestro certificado por exceso de solicitudes.

Los pasos para la instalación en Ubuntu 18.04 LTS. (Hoy no pongo los ‘sudo’ delante, normalmente esto se ejecuta en el servidor y lo normal es que lo hagamos con el usuario administrador)

Lo primero es asegurarse de que la configuración de Apache para nuestro sitio dispone del ServerName:

nano /etc/apache2/sites-available/ejemplo.com.conf

</p> La directiva en cuestión debe aparecer como:

ServerName ejemplo.com

</p> En esta versión de Ubuntu el Apache es más sensible a alguna configuración errónea, así que es buena idea comprobarla antes de hacer el reload, de otro modo Apache podría no volver a arrancar si hubiera algún error:

apache2ctl configtest

</p> Si salió correcta la prueba entonces, hacer el reload de la configuración de Apache:

systemctl reload apache2 ó service apache2 reload

</p>  

Activando el acceso con HTTPS con Firewall

El modo más sencillo de gestionar el Firewall en un servidor Ubuntu es por medio del UFW(Uncomplicated Firewall), para comprobar el estado actual usar:

ufw status

</p> Mostrará de modo resumido el estatus de los puertos. En el caso de que indique que se encuentra inactivo, antes de activarlo hay que asegurarse de que el puerto para el SSH está abierto, sino podríamos quedarnos sin acceso, para abrir el SSH:

ufw allow ssh

</p> Una vez ya está abierto, podremos habilitar el firewall ufw:

ufw enable</p>

Esta vez si anteriormente no estaba arrancado, al hacerle, ‘ufw status’ sí debe de marcarnos algo como lo siguiente:

Status: active</p>

To Action From  
-- ------ ----  
OpenSSH       ALLOW    Anywhere   
Apache Full   ALLOW    Anywhere   
OpenSSH (v6)  ALLOW    Anywhere (v6)   
Apache Full (v6) ALLOW Anywhere (v6)

Esas opciones son las deseadas para la instalación del Cerbot.

Instalando Cerbot

Cerbot se encargará de obtener los certificados SSL automáticamente, con el siguiente comando le indicamos que el servidor con el que va a trabajar es apache, y con -d le indicamos los nombres de domino.

certbot --apache -d ejemplo.com -d www.ejemplo.com</p>

La primera vez que se ejecute el comando para el dominio pregunta si se desea redireccionar directamente en el caso de que se llame al dominio con o sin https. y a continuación el correo electrónico de registro, Cerbot se encargará del mantenimiento automático del certificado ya que caducan cada 90 días.

Es conveniente realizar la prueba de funcionamiento del Cerbot, realizando un –dry-run:

certbot renew --dry-run

</p> En los mensajes de respuesta muestra si fue todo correcto o si hubiera que ajustar el ufw.

certbot --apache -d miweb.es -d www.miweb.es</p>

 

 

 

 

 

 

 

 

Categorías: Servidor Web
Etiquetas: