Ce document explique comment obtenir un certificat Let's Encrypt, l'installer sur Cisco Business Dashboard et configurer le renouvellement automatique à l'aide de l'interface de ligne de commande (CLI). Si vous souhaitez des informations générales sur la gestion des certificats, consultez l'article Gérer les certificats sur le tableau de bord Cisco Business Dashboard.
Let's Encrypt est une autorité de certification qui fournit gratuitement des certificats SSL (Secure Sockets Layer) de validation de domaine (DV) au public à l'aide d'un processus automatisé. Let's Encrypt fournit un mécanisme facilement accessible pour obtenir des certificats signés pour les serveurs Web, ce qui permet à l'utilisateur final de s'assurer qu'il accède au service approprié. Pour plus d'informations, visitez le site Web Chiffrement.
L'utilisation de certificats chiffrés avec Cisco Business Dashboard est relativement simple. Bien que Cisco Business Dashboard ait des exigences particulières pour l'installation des certificats, au-delà de la simple mise à disposition du certificat sur le serveur Web, il est toujours possible d'automatiser l'émission et l'installation du certificat à l'aide des outils de ligne de commande fournis. Le reste de ce document passe en revue le processus de délivrance d'un certificat et d'automatisation du renouvellement du certificat.
Ce document utilise les défis HTTP pour valider la propriété du domaine. Cela nécessite que le serveur Web du tableau de bord soit accessible depuis Internet sur les ports standard TCP/80 et TCP/443. Si le serveur Web n'est pas accessible depuis Internet, envisagez plutôt d'utiliser les défis DNS. Consultez la section Utilisation du chiffrement pour le tableau de bord professionnel Cisco avec DNS pour plus de détails.
La première étape consiste à obtenir un logiciel qui utilise le certificat de protocole ACME. Dans cet exemple, nous utilisons le client certbot, mais il y a beaucoup d'autres options disponibles.
Pour permettre l'automatisation du renouvellement des certificats, le client certbot doit être installé sur le tableau de bord. Pour installer le client certbot sur le serveur Tableau de bord, utilisez les commandes suivantes :
Il est important de noter que dans cet article, les sections bleues sont des invites et des sorties de l'interface de ligne de commande. Le texte blanc répertorie les commandes. Les commandes de couleur verte, notamment dashboard.example.com, pnpserver.example.com et user@example.com, doivent être remplacées par des noms DNS appropriés à votre environnement.
Ensuite, le serveur Web Tableau de bord doit être configuré pour héberger les fichiers de demande de confirmation requis pour vérifier la propriété du nom d'hôte. Pour ce faire, nous créons un répertoire pour ces fichiers et mettons à jour le fichier de configuration du serveur Web. Redémarrez ensuite l'application Tableau de bord pour que les modifications prennent effet. Utilisez les commandes suivantes :
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' << EOFDemandez un certificat à l'aide de la commande suivante :
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.pemCette commande indique au service Let's Encrypt de valider la propriété des noms d'hôte fournis en se connectant au service Web hébergé sur chacun des noms. Cela signifie que le service Web du tableau de bord doit être accessible depuis Internet et hébergé sur les ports 80 et 443. L'accès à l'application de tableau de bord peut être restreint à l'aide des paramètres de contrôle d'accès de la page Système > Paramètres de la plate-forme > Serveur Web de l'interface utilisateur d'administration du tableau de bord. Consultez le Guide d'administration de Cisco Business Dashboard pour plus d'informations.
Les paramètres de la commande sont requis pour les raisons suivantes :
incontestablement | Demandez un certificat et téléchargez les fichiers. N'essayez pas de les installer. Dans le cas de Cisco Business Dashboard, le certificat n'est pas seulement utilisé par le serveur Web, mais également par le service Plug and Play et d'autres fonctions. Par conséquent, le client certbot ne peut pas installer le certificat automatiquement. |
—webroot -w ... | Installez les fichiers de demande de confirmation dans le répertoire créé ci-dessus afin qu'ils soient accessibles via le serveur Web du tableau de bord. |
-d dashboard.example.com -d pnpserver.example.com |
Les noms de domaine complets qui doivent être inclus dans le certificat. Le prénom indiqué sera inclus dans le champ Common Name (Nom commun) du certificat et tous les noms seront répertoriés dans le champ Subject-Alt-Name (Objet-Nom de remplacement). Le nom pnpserver.<domain> est un nom spécial utilisé par la fonctionnalité Plug-and-Play réseau lors de la détection DNS. Consultez le Guide d'administration de Cisco Business Dashboard pour plus de détails. |
—deploy-hook «... » | Utilisez l'utilitaire de ligne de commande cisco-business-dashboard pour prendre la clé privée et la chaîne de certificats reçues du service Let's Encrypt et les charger dans l'application de tableau de bord de la même manière que si les fichiers avaient été téléchargés via l'interface utilisateur du tableau de bord. Le certificat racine qui ancre la chaîne de certificats est également ajouté au fichier de certificat ici. Cela est requis par certaines plates-formes déployées à l'aide de Network Plug and Play. |
Suivez le processus de création du certificat en suivant les instructions générées par le client 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"Saisissez l'adresse e-mail ou C pour annuler.
Saisissez l'adresse e-mail (utilisée pour les avis de renouvellement et de sécurité urgents) (saisissez « c » pourSaisissez A pour accepter ou C pour annuler.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Saisissez Y pour Oui ou N pour Non.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Le certificat a été émis et peut être trouvé dans le sous-répertoire /etc/letsencrypt/live dans le système de fichiers :
Obtention d'un nouveau certificatLe répertoire contenant les certificats a des autorisations restreintes de sorte que seul l'utilisateur racine peut afficher les fichiers. Le fichier privkey.pem, en particulier, est sensible et l'accès à ce fichier doit être limité au personnel autorisé.
Le tableau de bord doit maintenant être exécuté avec le nouveau certificat. Si vous ouvrez l'interface utilisateur du tableau de bord dans un navigateur Web en entrant l'un des noms spécifiés lors de la création du certificat dans la barre d'adresse, le navigateur Web doit indiquer que la connexion est sécurisée et approuvée.
Notez que les certificats émis par Let’s Encrypt ont une durée de vie relativement courte, actuellement de 90 jours. Le package certbot pour Ubuntu Linux est configuré pour vérifier la validité du certificat deux fois par jour et renouveler le certificat s'il arrive à expiration. Par conséquent, aucune action ne doit être requise pour maintenir le certificat à jour. Pour vérifier que les vérifications périodiques se déroulent correctement, attendez au moins douze heures après la création initiale du certificat, puis recherchez dans le fichier journal certbot des messages similaires à ceux-ci : cbd:~$ sudo tail /var/log/letsencrypt/letsencrypt.log
2020-07-31 16:50:52,783:DEBUG:certbot.main:certbot version: 0.31.0
2020-07-31 16:50:52,784:DEBUG:certbot.main:Arguments: ['-q']
2020-07-31 16:50:52,785:DEBUG:certbot.main:Plugins détectés:
(PluginEntryPoint#manuel,
PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2020-07-31 16:50:52,793:DEBUG:certbot.log:Niveau de journalisation racine défini sur 30
2020-07-31 16:50:52,793:INFO:certbot.log:Enregistrement du journal de débogage dans
/var/log/letsencrypt/letsencrypt.log
2020-07-31 16:50:52,802:DEBUG:certbot.plugins.selection:
Authentificateur demandé <certbot.cli.
Objet _Default à 0x7f1152969240> et programme d'installation <certbot.cli>.
Objet _par défaut à 0x7f1152969240>
2020-07-31 16:50:52,811:INFO:certbot.renew:Cert pas encore dû pour le renouvellement
2020-07-31 16:50:52,812:DEBUG:certbot.plugins.selection:Authentificateur demandé
webroot et installateur Aucun
2020-07-31 16:50:52,812:DEBUG:certbot.renew:aucun échec de renouvellement
Une fois que la date d'expiration du certificat est passée dans les trente jours, le client certbot renouvelle le certificat et applique automatiquement le certificat mis à jour à l'application de tableau de bord.
Pour plus d'informations sur l'utilisation du client certbot, consultez la page de documentation certbot.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
27-Aug-2020 |
Première publication |