Letsencrypt Zertifikatte für Subdomains |
Veröffentlicht von Administrator am Jan 18 2020 |
Viele Anbieter von Webhosting bieten mittlerweile kostenlose SSL-Zertifikate
von Letsencrypt für Domains an. In den meisten Fällen bezieht sich dies nur
auf Domains die auch bei Ihnen gekauft werden. Wie sieht es mit Subdomains
aus? Hier bieten die wenigsten Hoster eine Möglichkeit SSL-Zertifikat für
Subdomains zu erstellen. Aber auch hier haben wir die Möglichkeit ein kosten-
loses Zertifikat zu nutzen, denn die Hostinganbieter stellen auch eine Möglichkeit
zur Verfügung um eigene selbstsignierte Zertifikate zu nutzen. Wir müssen nur
die Zertifikate auf dem Heimrechner erstellen und dann hochladen.
Ich möchte hier den Weg für Linux-User aufzeigen, Windows-Benutzer sollten
sich eine VM mit einem Linux ihrer Wahl laden. Wobei ich immer debian oder Ubuntu
vorschlagen würde.
Wir starten einfach mal......
Da alles als root zu erledigen ist wechseln wir zu diesem User. Unter debian mit "su"
Ubuntu nutzt sudo um Rootrechte zu erhalten, da aber bei jedem Befehl das Passwort einzugeben ist,
wechseln wir hier mit "sudo su" zu root und brauchen nur einmal das Passwort einzugeben.
Danach installieren wir als erstes certbot, der uns bei der Erstellung der Zertifikate unterstützt.
#apt install certbot
Wir starten Certbot nun im manuellen Modus, da wir die Zertifikate ja auf unserem Rechner erstellen
wollen und nicht auf dem Server selbst.
#certbot certonly --manual
certonly -- wie der Name schon sagt, nur Zertifikte erstellen
und --manual damit Certbot bestimmte Sachen abfragt und wir Zeit haben die
Autenthifizierung auf dem Webspace vorzubereiten. aber dazu später mehr.....
Certbot fragt uns dann als erstes für welche Domain wir ein Zertifikat beantragen.
Hier geben wir unsere Subdomains ein. Ja richtig Letsencrypt unterstützt zwar keine wildcard-
Zertifikate aber Durch SAN lassen sich Zertifikate für mehrere Subdomains erstellen. Werden
mehrere Domains angegeben, müssen diese durch Leerzeichen oder Komma getrennt angegeben werden.
Es ist also möglich ein Zertifikat zu erstellen dass für alle subdomains sowie die Domain selbst
zu erstellen. domain.tld www.domain.tld smtp.domain.tld imap.domain.tld cloud.domain.tld usw. usw..
Wenn wir alle Domains angegeben haben, bestätigen wir mit [Enter]. Als nächstes fragt uns Certbot
ob unsere IP veröffentlicht werden darf. Hier muss jeder selbst entscheiden ob er das will.
Jetzt kommen wir zum schwierigen Teil. Certbot möchte dass wir eine Dateim im Rootverzeichnis
unserer Domain erstellen und gibt uns den Namen und den Inhalt vor. Nur so kann Letsencrypt sicher sein,
dass das unsere Domain ist und wir eine Zertifikat beantragen dürfen. Fremde werden es eher schwer haben
eine Datei auf eurem Webspace zu plazieren.
Make sure your web server displays the following content at
http://sub.domain.tld/.well-known/acme-challenge/ABoueMers8FGe-U7FJ4mg77KmTrfMHQApnYgt0czDDE before continuing:
ABoueMers8FGe-U7FJ4mg77KmTrfMHQApnYgt0czDDE.oJg3BV8nsB6_MKyUeZO8wMLOCfr84V234T0Pt9-OkZY
Wir müssen also eine Datei und 2 Unterordner erstellen. Wir bereiten die Datei auf unserem Rechner vor mit dem
o.g. Namen ABoueMers8FGe-U7FJ4mg77KmTrfMHQApnYgt0czDDE und einem Editor der reinen Text abspeichern
kann. Kein Word oder ähnliches verwenden. Sollte beim Abspeichern automatisch ein .txt angehängt werden, müsst ihr die
Datei umbenennen und den Teil entfernen. Dann verbinden wir uns mit dem Webspace per ftp z.B. Filezilla und erstellen den
Ordner "well-known" in dem Ordner wo unsere Dateien aus der Subdomain liegen. Wir werden den Ordner gleich nochmal
umbenennen da die meisten FTP-Programme unsichtbare Ordner und Dateien , das sind alles Dateien die mit einem Punkt
beginnen, nicht anzeigen können. In diesem neu erstellten Ordner well-known erstellen wir nun den Ordner
acme-challenge Alsdann laden wir die eben erstellte Datei "ABoueMers8FGe-U7FJ4mg77KmTrfMHQApnYgt0czDDE"
in das Verzeichnis acme-challenge hoch. Nun gehen wir 2 Ebenen höher und benennen den Ordner well-known um in
.well-known indem wir einen Punkt am Anfang des Namens anfügen. Wir können nun die FTP-Verbindung beenden und gehen
zurück in unsere Konsole und drücken dort [ENTER].
Wenn wir keinen Tippfehler in unserer Datei oder neuen Ordnern gemacht haben, wird Certbot nun das Zertifikat erstellen.
Falls nicht, müssen wir den Vorgang mit dem Upload wiederholen.
Die Zertifikate finden wir nun unter /etc/letsencrypt/live/sub.domain.tld/
cert.pem -> Unser Zertifikat
chain.pem -> Unsere chainfile
fullchain.pem -> Eine Kombination aus Zertifikat und chain
privkey.pem -> Unser geheimer Key
Wichtig für uns die cert.pem, chain.pem sowie privkey.pem, da diese bei den meisten Hostern ausreichen. Manche Hoster
verlangen aber auch die fullchain.pem. Das hängt von eurem Provider ab. Wie ihr die Dateien nun in euren Webspace einsetzt,
ist auch wieder providerabhängig. Manche erwarten dass die Dateien hochgeladen werden und andere wiederum erwarten
dass ihr die Dateien in eine Maske im Backend reinkopiert. Das müsst ihr selbst herausfinden evtl. den Support des Providers
fragen. Achtet auf jeden Fall dass ihr die Dateien an der richtigen Stelle einsetzt. Also die cert.pem muss dahin wo das Zertifikat
gefragt ist und die privkey.pem dorthin wo der Schlüssel gefragt ist. usw.
So das wars von meiner Seite......
Zuletzt geändert am: Jan 18 2020 um 12:52 AM
Zurück zur Übersicht