Let‘s Encrypt Zertifikat extern erstellen und beim Hoster einliefern - Anleitung

Geschrieben von: Sven
Veröffentlicht am: 05.02.2018, 13:57 Uhr

In dieser Anleitung erfahren Sie, wie Sie extern ein Let‘s Encrypt SSL Zertifikat beantragen, welches Sie bei einer gemanagten Hosting Lösung einsetzen können, soweit der Anbieter eine Möglichkeit zum Einliefern von Zertifikaten anbietet.

Was ist Let‘s Encrypt und wozu wird ein SSL-Zertifikat benötigt?

Let‘s Encrypt ist eine freie Zertifizierungsstelle für SSL-Zertifikate und bietet ihren Service kostenlos an. Die Zertifikate dienen dazu, einen sicheren verschlüsselten Datenaustausch, in der Regel von Websites, zu ermöglichen. Ihre Website kann nach erfolgreicher Einbindung des Zertifikats per „https://“ aufgerufen werden, dies wird z. B. beim Firefox Webbrowser durch ein grünes Schloss in der Adresszeile gekennzeichnet.

Die Zertifikate laufen allerdings aktuell nach 3 Monaten ab und müssen somit stetig und rechtzeitig erneuert werden. Bei extern erstellten Let‘s Encrypt Zertifikaten müssen Sie die Erneuerung manuell durchführen. Dazu später mehr.

Wo kann ich ein extern erstelltes Zertifikat sinnvoll einsetzen?

Manche Webhoster bieten eine Möglichkeit an, externe Zertifikate einzuliefern. Soweit es sich bei Ihnen um ein Hosting-Produkt ohne Root Rechte handelt, ist dies oft der einzige Weg, Let‘s Encrypt Zertifikate benutzen zu können. Einige Anbieter bieten hier auch einfache Methoden, kostenlose Zertifikate von Let‘s Encrypt zu beantragen und zu verwenden, dies ist aber (noch) nicht die Regel.

Interessant ist dieses Vorgehen somit also für z. B. Webhosting Pakete, Managed vServer und Dedicated Managed Server, die keinen Automatismus für Let‘s Encrypt zur Verfügung stellen. Wenn Sie also ein Produkt aus diesen Kategorien gebucht haben, sollte dieser Weg der richtige für Sie sein ein solches Zertifikat zu beantragen und zu benutzen.

Natürlich gibt es keine Garantie, dass Ihr Anbieter die Implementierung von Let‘s Encrypt Zertifikaten unterstützt. Fragen Sie im Zweifelsfall Ihren Webhoster, ob und wie die Einbindung externer Zertifikate möglich ist.

Unter welchem Betriebssystem wurde hier das Let‘s Encrypt Zertifikat erstellt?

Diese Anleitung zeigt die Installation und Verwendung des Certbots von Let‘s Encrypt. Verwendet wurde dafür Linux Mint in der Version 18.3. Somit basieren alle Instruktionen zur Installation und Zertifikat Erstellung auf diesem System.

Wenn Sie für Ihr Betriebssystem im nächsten Teil dieser Anleitung keine Installationsanweisung finden oder den Certbot nicht direkt auf Ihrem Arbeits-PC installieren möchten, können Sie dies auch in einer virtuellen Maschine beispielsweise mit Virtualbox realisieren und darin z. B. Linux Mint installieren um Ihr Zertifikat zu erstellen.

Installation vom Certbot unter Linux Mint

Um den Certbot zu installieren, führen Sie im Terminal die Befehle aus, die Sie unter dem Punkt „Install“ auf der offiziellen Certbot-Anleitung finden. Sollten Sie ein anderes Betriebssystem verwenden, wählen Sie im oberen Bereich der Seite einfach das entsprechende System aus. In diesem Fall wurde Ubuntu 16.04 (xenial) gewählt, weil Linux Mint 18.3 auf diesem System basiert. Da auf diesem System selbst kein Webserver benutzt werden soll, sollte hier links daneben „none of the above“ gewählt werden.

Die Befehle für Linux Mint 18.3:

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot

Let‘s Encrypt Zertifikat manuell erstellen

