Anzeige:
Anzeige:

NextcloudPi Teil 3: Gültiges Verschlüsselungszertifikat mit Let’s Encrypt erstellen

-

In diesem Artikel geht es um die Einrichtung eines eigenen NAS/Homeservers auf Basis eines Raspberry Pi und Nextcloud. Es gibt jedoch noch weiter Möglichkeiten einen Raspberry Pi als Homeserver zu nutzen. Eine Übersicht über Artikel die sich mit diesem Thema beschäftigen findest Du unter Übersicht: Homeserver/NAS mit dem Raspberry Pi

Anzeige:

Seiteninhalt:
1 Wofür wird ein Verschlüsselungszertifikat von Let’s Encrypt benötigt?
2 Zusätzliche Portfreigabe für Let’s Encrypt einrichten
3 Verschlüsselungszertifikat bei Let’s Encrypt erstellen

Mittlerweile haben wir mit einem Raspberry Pi* und Nextcloud eine funktionierende Cloudlösung eingerichtet die über das Internet erreichbar ist. Die Übertragung von Dateien über das Internet ist hierbei nur über eine verschlüsselte Verbindung möglich.

Wofür wird ein Verschlüsselungszertifikat von Let’s Encrypt benötigt?

Leider besteht hierbei noch der kleine Wermutstropfen dass Nextcloudpi bisher für die Verschlüsselung ein sogenanntes selbstsigniertes Zertifikat verwendet, welches im Webbrowser zu einer unschönen Warnung und Fehlermeldung führt. Allerdings kann es auch passieren dass Anwendungen von Drittanbietern den Dienst komplett verweigern wenn ihnen der NextcloudPi ein, aus ihrer Sicht, ungültiges Verschlüsselungszertifikat vorlegt.

Erst seit kurzer Zeit, nämlich seit die Zertifizierungsstelle Let’s Encrypt ihren Dienst aufgenommen hat, lässt sich diese Situation einfach, automatisiert und zudem noch kostenlos beheben.

Das Problem bei selbstsignierten Zertifikaten ist, dass nicht überprüft wird ob die aufgerufene Internetadresse tatsächlich zu dem Computer gehört mit dem man sich gerade verbindet. Eine offizielle Zertifizierungsstelle wie Let’s Encrypt muss sich einem umfangreichen Regelwerk für das ausstellen von Zertifikaten unterwerfen und außerdem regelmäßige Überprüfungen über sich ergehen lassen. Werden diese erfolgreich bestanden wird die Organisation als vertrauenswürdig Webbrowser wie Google Chrome, Mozilla Firefox usw aufgenommen.

Anzeige:

Wenn wir nun ein Verschlüsselungszertifikat bei Let’s Encrypt beantragen, dann überprüft die Stelle ob hinter der angegebenen Internetadresse auch wirklich unser Nextcloudpi erreichbar ist. Dies Funktioniert dadurch, dass zuerst unser NextcloudPi eine Verbindung zu Let’s Encrypt aufbaut und unsere Internetadresse übermittelt. Let’s Encrypt versucht daraufhin den umgekehrten Weg zu gehen und über die übermittelte Internetadresse eine Verbindung zu unserem NextcloudPi aufzubauen. Gelingt dies stellt die Zertifizierungsstelle ein Verschlüsselungszertifikat aus, welches bestätigt dass hinter unserer Internetadresse mynextcloud.ddns.net auch wirklich unsere Nextcloud erreichbar ist.

Da die Software zur für Let’s Encrypt in NextcloudPi standardmäßig bereits integriert ist, lässt sich ein solches Zertifikat mit wenigen Mausklicks beantragen und installieren.

Anschließend melden die Browser keinen Fehler mehr und man erhält ein schönes grünes Verschlüsselungssymbol in der Adresszeile.

Zusätzliche Portfreigabe für Let’s Encrypt einrichten

In Teil 2 haben wir bereits eine Portfreigabe in der Fritzbox für verschlüsselte Verbindungen über Port 443 mit HTTPS eingerichtet. Damit der Zugriff für Let’s Encrypt funktioniert muss auch der Port für unverschlüsselte Verbindungen freigegeben werden.

