Este documento explica cómo obtener un certificado Let's Encrypt, cómo instalarlo en Cisco Business Dashboard y cómo configurar la renovación automática mediante la interfaz de línea de comandos (CLI). Si desea obtener información general sobre la administración de certificados, consulte el artículo Administración de certificados en Cisco Business Dashboard.
Let’s Encrypt es una autoridad certificadora que proporciona certificados gratuitos de Secure Sockets Layer (SSL) de validación de dominio (DV) al público mediante un proceso automatizado. Let’s Encrypt proporciona un mecanismo de fácil acceso para obtener certificados firmados para servidores web, lo que proporciona al usuario final la confianza de que está accediendo al servicio correcto. Para obtener más información, visite el sitio web Let’s Encrypt.
El uso de los certificados Let’s Encrypt con Cisco Business Dashboard es razonablemente sencillo. Aunque Cisco Business Dashboard tiene algunos requisitos especiales para la instalación de certificados, aparte de poner el certificado a disposición del servidor web, sigue siendo factible automatizar la emisión y la instalación del certificado mediante las herramientas de línea de comandos proporcionadas. El resto de este documento recorre el proceso de emisión de un certificado y de automatización de la renovación del certificado.
Este documento utiliza desafíos HTTP para validar la propiedad del dominio. Esto requiere que el servidor web del panel sea accesible desde Internet en los puertos estándar TCP/80 y TCP/443. Si el servidor web no es accesible desde Internet, considere la posibilidad de utilizar retos DNS en su lugar. Consulte Uso de Let’s Encrypt para Cisco Business Dashboard con DNS para obtener más información.
El primer paso es obtener software que utilice el certificado de protocolo ACME. En este ejemplo, estamos utilizando el cliente certbot, pero hay muchas otras opciones disponibles.
Para permitir que se automatice la renovación de certificados, el cliente certbot debe estar instalado en el panel. Para instalar el cliente certbot en el servidor del Panel, utilice los siguientes comandos:
Es importante tener en cuenta que en este artículo, las secciones azules son avisos y resultados de CLI. El texto en blanco enumera los comandos. Los comandos de color verde, incluidos dashboard.example.com, pnpserver.example.com y user@example.com deben reemplazarse por nombres DNS adecuados para su entorno.
A continuación, el servidor web del panel debe configurarse para que aloje los archivos de desafío necesarios para verificar la propiedad del nombre de host. Para ello, creamos un directorio para estos archivos y actualizamos el archivo de configuración del servidor web. A continuación, reiniciamos la aplicación Panel para que los cambios surtan efecto. Utilice los siguientes comandos:
cbd:~$sudo mkdir /usr/lib/ciscobusiness/dashboard/www/letsencrypt cbd:~$sudo chmod 755 /usr/lib/ciscobusiness/dashboard/www/letsencrypt cbd:~$sudo bash -c 'cat > /var/lib/ciscobusiness/dashboard/nginx/nginx-loc-letsencrypt.conf' << EOFSolicite un certificado mediante el siguiente comando:
cbd:~$sudo certbot certonly —webroot -w /usr/lib/ciscobusiness/dashboard/www/letsencrypt/ -d dashboard.example.com -d pnpserver.example.com —deploy-hook "cat /etc/letsencrypt/live/dashboard.example.com/fullchain.pem /etc/ssl/certs/DST_Root_CA_X3.pem > /tmp/cbdchain.pem; /usr/bin/cisco-business-dashboard importcert -t pem -k /etc/letsencrypt/live/dashboard.example.com /privkey.pem -c /tmp/cbdchain.pemEste comando indica al servicio Let’s Encrypt que valide la propiedad de los nombres de host proporcionados al conectarse al servicio web alojado en cada uno de los nombres. Esto significa que el servicio web del panel debe ser accesible desde Internet y estar alojado en los puertos 80 y 443. El acceso a la aplicación de panel se puede restringir mediante la configuración de Control de acceso de la página Sistema > Configuración de plataforma > Servidor web de la interfaz de usuario (IU) de administración de panel. Consulte la Guía de administración de Cisco Business Dashboard para obtener más información.
Los parámetros del comando son necesarios por las siguientes razones:
certonly | Solicite un certificado y descargue los archivos. No intente instalarlos. En el caso de Cisco Business Dashboard, el certificado no solo lo utiliza el servidor web, sino también el servicio PnP y otras funciones. Como resultado, el cliente certbot no puede instalar el certificado automáticamente. |
—webroot -w ... | Instale los archivos de desafío en el directorio creado anteriormente para que se pueda acceder a ellos a través del servidor web del panel. |
-d dashboard.example.com -d pnpserver.example.com |
FQDN que deben incluirse en el certificado. El nombre que aparece en la lista se incluirá en el campo Common Name (Nombre común) del certificado, y todos los nombres aparecerán en el campo Subject-Alt-Name (Asunto-Alt-Nombre). El nombre pnpserver.<domain> es un nombre especial que utiliza la función Plug and Play de red al realizar la detección de DNS. Consulte la Guía de administración de Cisco Business Dashboard para obtener más información. |
—deploy-hook "..." | Utilice la utilidad de línea de comandos cisco-business-dashboard para tomar la clave privada y la cadena de certificados recibidos del servicio Let’s Encrypt y cargarlos en la aplicación de panel de la misma manera que si los archivos se cargaran a través de la interfaz de usuario (IU) del panel. El certificado raíz que ancla la cadena de certificados también se agrega al archivo de certificado aquí. Esto es necesario para determinadas plataformas que se implementan mediante Network Plug and Play. |
Siga el proceso de creación del certificado siguiendo las instrucciones generadas por el cliente certbot:
cbd:~$sudo certbot certonly —webroot -w /usr/lib/ciscobusiness/dashboard/www/letsencrypt/ -d dashboard.example.com -d pnpserver.example.com —deploy-hook "cat /etc/letsencrypt/live/dashboard.example.com/fullchain.pem /etc/ssl/certs/DST_Root_CA_X3.pem > /tmp/cbdchain.pem; /usr/bin/cisco-business-dashboard importcert -t pem -k /etc/letsencrypt/live/dashboard.example.com /privkey.pem -c /tmp/cbdchain.pem"Introduzca la dirección de correo electrónico o C para cancelar.
Introduzca la dirección de correo electrónico (se utiliza para avisos de seguridad y renovación urgentes) (introduzca 'c' paraIngrese A para aceptar o C para cancelar.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Introduzca Y en Yes o N en No.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -El certificado ha sido emitido y se puede encontrar en el subdirectorio /etc/letsencrypt/live en el sistema de archivos:
Obtención de un nuevo certificadoEl directorio que contiene los certificados tiene permisos restringidos para que sólo el usuario raíz pueda ver los archivos. El archivo privkey.pem, en particular, es confidencial y el acceso a este archivo debe restringirse únicamente al personal autorizado.
El Panel debería estar ejecutándose ahora con el nuevo certificado. Si abre la interfaz de usuario del panel en un explorador web introduciendo cualquiera de los nombres especificados al crear el certificado en la barra de direcciones, el explorador web debe indicar que la conexión es de confianza y segura.
Tenga en cuenta que los certificados emitidos por Let’s Encrypt tienen una vida útil relativamente corta: actualmente es de 90 días. El paquete certbot para Ubuntu Linux está configurado para verificar la validez del certificado dos veces al día y renovar el certificado si está a punto de expirar, por lo que no se debe requerir ninguna acción para mantener el certificado actualizado. Para comprobar que las comprobaciones periódicas se realizan correctamente, espere al menos 12 horas después de crear inicialmente el certificado y, a continuación, busque mensajes similares a los siguientes en el archivo de registro del certbot: cbd:~$ sudo tail /var/log/letsencrypt/letsencrypt.log
2020-07-31 16:50:52,783:DEBUG:certbot.main:certbot versión: 0.31.0
2020-07-31 16:50:52,784:DEBUG:certbot.main:Argumentos: ['-q']
2020-07-31 16:50:52,785:DEBUG:certbot.main:Complementos descubiertos:
(PluginEntryPoint#manual,
PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2020-07-31 16:50:52,793:DEBUG:certbot.log:Nivel de registro raíz establecido en 30
2020-07-31 16:50:52,793:INFO:certbot.log:Guardar registro de depuración en
/var/log/letsencrypt/letsencrypt.log
2020-07-31 16:50:52,802:DEBUG:certbot.plugins.selection:
Requested authenticator <certbot.cli.
_Objeto predeterminado en 0x7f1152969240> e instalador <certbot.cli.
_Objeto predeterminado en 0x7f1152969240>
2020-07-31 16:50:52,811:INFO:certbot.renew:Cert not yet due for renew
2020-07-31 16:50:52,812:DEBUG:certbot.plugins.selection:Requested autenticador
webroot y el instalador Ninguno
2020-07-31 16:50:52,812:DEBUG:certbot.renew:no renew failure
Una vez transcurrido el tiempo suficiente para que la fecha de vencimiento del certificado sea dentro de los treinta días, el cliente de certbot renovará el certificado y aplicará automáticamente el certificado actualizado a la aplicación de panel.
Para obtener más información sobre el uso del cliente certbot, consulte la página de documentación certbot.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
27-Aug-2020 |
Versión inicial |