CertBot

Paso 1: Instalación de Certbot El primer paso para usar Let’s Encrypt para obtener un certificado SSL es instalar el software Certbot en su servidor. Nota : actualmente, Certbot no está disponible en los repositorios de software de Debian de forma predeterminada, pero es posible configurar el buster-backportsrepositorio en su /etc/apt/sources.listarchivo para permitirle instalar una versión posterior del software Certbot con APT . Los backports , sin embargo, son paquetes recompilados de los repositorios inestables y de prueba de Debian que han sido recompilados para ejecutarse en una distribución estable de Debian. Estos paquetes no se prueban regularmente y es posible que no siempre estén actualizados. En consecuencia, el backport de Certbot instalará la versión0.31mientras que la versión actual a partir de este escrito es1.09. Una diferencia notable entre estas versiones de Certbot es que la configuración predeterminada para la versión0.31habilitará TLS v1.0 y TLS v1.1, dos protocolos de seguridad que han quedado obsoletos en la mayoría de los principales navegadores web, y habilitar estos protocolos puede presentar una vulnerabilidad de seguridad. Si bien es posible cambiar este valor predeterminado, hacerlo puede interrumpir las actualizaciones automáticas que hacen que Certbot sea tan útil. Hasta que una versión más reciente de Certbot esté disponible en los repositorios de Debian APT, este tutorial seguirá la recomendación de instalación de la versión de la documentación de Certbot.1.09con snappy , un administrador de paquetes desarrollado para sistemas Linux que instala paquetes en un formato denominado snaps . Para instalar Certbot como un complemento en Debian, primero debe haberlo snapdinstalado en su servidor. snapdes un demonio necesario para instalar, usar y administrar instantáneas. La instalación del snapdpaquete también instalará el snapcomando en su servidor. Para instalar snapd, actualice su índice de paquetes local si no lo ha hecho recientemente: Luego instale el snapd: Después de ejecutar este comando, se le pedirá que confirme que desea instalar snapdy sus dependencias. Hágalo presionando Yy luego ENTER. Luego, use el snapcomando para instalar el corecomplemento. Esto instalará algunas dependencias en su servidor que son necesarias para cualquier complemento que instale, incluido el complemento Certbot: Luego actualice el corecomplemento. Si lo hace, se asegurará de tener snapdinstaladas las últimas versiones y sus dependencias: Después de eso, puede instalar el certbotcomplemento con el siguiente comando. Tenga en cuenta que las instantáneas se pueden instalar en uno de los tres niveles de confinamiento que brindan diversos grados de aislamiento de su sistema. Por ejemplo, la mayoría de las instantáneas se instalan en el –strictnivel de confinamiento de manera predeterminada, lo que evita que estos programas accedan a los archivos o la red de su sistema. Debido a que se debe permitir que Certbot edite ciertos archivos de configuración para configurar correctamente los certificados, este comando incluye la –classicopción. Este nivel de confinamiento permite que cualquier instantánea instalada debajo de él tenga el mismo acceso a los recursos del sistema que los paquetes tradicionales: Instalación de python3 Instalación de classic certbot Este proceso de instalación instalará el certbotejecutable en el /snap/bin/directorio. Cree un enlace simbólico a este archivo en el /usr/bin/directorio para asegurarse de que puede ejecutar el certbotcomando en cualquier parte de su sistema: Certbot ahora está listo para usar, pero para que configure SSL para Apache, debemos verificar que Apache se haya configurado correctamente. Paso 2: Configuración del certificado SSL Certbot necesita poder encontrar el host virtual correcto en su configuración de Apache para configurar automáticamente SSL. Específicamente, lo hace buscando una ServerNamedirectiva que coincida con el dominio para el que solicita un certificado. Si siguió el paso de configuración del host virtual en el tutorial de instalación de Apache , debería tener un VirtualHostbloque para su dominio con la directiva ya configurada correctamente./etc/apache2/sites-available/your_domain.confServerName Para verificar, abra el archivo de host virtual para su dominio usando nanosu editor de texto favorito: Encuentra la ServerNamelínea existente. Debería verse así, con su propio nombre de dominio en lugar de your_domain:/etc/apache2/sitios-disponibles/su_dominio.conf Si aún no lo hace, actualice la ServerNamedirectiva para que apunte a su nombre de dominio. Luego guarde el archivo y salga de su editor. Si usó nano, hágalo presionando CTRL + X, Yy luego ENTER. A continuación, verifique la sintaxis de sus cambios de configuración: Si no hay ningún error de sintaxis, verá esto en su salida: Si obtiene un error, vuelva a abrir el archivo de host virtual y verifique que no haya errores tipográficos o que falten caracteres. Una vez que la sintaxis de su archivo de configuración sea correcta, vuelva a cargar Apache para cargar la nueva configuración: Certbot ahora puede encontrar el VirtualHostbloque correcto y actualizarlo. A continuación, actualicemos el firewall para permitir el tráfico HTTPS. Paso 3: Permitir HTTPS a través del cortafuegos Si tiene ufwhabilitado el firewall, como se recomienda en las guías de requisitos previos, deberá ajustar la configuración para permitir el tráfico HTTPS. Afortunadamente, cuando se instala en Debian, ufwviene con algunos perfiles que ayudan a simplificar el proceso de cambiar las reglas del firewall para el tráfico HTTP y HTTPS. Puede ver la configuración actual escribiendo: Si siguió el Paso 2 de nuestra guía sobre Cómo instalar Apache en Debian 10 , el resultado de este comando se verá así, mostrando que solo se permite el tráfico HTTP al servidor web: Para permitir adicionalmente el tráfico HTTPS, permita el perfil «WWW completo» y elimine la asignación de perfil «WWW» redundante: Su estado ahora debería verse así: A continuación, ejecutemos Certbot y obtengamos nuestros certificados. Paso 4: Obtener un certificado SSL Certbot proporciona una variedad de formas de obtener certificados SSL a través de complementos. El complemento de Apache se encargará de reconfigurar Apache y recargar la configuración cuando sea necesario. Para usar este complemento, escriba lo siguiente: Esto se ejecuta certbotcon el –apachecomplemento y se usa -dpara especificar los nombres para los que desea que el certificado sea válido. Si es la primera vez que corre certbot, se le pedirá que ingrese una dirección de correo electrónico y acepte los términos del servicio. Además, le preguntará si está dispuesto a compartir su dirección de correo electrónico con Electronic Frontier Foundation , una organización sin fines de lucro que defiende los derechos digitales y también es el fabricante de Certbot. Siéntase libre de ingresar Ypara compartir su dirección de correo electrónico o Npara rechazar. Después de hacerlo, certbotse comunicará con el servidor Let’s Encrypt, luego ejecutará un desafío para verificar que controla el dominio para el que está solicitando un certificado. Si eso tiene éxito, la configuración se actualizará automáticamente y Apache se volverá a cargar