Saltar al contenido

Cómo utilizar el modo independiente Certbot para recuperar certificados SSL Cifrar Vayamos en Ubuntu 18.04

marzo 4, 2020

 Cifrar de

Introducción

Let es un servicio que ofrece certificados SSL gratuitos a través de una API automatizado. El más popular cliente Cifrar Vamos es Certbot de la EFF.

Certbot ofrece una variedad de maneras de validar su dominio, en Obtener certificados, y automáticamente configurar Apache y Nginx. En este tutorial, vamos a discutir el modo autónomo de Certbot y la forma de utilizarlo para asegurar otros tipos de servicios, como por ejemplo un servidor de correo o un intermediario de mensajes como RabbitMQ.

no vamos a discutir los detalles de la configuración SSL, pero cuando haya terminado tendrá un certificado válido que se renueva automáticamente. Además, usted será capaz de automatizar cargar de nuevo el servicio para recoger el certificado renovado.

Requisitos previos

Antes de comenzar este tutorial, necesitará:

  • Un servidor de Ubuntu 18.04 con un no root, el usuario sudo habilitado y firewall básico establecido, como se detalla en este Ubuntu 18.04 configuración del servidor tutorial.
  • Un nombre de dominio apuntando a su servidor, lo cual se puede lograr siguiendo “Cómo configurar un nombre de host con digitalocean.” Este tutorial se utilizará a lo largo de example.com.
  • puerto 80 o 443 deben estar sin usar en su servidor. Si el servicio que está tratando de asegurar es en una máquina con un servidor web que ocupa tanto de esos puertos, tendrá que utilizar un modo diferente, como el modo de Webroot Certbot.

Paso 1 – Instalación de Certbot

Ubuntu incluye el cliente Certbot en su repositorio predeterminado, pero es un poco fuera de fecha. En su lugar, vamos a instalarlo desde oficial de Ubuntu PPA de Certbot o Personal Package Archive . Estos son los repositorios alternativos que paquete de software más reciente o más oscura. En primer lugar, añadir el repositorio:

sudo add-apt-repository ppa:certbot/certbot

  • sudo add-apt ppa-repositorio: certbot / certbot

Tendrá que pulsar ENTER para aceptar. A continuación, actualizar la lista de paquetes para recoger información del paquete del nuevo repositorio:

sudo apt update

  • sudo update apt

Y, por último, instalar el paquete certbot:

sudo apt install certbot

  • sudo apt certbot instalar

Ahora que hemos instalado Certbot , vamos a ejecutarlo para obtener nuestro certificado.

Paso 2 – Ejecución de Certbot

Certbot necesita para responder a un desafío criptográfico emitido por la API de cifrado de Let el fin de demostrar que controlamos nuestro dominio. Se utiliza los puertos 80 (HTTP) o 443 (HTTPS) para lograr esto. Abrir el puerto apropiado en el servidor de seguridad:

sudo ufw allow 80

  • sudo permiten UFW 80

Sustituto 443 anterior, si ese es el puerto que está utilizando. confirmación de salida que se añadió UFW su regla:

OutputRule added
Rule added (v6)

Ahora puede ejecutar Certbot para obtener nuestro certificado. Vamos a utilizar la opción de decir –standalone Certbot para manejar el reto utilizando su propio servidor web incorporado. La opción –preferred-desafía instruye al puerto Certbot uso 80 o el puerto 443. Si está utilizando el puerto 80, que desea –preferred-desafía http. Para el puerto 443 sería –preferred-desafía TLS-SNI. Por último, la opción -d se usa para especificar el dominio que está solicitando un certificado para. Puede agregar varias opciones -d para cubrir múltiples dominios en un solo certificado.

sudo certbot certonly --standalone --preferred-challenges http -d example.com

  • sudo certbot certonly –standalone –preferred-desafía http -d example.com

Cuando se ejecuta el comando, se le pedirá que introduzca una dirección de correo electrónico y estar de acuerdo con los términos del servicio. Después de hacerlo, debería ver un mensaje que indica que el proceso fue exitoso y donde se almacenan sus certificados:

OutputIMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2018-10-09. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Tenemos nuestros certificados. Vamos a echar un vistazo a lo que hemos descargado y cómo utilizar los archivos con nuestro software.

Paso 3 – Configuración del