Nachdem Sie nun die Certbot Software von Let‘s Encrypt installiert haben, können Sie das Zertifikat erstellen. Da Sie Ihr Zertifikat manuell und auf einem lokalen Computer erstellen wollen, muss wie in der englischen Dokumentation unter dem Punkt „Manual“ beschrieben ist, vorgegangen werden.

1. Öffnen Sie nun wieder Ihr Terminal und geben Sie den folgenden Befehl ein:

sudo certbot certonly --manual

2. Anschließend werden Sie aufgefordert Ihr Root-Passwort einzugeben. Danach erhalten Sie weitere Informationen, wie beispielsweise den Speicherort der Log-Dateien und werden direkt dazu aufgefordert, eine E-Mailadresse anzugeben, die Ausgabe sieht dann wie folgt aus:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel):

3. Tragen Sie also Ihre gewünschte E-Mailadresse ein und drücken die Eingabetaste um fortzufahren. Im Anschluss müssen Sie den Nutzungsbedingungen zustimmen. Tippen Sie hierfür wie gefordert ein „A“ in das Terminal und bestätigen Sie dies wieder mit der Eingabetaste.

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
(A)gree/(C)ancel:

4. Bei der nächsten Frage wird um die Erlaubnis der Weitergabe Ihrer E-Mail an einen Partner gebeten, um Ihnen beispielsweise Informationen zum Projekt zusenden zu dürfen. Wenn Sie dies wünschen, schreiben Sie „Y“ für „Ja“. Wenn Sie dies nicht wünschen, tippen Sie „N“ für „Nein“.

Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
(Y)es/(N)o:

5. Im nächsten Schritt können Sie nun Ihre Domain bzw. Domains z. B. mit Leerzeichen getrennt angeben, für die ein Zertifikat ausgestellt werden soll. Bestätigen Sie anschließend wieder Ihre Eingabe mit der Eingabetaste. Bei der Angabe von mehreren Domains wird nur ein einziges Zertifikat ausgestellt. Normalerweise geben Sie hier die beiden Varianten Ihrer Domain ein (mit www und ohne www).

Please enter in your domain name(s) (comma and/or space separated) (Enter 'c'
to cancel):

6. Den nächsten Punkt müssen Sie zwingend mit einem „Y“ für „Ja“ beantworten, sonst schlägt die Prozedur fehl. Let‘s Encrypt holt sich hier die Erlaubnis, Ihre IP-Adresse zu veröffentlichen.

NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.
Are you OK with your IP being logged?
(Y)es/(N)o:

Nun ist es fast vollbracht, Sie müssen nur noch den Beweis erbringen, dass Sie Zugriff auf Ihre Domain haben.

Legitimierung Ihrer Domain

In der nächsten Phase wird Ihnen eine bunte Mischung aus Buchstaben und Zahlen (Zeichenfolge) genannt, die Sie unter einer bestimmten ähnlich kryptischen URL auf Ihrer Seite zugänglich machen müssen.

Beispiel:

http://www.ihre-seite.de/.well-known/acme-challenge/zeichenfolge

Um den Pfad zu realisieren, müssen Sie 2 Ordner erstellen.

Erstellen Sie als erstes einen Ordner, mit dem Namen „.well-known“, innerhalb dieses Ordners erstellen Sie nun noch den zweiten Ordner „acme-challenge“.

Der Punkt am Anfang des Ordnernamens „.well-known“ macht den Ordner unter Linux unsichtbar, stellen Sie Ihr System entsprechend so ein, dass versteckte Ordner angezeigt werden.

Für die Zeichenfolge am Ende der URL müssen Sie nun noch eine einfache Textdatei erstellen, die genau diese Zeichenfolge als Namen trägt. Kopieren Sie dazu die Zeichenfolge aus dem Terminal und benennen Sie die Datei entsprechend. Achten Sie darauf, dass die Datei keine Dateiendung (.txt o. ä.) aufweist und schieben Sie die Datei in den zuvor erstellten Ordner „acme-challenge“, der sich wiederum im Ordner „.well-known“ befindet.

Fügen Sie in die Datei nun noch die andere (längere) Zeichenfolge ein, die der Certbot ausgegeben hat und speichern Sie die Datei.

