Configurar Lets Encrypt Digital Ocean

Configurar Lets Encrypt Digital Ocean



El dominio de un sitio web debe tener cifrado SSL/TLS si tiene la intención de obtener visitantes. Los certificados SSL/TLS proporcionan una fuerte conexión entre los servidores web y los navegadores. Anteriormente, la seguridad no era una preocupación importante. Era relativamente común que los sitios web entregaran datos a través del protocolo HTTP establecido. Sin embargo, hoy en día, el canal utilizado para comunicarse con el servidor debe estar protegido, ya que los delitos cibernéticos, como el robo de identidad, el fraude con tarjetas de crédito y el espionaje, están en aumento.

Una Autoridad de Certificación (CA) llamada Let's Encrypt ofrece certificados SSL/TLS gratuitos, lo que permite el cifrado HTTPS en los servidores web. Está verificado por dominio, por lo que no es necesaria una dirección IP dedicada. Por lo general, se recomienda tener un certificado SSL habilitado en su sitio web para mejorar su clasificación SEO, particularmente en Google.







Funcionamiento de Let's Encrypt

Let's Encrypt confirma la propiedad del dominio antes de proporcionar un certificado. Cuando se valida el token, el servidor de validación de Let's Encrypt realiza una solicitud HTTP para obtener el archivo y se asegura de que el registro DNS del dominio apunte al servidor que aloja al cliente de Let's Encrypt.



Requisitos

Debe hacer lo siguiente antes de usar Let's Encrypt:



Siguiendo las instrucciones de este primer tutorial de configuración del servidor para Ubuntu 20.04, una vez que el servidor Ubuntu 20.04 esté configurado, complete con un firewall y un usuario no root con acceso sudo.





Un nombre de dominio con registro. A lo largo de este artículo, se utilizará myfirstproject1.com. Puedes comprar un dominio.

Los siguientes dos registros DNS están configurados en su servidor.



  • Un registro 'myproject1' con myfirstproject1.com apuntando a la dirección IP pública de su servidor
  • Un registro 'myproject2' con myfirstproject2.com apuntando a la dirección IP pública de su servidor.

Nginx debe estar instalado y debe asegurarse de que su dominio tenga un bloque de servidor.

Pasos para instalar Let's Encrypt en Digital Ocean

Los pasos principales para instalar Let's Encrypt en el océano digital son:

Instalación de Certbot

El software Certbot es la necesidad principal para utilizar Let's Encrypt para obtener un certificado SSL. Para instalar Certbot y su complemento Nginx, usamos el siguiente comando:

La mayoría de las empresas de alojamiento compartido y algunas empresas de alojamiento en la nube incorporan Certbot o un complemento similar en el panel de alojamiento del sitio web que le permite comprar, renovar y administrar certificados SSL/TLS con algunos clics.

Mientras que “python3-certbot-nginx” es un paquete que se utiliza para:

Demuestre de inmediato a la CA de Let's Encrypt que usted está a cargo del sitio web.

  • Mantenga registros de cuándo debe actualizar su licencia y cuándo está a punto de caducar.
  • Obtenga e instale un certificado de confianza del navegador en cualquier servidor web.
  • Ayudarlo a revocar el certificado si surge la necesidad.

Certbot ahora está listo para su uso, pero algunas de sus configuraciones deben confirmarse antes de que pueda configurar SSL para Nginx automáticamente.

Verificación de la configuración de Nginx

Certbot debería poder configurar SSL automáticamente. Debe poder ubicar el bloque de servidor adecuado en su configuración de Nginx. Más precisamente, lo logra buscando una directiva de nombre de servidor correspondiente al dominio para el que solicita un certificado.

Ya debería tener la directiva de nombre del servidor configurada correctamente en un bloque de servidor para el dominio, que usaremos en '/etc/nginx/sites-disponible/myfirstproject1.com'.

Abra el archivo de configuración del dominio en nano o en su otro editor de texto para verificar que su archivo se abrirá si existe, cierre su editor y vaya a la siguiente acción. El nombre del servidor se verá como “nombre_servidor nombre_dominio www.domain_name.com “, como se muestra en el fragmento a continuación.

Si no cambia, corresponde. Verifique la sintaxis de sus modificaciones de configuración después de guardar el archivo y cerrar su editor. Use la siguiente instrucción para verificar:

$ sudo nginx-t

Vuelva a cargar Nginx para cargar la configuración actualizada después de asegurarse de que la sintaxis de su archivo de configuración sea correcta:

$ sudo systemctl recargar nginx

Ahora, Certbot puede ubicar automáticamente el bloque de servidor correcto y actualizarlo. Un systemctl se encarga de inspeccionar y gestionar el sistema systemd y la gestión de servicios. Sirve como reemplazo del demonio de inicio de System V y consta de varias bibliotecas, herramientas y demonios de administración del sistema.

Habilitación de HTTPS a través del cortafuegos

Las recomendaciones requeridas le aconsejan habilitar el firewall UFW. Debe cambiar la configuración para permitir el tráfico HTTPS.

La opción de estado de UFW nos permite ver la condición más reciente de UFW. El estado de UFW muestra una lista de regulaciones si UFW está activado. Por supuesto, si tiene las credenciales necesarias, solo puede ejecutar el comando como usuario root o con el prefijo sudo.

Habilite el perfil completo de Nginx y elimine la asignación innecesaria del perfil HTTP de Nginx para permitir también el tráfico HTTPS:

El fragmento anterior muestra el método para permitir el tráfico completo de Nginx y el segundo muestra cómo eliminar el otro tráfico que permitimos.

Cómo obtener un certificado SSL

Con la ayuda de complementos, Certbot ofrece varias formas de obtener certificados SSL. La configuración de Nginx y la recarga de la configuración serán manejadas por el complemento de Nginx según sea necesario.

Utilice el Certbot para obtener el certificado SSL del dominio de inmediato. Para indicar el dominio, se necesita un argumento '-d'. Let's Encrypt emite un certificado para el subdominio www y la raíz. Es necesario obtener el certificado para ambas versiones, ya que tener solo uno para cualquiera de las versiones generará una advertencia en el navegador si un visitante ve la otra versión. Para los nuevos usuarios, certbot le pide que proporcione su correo electrónico para el primero y confirme que está de acuerdo con los términos del servicio.

Si esto tuviera éxito, le pediría que haga su selección y presione ENTER. Después de actualizar la configuración, Nginx volverá a cargar y considerará la nueva configuración. Después de finalizar, certbot le informará que el procedimiento fue exitoso.

Conclusión

En esta guía, demostramos cómo instalar y utilizar el certbot del software Let's Encrypt, obtener un certificado SSL, configurar su actualización automática para un certificado SSL y configurar Nginx. Además, también le brindamos algunos ejemplos de situaciones que podrían generar problemas de compilación al usar Let's Encrypt Digital Ocean.