Aplicación Configuración de la aplicación para SSL está más allá del alcance de este artículo, ya que cada aplicación tiene diferentes requisitos y opciones de configuración, pero vamos a echar un vistazo a lo Certbot ha descargado para nosotros. Utilice ls hacer una lista de directorio que contiene las claves y certificados: ls /etc/letsencrypt/live/example.com archivo

Outputcert.pem chain.pem fullchain.pem privkey.pem README

El README

sudo ls /etc/letsencrypt/live/example.com

  • sudo en este directorio tiene más información acerca de cada uno de estos archivos. Muy a menudo lo único que necesita dos de estos archivos:

    • privkey.pem: Esta es la clave privada del certificado. Esto necesita que se le mantenga seguro y secreto, por lo que la mayor parte del directorio / etc / letsencrypt tiene permisos muy restrictivos y es accesible sólo por el usuario root. La mayor parte de configuración de software se refieren a esto como algo similar a SSL-certificado de clave o certificado SSL-key-file.
    • fullchain.pem: Este es nuestro certificado, incluido con todos los certificados intermedios. La mayoría del software utiliza este fichero para el certificado real, y se referirá a él en su configuración con un nombre como ‘ssl-certificate’.

    Para obtener más información sobre los otros archivos presentes, consulte la sección “¿Dónde están mis certificados” de los documentos Certbot.

    Algunos programas de software necesitará sus certificados en otros formatos, en otros lugares, o con otros permisos de usuario. Lo mejor es dejar todo en el directorio letsencrypt, y no cambiar los permisos de allí (permisos sólo serán sobrescritos momento de la renovación de todos modos), pero a veces simplemente no es una opción. En ese caso, tendrá que escribir una secuencia de comandos para mover archivos y cambiar los permisos según sea necesario. necesitará esta secuencia de comandos para ejecutarse cada vez que Certbot renueva los certificados, que vamos a hablar a continuación.

    Paso 4 – Manejo de certificados de Certbot automáticas Renovaciones

    Vamos Cifrar sólo son válidos durante noventa días. Esto es para animar a los usuarios a automatizar su proceso de renovación del certificado. El paquete certbot instalamos se encarga de esto para nosotros mediante la adición de una secuencia de comandos para renovar /etc/cron.d. Este script se ejecuta dos veces al día y renovar certificados que está dentro de los treinta días de caducidad.

    Con nuestros certificados de renovación automática, todavía necesitamos una forma de ejecutar otras tareas después de una renovación. Necesitamos al menos reiniciar o volver a cargar nuestro servidor para recoger los nuevos certificados, y como se mencionó en el paso 3 es posible que tenga que manipular los archivos de certificado de alguna manera para que funcionen con el software que estamos utilizando. Este es el propósito de la opción de renew_hook Certbot.

    Para añadir un renew_hook, que actualice el archivo de configuración de renovación Certbot. Certbot recuerda todos los detalles de cómo el que obtuvo por primera vez el certificado y se ejecutará con las mismas opciones momento de la renovación. Sólo tenemos que añadir en nuestro gancho. Abra el archivo de configuración con ustedes editor favorito:

    sudo nano /etc/letsencrypt/renewal/example.com.conf

    • sudo nano /etc/letsencrypt/renewal/example.com.conf archivo de texto

    A se abrirá con algunas opciones de configuración. Añadir su gancho en la última línea:

    renew_hook = systemctl reload rabbitmq

    actualización el comando anterior a todo lo que necesita para funcionar para recargar su servidor o ejecutar el archivo personalizado munging guión. Por lo general, en Ubuntu, podrás mayormente a utilizar systemctl para recargar un servicio. Guardar y cerrar el archivo, a continuación, ejecutar una carrera Certbot seco para asegurarse de que la sintaxis es aceptable:

    sudo certbot renew --dry-run

    • sudo certbot renovar—dry ejecutar

    Si no ve errores, eso es todo. Certbot se establece para renovar cuando sea necesario y ejecutar los comandos necesarios para obtener su servicio a través de los nuevos archivos.

    Conclusión

    En este tutorial, hemos instalado el cliente Cifrar del Certbot Let, descargado un certificado SSL usando el modo independiente, y ha permitido la renovación automática con ganchos renovar. Esto debe darle un buen comienzo en el uso de certificados de Cifrar pues, con servicios distintos de su servidor web típico.

    Para obtener más información, consulte la documentación del Certbot.