Fritzbox und Letsencrypt Howto
Du hast so eine windschnittige TopLevel-Domain dessen Name auf deinen Router zu Hause zeigt (DynDNS) und bist es leid, dass immer eine Zertifikatswarnung kommt, wenn du von unterwegs auf deinen Router oder deine Fritz!NAS zugreifst?

Dann gibt es hier eine Lösung. Bau dir doch ein Letsencrypt-Zertifikat, dass von der Fritzbox akzeptiert wird. Was brauchst du dafür?
- Konsolenzugriff (z.B. Putty) mit Adminrechten auf deinen Server
- Zugriff auf den DNS deiner Domain
- FTP-Zugriff auf deinen Server
- Internetzugang

Vielleicht hast du ja auch irgendwo ein altes Linux-Gerät rumfliegen, wie z.B. einen ausgemusterten Raspberry Pi oder einen Linux-Receiver. Ich setze mal voraus, dass du auf diesem Gerät selbstständig Konsolenzugriff herstellen kannst, sonst müsste ich zu weit ausholen. Sobald es bei dir ungefähr so aussieht wie hier im Bild kannst du anfangen.
Bevor du den Certbot installieren kannst, brauchst du noch snapd. Das geht so:
sudo apt update
sudo apt install snapd -y
sudo snap install snapd
Um ein Zertifikat bekommen zu können, brauchst du nun den Certbot. Den installierst du, indem du dies in deine Konsole eingibst:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Jetzt solltest du in der Lage sein, mittels des Certbots Zertifikate für die Domain anzufordern, die du besitzt und DNS-Zugriff hast. Lasst dir vom Bot nun ein RSA-Zertifikat für deine Domain erstellen (ersetze unten „deinedomain.de“ mit dem Namen deiner Domain):
sudo su
certbot certonly --manual --preferred-challenges dns --key-type rsa --debug-challenges -d deinedomain.de
Du kannst jetzt deine Mailadresse eingeben, oder diese Abfrage mit [Enter] überspringen. Damit es weitergehen kann, müssen die „Terms of Service“ mit „Y“ akzeptiert werden. Nun wirst du aufgefordert, einen DNS-Eintrag bei deinem Registrar (…da wo du deine Domain registriert hast) zur erstellen. Das sollte ungefähr so aussehen:

Nun ist es erforderlich, bei deinem Registrar im DNS einen TXT-Eintrag zur erstellen mit dem Namen „_acme-challenge.deinedomain.de“ und dem Wert „t0ezCOKyQU65Hdk9trALPSIG5SWH5-eH-mnkL3gT6Mc“ (im Bild grün markiert). Dieser Wert ist individuell und wird bei dir garantiert anders sein. Bei meinem Registrar, „inwx.de“, würde das dann so aussehen:

Der Domainname wird hinter dem Text „_acme-challenge“ von inwx automatisch weggekürzt, lass dich dadurch nicht verwirren. Wenn du dies getan hast, bestätige die Änderungen und logge dich bei deinem Registrar aus. Warte nun mindestens fünf Minuten. Diese Zeit ist erforderlich, um die DNS-Änderung zu distributieren. Bist du zu schnell, kannst du von vorne anfangen. Wenn es geklappt hat und du dich damit als rechtmäßiger Besitzer der Domain ausweisen konntest, erstellt dir der Certbot ein gültiges Letsencrypt-Zertifikat.

Dir wird nun der Speicherpfad für dein neues Zertifikat angezeigt (im Bild grün markiert). In meinem Fall also der Ordner:
/etc/letsencrypt/live/michaelwillner.de-0002
Folgende Dateien sollten nun darin zu finden sein:
- cert.pem
- chain.pem
- fullchain.pem
- privkey.pem
Die „fullchain.pem“ ist für unsere Zwecke aber nicht erforderlich. Der Inhalt der anderen drei Dateien muss nun in einer neuen Datei zusammengefügt werden. Am einfachsten wäre es, Linux diese Arbeit machen zu lassen. Gehe dazu in das Zertifikatsverzeichnis und füge die besagten drei Dateien zur Datei „fritzcert.pem“ zusammen. Bei mir würde das so gehen:
cd /etc/letsencrypt/live/michaelwillner.de-0002
cat cert.pem chain.pem privkey.pem > fritzcert.pem
Nun wurde die Datei „fritzcert.pem“ im Ordner „/etc/letsencrypt/live/michaelwillner.de-0002“ erstellt. Was du nun für deine Fritzbox brauchst, ist die Datei „fritzcert.pem“. Damit du ohne root-ftp-Zugriff an diese Datei gelangen kannst, musst du den Besitzer ändern. Das geht so:
sudo chown -R admin /etc/letsencrypt/live
Verbinde dich nun mit einem ftp-Programm mit deinem Linux-Gerät und lade die „fritzcert.pem“ aus dem Order „/etc/letsencrypt/live/deinedomain.de“ (in meinem Fall: „/etc/letsencrypt/live/michaelwillner.de-0002“) runter auf deinen Rechner. Jetzt kannst du diese Datei in deine Fritzbox importieren. Das geht an dieser Stelle:

Klicke an dieser Stelle auf „Durchsuchen“ und wähle deine eben erstellte „fritzcert.pem“ aus. Kurz nach dem Klick auf „Importieren“ sollte dies erscheinen:

Wenn du jetzt deinen Router über deine Domain und dem entsprechenden Port erreichst, wirst du kein Zertifikatsproblem mehr haben. Wenn du jemanden einen Dateilink von deiner Fritz-NAS schickst, wird dieser auch keine Zertifikatswarnmeldung mehr bekommen. Denke aber daran, dass das Zertifikat vom Tag der Ausstellung nur maximal drei Monate gültig ist. Dann musst du ein Neues erstellen und wieder importieren. Das geht leider nicht automatisch. Aber beim nächsten Mal wird dir diese Sache bestimmt noch leichter von der Hand gehen. Wenn es bei dir funktioniert hat, gib mir gerne über mein Kontaktformular eine kurze Rückmeldung. Würde mich freuen.