Greifen Sie nun wie gewohnt mit Ihrem FTP-Programm auf Ihren Webspace zu und kopieren den kompletten Ordner „.well-known“ in das Hauptverzeichnis Ihrer Domain. Achten Sie dabei darauf, dass die Rechte so gesetzt sind, dass öffentlich darauf zugegriffen werden kann. Für die Ordner können Sie 755 und für die Datei 444 als Berechtigung wählen.

7. Nachdem Sie diese Arbeit erledigt haben, können Sie dem Certbot mit dem Druck der Eingabetaste im Terminal die Bestätigung geben. Für jede weitere angegebene Domain / Variante, wird hier vom System ebenfalls die entsprechende Legitimierung verlangt. Wenn kein Fehler passiert ist, sollte das Zertifikat nun ausgestellt werden und Sie erhalten eine entsprechende Nachricht im Terminal.

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/www.ihre-seite.de/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/www.ihre-seite.de/privkey.pem
Your cert will expire on 20XX-XX-XX. 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"

In der Ausgabe finden Sie einige nützliche Informationen inkl. dem Speicherort Ihrer Zertifikate. Außerdem erhalten Sie den Hinweis, wie Sie verfahren müssen, um später das Zertifikat zu erneuern. Leider ist der Hinweis für die Erneuerung der Zertifikate für den manuellen Modus nicht richtig, mehr dazu finden Sie hier.

Zertifikat beim Webhoster einliefern

Der Certbot hat nun einige Schlüssel auf Ihrem Computer gespeichert (Pfad siehe Terminal Ausgabe). Darunter findet sich in jedem Fall der öffentliche Schlüssel und der private Schlüssel.

Nun können Sie Ihr Zertifikat bei Ihrem Anbieter einliefern. Welche der vom Certbot erstellten Schlüssel und in welcher Form Sie diese genau einliefern müssen, kann von Anbieter zu Anbieter unterschiedlich sein.

Die Schlüssel sind jeweils mit Start- und End- Tags gekennzeichnet.

Strato beispielsweise benötigt zumindest bei den managed Servern lediglich den öffentlichen und privaten Schlüssel. Wenn Sie bei Strato ein Let‘s Encrypt Zertifikat einliefern möchten, müssen Sie die Dateien mit dem öffentlichen und privaten Schlüssel jeweils mit einem Texteditor öffnen und den Inhalt kopieren. Fügen Sie beide Schlüssel untereinander in das freie Feld unter dem Punkt „Zertifikat einliefern“ inkl. der Start- und End- Tags ein, wie auf der folgenden Abbildung angedeutet.

Zertifikat einliefern

Sobald Sie auf „Weiter“ klicken, sind Sie fertig und das Zertifikat kann direkt von der entsprechenden Domain genutzt werden. Für weitere Zertifikate wiederholen Sie diesen Vorgang. Unter dem Punkt „Einliefern“ werden nun auch die bisher eingereichten Zertifikate angezeigt.

Kommentare: (2)

Marko
09.01.2020, 11:08 Uhr
Hallo,

die PEM Dateien sind nun da und bei unserem Server müssen auch wie bei Strato diese Zeilen mit Tags importiert werden.

Diese kann ich jedoch nicht aus den PEM Datein heraus lesen da PEM ja kodiert ist. Wie bekomme ich nun diese Zeilen angezeigt in Klartext?

Gruß Marko

09.01.2020, 13:40 Uhr
Hallo Marko,

normalerweise musst du die PEM-Dateien mit einem simplen Texteditor öffnen.

Unter Linux Mint Cinnamon kannst du einfach einen Rechtklick auf die jew. PEM-Datei ausüben und in dem Kontextmenü den Eintrag "Mit anderer Anwendung öffnen ..." anklicken. Danach öffnet sich eine Liste, aus der du den Eintrag "Textbearbeitung" auswählst.

Bei Windows sollte das ähnlich funktionieren. Ich bin mir nur nicht sicher, ob es mit dem Standardeditor "Notepad" klappt. Ansonsten hier einfach Notepad++ nachinstallieren und es damit probieren.

Gruß

Sven
https://www.hostflash.de

Kommentar schreiben:

5000 Zeichen übrig
Hinweise zur Verarbeitung Ihrer Angaben und Widerspruchsrechte finden Sie in unserer Datenschutzerklärung.