Hierzu muss in der Fritzbox unter Internet -> Freigaben -> Portfreigaben eine neue Freigabe für den Dienst HTTP, bzw Port 80 erstellt werden. Letztendlich müssen hierzu nur nochmal die Schritte aus Teil 2 wiederholt werden.

Anzeige:

Verschlüsselungszertifikat bei Let’s Encrypt erstellen

Damit das Beantragen des Zertifikats automatisier klappt müssen die folgenden Voraussetzungen erfüllt sein.

Man benötigt eine eigenen Internetadresse, diese muss via DynDNS auf den Nextcloudpi erreichen. Außerdem müssen die Netzwerkports 80 (HTTP) und 443 (HTTPS) im Router für den NextcloudPi freigegeben sein. Dies habe wir in Teil zwei bereits erledigt.

Da Let’s Encrypt bereits in NextcloudPi integriert ist, ist alles weitere in ein paar Minuten erledigt. Zerst muss man sich wieder in die Verwaltungsoberfläche des Pi einloggen über die lokale Domain https://nextcloudpi.local:4443, oder über die IP-Adresse https://192.168.30.125:4443.

Hier wird im linken Menü der Punkt Networking > letsencrypt ausgewählt. In die Felder trägt man die in Teil 2 erstellte DynDns Internetadresse ein, in unserem Fall “mynextcloud.ddns.net”. Außerdem muss eine gültige Emailadresse angegeben werden.

Nextcloudpi Lets Encrypt beantragen

Mit einem Klick auf OK erstellt NextcloudPi automatisch die benötigten Schlüsseldateien und leitet die Überprüfung durch Let’s Encrypt ein. Wenn diese erfolgreich ist, bekommt man ein grünes Licht in der Verwaltungsoberfläche und das Zertifikat wird automatisch eingerichtet.

Nextcloudpi Lets Encrypt Zertifikat erstellt

Um Missbrauch vorzubeugen ist die Anzahl an Anfragen die man bei Let’s Encrypt stellen kann auf wenige Anfragen pro Woche limitiert. Schlägt der Vorgang fehl, so sollte man vor einem erneuten Versuch überprüfen, ob die eingerichtete DynDNS Adresse tatsächlich funktioniert und ob der NextcloudPi darüber erreichbar ist.

Zu beachten ist außerdem, dass die Zertifikate von Let’s Encrypt eine Gültigkeit von drei Monaten haben. Danach muss eine neue Überprüfung erfolgen, was NextcloudPi aber automatisch übernimmt.
Damit dies möglich ist, müssen aber die eingerichteten Portfreigaben und der DynDNS weiterhin funktionieren.

Nach dem Ausstellen des Zertifikates dauer es ein paar Minuten bis NextcloudPi dieses eingerichtet hat, evtl. ist ein Neustart nötig, damit der lokale Webserver seine Einstellungen aktualisiert.

Anzeige:

Wenn man dann die Cloud über die Adresse mynextcloud.ddns.net aufruft bekommt man keine Fehlermeldungen mehr.

Nun ist es möglich, die Nextcloud auch uneingeschränkt mit anderen Apps, wie z.B. Kalenderapps zu verbinden und Nextcloud problemlos über den Webbrowser zu nutzen. Apps von Drittanbietern, die man mit seiner Nextcloud verbinden möchte, verhindern häufig die Verbindung, wenn kein vertrauenswürdiges Verschlüsselungszertifikat vorliegt. Mit einem eingerichteten Let’s Encrypt Zertifikat gehören solche Probleme der Vergangenheit an.


BitReporter #update Newsletter

Kostenlose Cheat Sheets! (Übersicht)

  • Linux Kommandozeile beherrschen
  • Windows 10 Tastenkombinationen
  • 100+ Alexa-Befehle für den Alltag
  • 100 lustige Alexa-Befehle

