ubuntu-configurar-ssl-letscrypt

Configurar SSL Let’s Encrypt con Nginx

Let’s Encrypt es una autoridad de certificación que se puso en marcha el 12 de abril de 2016 y que proporciona certificados X.509 gratuitos para el cifrado de Seguridad de nivel de transporte (TLS) a través de un proceso automatizado diseñado para eliminar el complejo proceso actual de creación manual, la validación, firma, instalación y renovación de los certificados de sitios web seguros.

Las iniciativas actuales de los principales desarrolladores de navegadores como Mozilla y Google para despreciar HTTP sin cifrar están contando con la disponibilidad de Let’s Encrypt. El proyecto se reconoce que tienen el potencial de lograr conexiones cifradas como el caso por defecto para toda la web.

Sólo se emiten certificados de dominio validado, no se ofrecerán la validación de organizaciones certificados de validación extendida.

Wikipedia

Para instalarlo en Ubuntu, debemos hacer lo siguiente:

Instalar Certbot

Actualizamos el firewall

Luego, debemos configurar nuestro servidor web, en este ejemplo, estamos trabajando con Nginx, es por esto que vamos a /etc/nginx/sites-available/default, claro está, default es el predeterminado, pero puede ser uno distinto según la configuración de nuestro servidor. Aquí, debemos modificar el server_name con nuestro dominio, por ejemplo

Revisamos que los cambios estén correctos, y reiniciamos Nginx

Configuramos los dominios, estos deben ser los mismos que se configuraron en Nginx

Esto nos preguntará lo siguiente:

Please choose whether HTTPS access is required or optional.
——————————————————————————-
1: Easy – Allow both HTTP and HTTPS access to these sites
2: Secure – Make all requests redirect to secure HTTPS access
——————————————————————————-
Select the appropriate number [1-2] then [enter] (press ‘c’ to cancel):

Elegimos una de las 2 opciones y presionamos la tecla “enter” para que comience el proceso.

Ahora creamos el archivo dhparam.pem

Volvemos al archivo /etc/nginx/sites-available/default, y dentro del bloque server {} debemos agregar:

Revisamos que los cambios estén correctos, y reiniciamos Nginx

Finalmente, debemos configurar la actualización de los certificados, esto es debido a que los certificados de Let’s Encrypt sólo son válidos por noventa días. Esto lo haremos gracias a cron.

Aquí agregaremos un comando que se ejecutará todos los días a las 3:15hrs. El comando de renovación de Certbot comprobará todos los certificados instalados en el sistema y actualizará todos los que vayan a expirar en menos de treinta días. –quiet le indica a Certbot que no envíe información ni espere a que el usuario ingrese.

 

Artículo basado en DigitalOcean.