In diesem Dokument wird erläutert, wie Sie ein Let's Encrypt-Zertifikat erhalten, es im Cisco Business Dashboard installieren und die automatische Verlängerung über die Befehlszeilenschnittstelle (CLI) einrichten. Wenn Sie allgemeine Informationen zum Verwalten von Zertifikaten wünschen, lesen Sie den Artikel Verwalten von Zertifikaten im Cisco Business Dashboard.
Let's Encrypt ist eine Zertifizierungsstelle, die der Öffentlichkeit kostenlose DV-Zertifikate (Secure Sockets Layer) über einen automatisierten Prozess zur Verfügung stellt. Let’s Encrypt bietet einen leicht zugänglichen Mechanismus zum Erhalt signierter Zertifikate für Webserver, sodass der Endbenutzer sicher sein kann, dass er auf den richtigen Dienst zugreift. Weitere Informationen finden Sie auf der Let’s Encrypt-Website.
Die Verwendung von Let’s Encrypt-Zertifikaten mit dem Cisco Business Dashboard ist relativ unkompliziert. Obwohl das Cisco Business Dashboard einige spezielle Anforderungen für die Zertifikatinstallation erfüllt, die über die Bereitstellung des Zertifikats für den Webserver hinausgehen, ist es dennoch möglich, die Ausstellung und Installation des Zertifikats mithilfe der bereitgestellten Befehlszeilentools zu automatisieren. Im weiteren Verlauf dieses Dokuments wird die Ausstellung eines Zertifikats und die Automatisierung der Erneuerung des Zertifikats beschrieben.
In diesem Dokument werden HTTP-Herausforderungen zur Überprüfung des Domäneneigentums verwendet. Hierfür muss der Dashboard-Webserver über die Standardports TCP/80 und TCP/443 vom Internet aus erreichbar sein. Wenn der Webserver vom Internet aus nicht erreichbar ist, sollten Sie stattdessen DNS-Herausforderungen verwenden. Weitere Informationen finden Sie unter Let’s Encrypt for Cisco Business Dashboard with DNS.
Der erste Schritt besteht darin, Software zu erhalten, die das ACME-Protokollzertifikat verwendet. In diesem Beispiel verwenden wir den certbot-Client, aber es gibt viele andere Optionen.
Damit die Zertifikatverlängerung automatisiert werden kann, muss der certbot-Client auf dem Dashboard installiert sein. Um den certbot-Client auf dem Dashboard-Server zu installieren, verwenden Sie die folgenden Befehle:
Beachten Sie, dass in diesem Artikel die blauen Abschnitte Eingabeaufforderungen und Ausgaben über die CLI sind. Im weißen Text werden Befehle aufgelistet. Grüne Befehle wie dashboard.example.com, pnpserver.example.com und user@example.com sollten durch DNS-Namen ersetzt werden, die für Ihre Umgebung geeignet sind.
Als Nächstes muss der Dashboard-Webserver so eingerichtet werden, dass er die Challenge-Dateien hostet, die erforderlich sind, um den Besitz des Hostnamens zu überprüfen. Zu diesem Zweck erstellen wir ein Verzeichnis für diese Dateien und aktualisieren die Webserver-Konfigurationsdatei. Starten Sie dann die Dashboard-Anwendung neu, damit die Änderungen wirksam werden. Verwenden Sie die folgenden Befehle:
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' << EOFAnfordern eines Zertifikats mit dem folgenden Befehl:
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.pemDieser Befehl weist den Let’s Encrypt-Dienst an, den Besitz der Hostnamen zu überprüfen, indem er eine Verbindung mit dem Webdienst herstellt, der auf jedem der Namen gehostet wird. Das bedeutet, dass der Dashboard-Webservice vom Internet aus zugänglich sein und auf den Ports 80 und 443 gehostet werden muss. Der Zugriff auf die Dashboard-Anwendung kann über die Einstellungen für die Zugriffskontrolle auf der Seite System > Platform Settings > Web Server (System > Plattformeinstellungen > Webserver) in der Benutzeroberfläche für die Dashboard-Verwaltung eingeschränkt werden. Weitere Informationen finden Sie im Administrationshandbuch zum Cisco Business Dashboard.
Die Parameter für den Befehl sind aus folgenden Gründen erforderlich:
certonly | Anfordern eines Zertifikats und Herunterladen der Dateien Versuchen Sie nicht, sie zu installieren. Im Fall des Cisco Business Dashboard wird das Zertifikat nicht nur vom Webserver, sondern auch vom PnP-Service und anderen Funktionen verwendet. Daher kann der certbot-Client das Zertifikat nicht automatisch installieren. |
—webroot -w ... | Installieren Sie die Challenge-Dateien in dem oben erstellten Verzeichnis, sodass der Zugriff über den Dashboard-Webserver möglich ist. |
-d dashboard.example.com -d pnpserver.example.com |
Die FQDNs, die in das Zertifikat aufgenommen werden sollen. Der aufgelistete Vorname wird im Feld "Common Name" des Zertifikats und alle Namen im Feld "Subject-Alt-Name" (Betreff-Alt-Name) aufgeführt. Der pnpserver.<domain>-Name ist ein spezieller Name, der von der Plug-and-Play-Funktion im Netzwerk bei der DNS-Erkennung verwendet wird. Weitere Informationen erhalten Sie im Administrationshandbuch zum Cisco Business Dashboard. |
—deploy-hook "..." | Verwenden Sie das Befehlszeilendienstprogramm cisco-business-dashboard, um den privaten Schlüssel und die Zertifikatskette, die Sie vom Service Let’s Encrypt erhalten haben, in die Dashboard-Anwendung zu laden, ganz so, als ob die Dateien über die Dashboard-Benutzeroberfläche hochgeladen würden. Das Stammzertifikat, das die Zertifikatskette verankert, wird hier ebenfalls der Zertifikatsdatei hinzugefügt. Dies ist für bestimmte Plattformen erforderlich, die mithilfe von Network Plug and Play bereitgestellt werden. |
Führen Sie den Vorgang zum Erstellen des Zertifikats durch, indem Sie die vom certbot-Client generierten Anweisungen befolgen:
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"Geben Sie die E-Mail-Adresse oder C zum Abbrechen ein.
Geben Sie die E-Mail-Adresse ein (wird für dringende Verlängerungs- und Sicherheitshinweise verwendet) (Geben Sie "c" ein, umGeben Sie A für die Zustimmung oder C für die Stornierung ein.
- - - - - - - - - - - - - - -Geben Sie Y für Ja oder N für Nein ein.
- - - - - - - - - - - - - - -Das Zertifikat wurde ausgestellt und befindet sich im Unterverzeichnis /etc/letsencrypt/live im Dateisystem:
Neues Zertifikat anfordernDas Verzeichnis, das die Zertifikate enthält, verfügt über eingeschränkte Berechtigungen, sodass nur der Root-Benutzer die Dateien anzeigen kann. Insbesondere die Datei privkey.pem ist vertraulich, und der Zugriff auf diese Datei sollte ausschließlich autorisierten Personen vorbehalten sein.
Das Dashboard sollte nun mit dem neuen Zertifikat ausgeführt werden. Wenn Sie die Dashboard-Benutzeroberfläche (UI) in einem Webbrowser öffnen, indem Sie einen der Namen eingeben, die bei der Erstellung des Zertifikats in der Adressleiste angegeben wurden, sollte der Webbrowser angeben, dass die Verbindung vertrauenswürdig und sicher ist.
Beachten Sie, dass von Let’s Encrypt ausgestellte Zertifikate eine relativ kurze Lebensdauer haben - derzeit 90 Tage. Das certbot-Paket für Ubuntu Linux ist so konfiguriert, dass es die Gültigkeit des Zertifikats zweimal täglich überprüft und das Zertifikat erneuert, wenn es bald abläuft. Daher sollten keine Maßnahmen erforderlich sein, um das Zertifikat auf dem neuesten Stand zu halten. Um sicherzustellen, dass die regelmäßigen Überprüfungen ordnungsgemäß durchgeführt werden, warten Sie nach der erstmaligen Erstellung des Zertifikats mindestens zwölf Stunden, und überprüfen Sie dann die certbot-Protokolldatei auf Meldungen wie die folgenden: 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:Entdeckte Plugins:
(PluginEntryPoint#manual,
PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2020-07-31 16:50:52,793:DEBUG:certbot.log:Root logging level set at 30
2020-07-31 16:50:52,793:INFO:certbot.log:Debug-Protokoll speichern unter
/var/log/letsencrypt/letsencrypt.log
2020-07-31 16:50:52,802:DEBUG:certbot.plugins.selection:
Angeforderter Authentifizierer <certbot.cli.
_Default object at 0x7f1152969240> und installer <certbot.cli.
_Standardobjekt bei 0x7f1152969240>
2020-07-31 16:50:52,811:INFO:certbot.renees:Cert noch nicht fällig für Verlängerung
2020-07-31 16:50:52,812:DEBUG:certbot.plugins.selection:Requested Authenticator
Webroot und Installationsprogramm Keine
2020-07-31 16:50:52,812:DEBUG:certbot.renees:no renees failure
Nachdem genügend Zeit verstrichen ist, bis das Ablaufdatum des Zertifikats innerhalb von dreißig Tagen liegt, erneuert der certbot-Client das Zertifikat und wendet das aktualisierte Zertifikat automatisch auf die Dashboard-Anwendung an.
Weitere Informationen zur Verwendung des certbot-Clients finden Sie auf der Dokumentationsseite zu certbot.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
27-Aug-2020 |
Erstveröffentlichung |