Nervt nicht! Erscheint nur ca. 2x pro Monat.
Immer aktuell! Alle neuen Beiträge und mehr.
Praktisch! Die News kommen direkt zu dir.

Hinweis: Abmeldung jederzeit möglich. E-Mail-Adresse wird nur zum Versand des Newsletters genutzt, den du etwa 2 Mal pro Monat von BitReporter.de erhältst. Die E-Mail-Adresse wird nicht weitergegeben. Weiter Informationen zum Umgang mit Nutzerdaten siehe Datenschutzerklärung

8 Kommentare

  1. Mann, ich danke Dir. Ich habe das durch geackert und mit diesen phänomenalen Erklärungen tatsächlich geschafft! Man muss dazu sagen, dass ich in derlei Dingen eher ein Honk bin. Alos tausend Dank!

  2. Die drei Artikel haben mir sehr geholfen. Das Ergebnis machte erstmal richtig Freude. Fast alles ist damit gelöst. Aber folgende Probleme.
    1.
    Im Kennenlern- und Installationsprozess habe ich auch schon mal den Raspi ausschalten müssen. Bei einer schon gut funktionierenden Nextcloud ist die Stromtrennung Gift. In der Web-Oberfläche fand ich dazu nichts und ssh pi@raspberrypi verschaffte mir auch keinen Zugang. Bei der im anderen blog erwähnten Stromtrennung sehe ich auch nicht die saubere Lösung.
    Könnt Ihr nicht noch einen Beitrag über eine unterbrechungsfreie Stromversorgung für dieses Projekt schreiben?
    2.
    Sind die in der Installation verwendeten Einstellungen beim E-Mailserver richtig so richtig? admin@ownyourbits.com

    • Hallo Alwi,
      ordentlich kannst du den Raspberry Pi über die Administrationsoberfläche herunterfahren. Also nicht über Nextcloud über die Adresse https://nextcloudpi.local, sondern über https://nextcloudpi.local:4443. Dort kannst du auch den SSH Zugang aktivieren. Dann kannst du dich einloggen über “ssh pi@nextcloudpi.local” oder via IP-Adresse “ssh pi@192.168.30.125” (IP-Adresse anpassen). Dort funktioniert das Herunterfahren mit dem Befehl “sudo shutdown -h now”.

      Wenn du in Nextcloud den Sendemodus auf sendmail gestellt hast, dann versendet der Raspi die Mail selbst. Je nachdem wie restriktiv der Spamschutz beim Empfänger eingestellt ist, kommt die Mail an, oder auch nicht. Was da als Absenderadresse steht ist letztendlich egal.
      Besser ist es, du stellst den Sendemodus auf SMTP. Dann kannst du einen echten Mailserver eintragen, beispielsweise von web.de oder Gmail. Damit funktioniert der Mailversand auch zuverlässig. Dann muss die Absenderadresse natürlich zum Emailkonto passen.

      Viel Spaß noch.

  3. Hallo Niko,
    du hast alles richtig gut erklärt. Danke.
    Ich möchte Dich gern noch um weitere Erläuterung bitten.
    1.
    Die externe HD wird von nc genutzt. Wenn ich neugierigerweise mal die Platte an einen anderen Rechner hänge, ist sie scheinbar leer. Was hat das zu bedeuten?
    Inzwischen habe ich etliche Gigas hochgeladen.
    2.
    Wenn ich eine 2. HD anhänge und beim backup als Ziel /media/usbdrive2/… angebe, erhalte ich keine Fehlermeldung. Aber auch die HD2 hat keine Einträge,
    hätte ich sie nicht mounten müssen?
    3.
    Wenn aus Sicherheitsgründen hin und wieder ein image der SD.Karte zu machen ist, wie würde ein erfahrener user damit umgehen?

    Das sind Fragen, die sich nach den ersten drei sehr detaillierten Anleitungen zur Installation und Inbetriebnahme aufdrängen, wenn man das System von Nextcloudpi und Raspi ernsthaft/dauerhaft nutzen möchte.

    Anzeige:
    • Hallo Albrecht,
      zu 1. Hast du die Festplatte an einen Windows-PC gehängt? Der kann das Linux-Dateisystem der externen Festplatte nicht lesen. An einem anderen Linuxrechner (oder z.B. wenn du den PC mit einer Ubuntu Live-CD startest), dann müsste auch die Daten auf der externen Festplatte angezeigt werden.

      zu 2. Wenn unter /media/usbdrive2 kein Datenträger gemountet ist, du aber trotzdem dorthin schreibst, dann landen die Daten in diesem Verzeichnis auf der SD-Karte. Du kannst im Adminpanel von Nextcloudpi automount aktvieren, dann sollten weitere Datenträger automatisch eingebunden werden. Der Pfad muss natürlich trotzdem stimmen. Wie Nextcloudpi das handhabt weiß ich leider nicht.

      zu 3. Regelmäßig ein Image der SD-Karte zu machen ist auf jeden Fall eine gute Idee. Genau wie ein Backup der Daten in Nextcloud. Das würde ich auf einer externen Festplatte speichern, die nicht dauerhaft an einen Computer angeschlossen und dadurch sicher vor Ransomware ist. Oder z.B. als verschlüsseltes Zip-Archiv in einen Cloudspeicher hochladen.

      Hoffe das hilft ein bisschen weiter. Wie fast immer, gibt es viele Wege die zum Ziel führen.

  4. Vielen Dank für diese sehr ausführliche und klare Anleitung! Die hat mir wirklich sehr geholfen beim Einrichten!

    Eine Frage stellt sich mir noch in Bezug auf das Let’s Encrypt-Zertifikat:

    In meiner Fritzbox 6490 nutze ich als Alternative zu den gängigen DynDNS-Diensten den AVM-eigenen MyFritz!-Dienst (Domain sieht dann so aus: […].myfritz.net), was für andere Dienste wie VPN sehr gut funktioniert. Gerne würde ich diesen Weg auch für das LE-Zertifikat gehen.

    Wenn ich diese Domain aber im Panel von NextCloudPi eingebe, erhalte ich eine Fehlermeldung:

    Domain: […].myfritz.net
    Type: connection
    Detail: Fetching
    https://[…].myfritz.net/.well-known/acme-challenge/[…]:
    Timeout during connect (likely firewall problem)

    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A/AAAA record(s) for that domain
    contain(s) the right IP address. Additionally, please check that
    your computer has a publicly routable IP address and that no
    firewalls are preventing the server from communicating with the
    client. If you’re using the webroot plugin, you should also verify
    that you are serving files from the webroot path you provided.

    Ich habe die Ports 80 und 443 für den Pi freigegeben und habe eine öffentliche IP4-Verbindung. In Bezug auf die Firewall habe ich keine mir sinnvoll erscheinenden Einstellungen gefunden.

    In Deiner Beschreibung nutzt Du ja einen anderen DynDNS-Anbieter. Wahrscheinlich klappt das bei mir auch, aber ich würde sehr gern versuchen, alles über die myFritz!-DNS machen.

    Hättest Du da vielleicht eine Idee für mich? Vielen Dank schon einmal im Voraus!

    • Hallo John,
      Ich habe MyFritz nur mal kurz getestet und konnte mich damit nie anfreunden. Ob Portweiterleitungen da genau so funktionieren weiß ich nicht.
      kannst du deine Nextcloud denn unverschlüsselt (http anstatt https) über […].myfritz.net erreichen, oder landest du auf der Loginseite der Fritzbox? Nur wenn die Nextcloud über diese Adresse erreichbar ist, klappt auch das Ausstellen des Let’s Encrypt Zertifikats.
      Fall das nicht klappt, würde ich testen ob du direkt über die Eingabe deiner öffentlichen IP-Adresse im Browser auf der Nextcloud landest. Wenn das auch nicht klappt, stimmt irgendwas mit der Portweiterleitung nicht.

Hinterlasse einen Kommentar

Please enter your comment!
Die Angabe von Name oder Webseite ist optional. Weitere Informationen: siehe Datenschutzerklärung

Please enter your name here

Anzeige: