SSL-Zertifikat & HTTPS für Web-Apps RaspiBlitz

Hallo Zusammen,

ich arbeite mich erst seit ein paar Wochen in das Thema Einrichtung & Konfiguration einer eigenen Node ein. Als Noob sind es dabei meine Ziele, zunächst einmal dazu zu lernen und eine möglichst hohe Sicherheit zu erreichen, bevor ich die Node „im Live-Betrieb“ ernsthaft nutze. An dieser Stelle nochmal vielen Dank für den tollen Beitrag, lieber @GLN. Eine enorme Hilfestellung! :grinning:

Meinen RaspiBlitz habe ich vor ein paar Tagen aufgesetzt und teste nun ein paar Apps & Services (Thunderhub, RTL, mempool, Specter). Folgendes Problem habe ich noch:

Mein Webbrowser (Brave) zeigt mir immer die lokale Verbindung als „nicht sicher“ an streicht das https: aus der Adresse raus, z.B: https://192.168.178.53:3001/rtl/login
Die Verbindung ist aktuell wohl nicht sicher und jemand könnte mein RPC-Passwort stehlen, indem er sich ins Wlan reinhackt.

Wie sichere ich das sauber ab? Ist das Zertifikat auf dem RaspiBlitz bereits vorhanden und ich muss es nur noch meinem Windows-PC/Browser beibringen, verschlüsselt mit der Node zu kommunizieren?

Vielen Dank im Voraus für eure Hilfe!

Hi, das das https-Zertifikat als ungültig angezeigt wird ist normal und unbedenklich (du kannst dir das Zertifikat anschauen und selbst verifizieren). Der Browser verifiziert dies nicht, da er es nicht kennt, denn du hast das Zertifikat auf deine lokale IP ja selbst erstellt. Dem schenkt der Browser ja kein Vertrauen.

Für lokale und persönliche Anwendungen wie RaspiBlitz nicht nötig aber bei Nutzung von BTCPay bspw schon praktisch: Domain-Name besorgen und auf statische IP des Raspis zeigen (bei Home-Hosting schwierig bzw umständlich), dann kann man bspw. ein akzeptiertes Zertifikat von letsencrypt.com) beantragen.

2 „Gefällt mir“

Doch, die Verbindung, ist im Normalfall schon sicher und verschlüsselt. Das Problem ist nur, dass dein Browser das Zertifikat nicht kennt.

Allerdings: Wenn du die Warnung einfach ignorierst, gibt es einen möglichen Angriffsvektor. Jemand könnte sich als deine Node ausgeben und wenn du darauf hereinfällst dein Passwort klauen.

Es gibt es 4 Wege das sauber zu lösen:

  1. Du überprüfst den Fingerprint manuell. Das machen Browser unterschiedlich, aber bei Firefox kannst du dir das Zertifikat samt Fingerprint anzeigen lassen. Das vergleichst du mit dem Wert, den dir der Raspiblitz im Menü anzeigt, z.B. unter „LND RTL Webinterface“.

  2. Alternativ kannst du auch das Zertifikat systemweit installieren. Um ohne Rückfrage akzeptiert zu werden, muss es jedoch den korrekt Host enthalten, also in deinem Fall „192.168.178.53“, damit das Zertifikat diesen Host enthält, musst du in der lnd.conf diese Zeile hinzufügen:

tlsextraip=192.168.178.53

Dann musst du lnd stoppen, die Datei tls.cert und tls.key löschen und lnd neustarten. Dann wird das Zertifikat mit den neuen Einstellungen neu generiert. Das neue Zertifikat lädst du dann auf deinen Rechner herunter und installierst es systemweit.

  1. Das Skript ./config.scripts/lnd.tlscert.sh macht genau das selbe wie (2.), mit dem Parameter „ip-add 192.168.178.53“ wird die IP-Adresse in die lnd.conf geschrieben und mit dem Parameter „refresh“ wird das Zertifikat neu erstellt (und lnd neu gestartet) und noch ein paar andere Dinge.

  2. Wie von @bnd dargestellt (über externe Certificate Authority), und natürlich auch okay, aber eben für ein Heimnetzwerk meistens nicht so sinnvoll.

2 „Gefällt mir“

Bleibt die Frage wie sinnvoll es ist, Zertifikate auf LAN-IPs auszustellen und zu verwalten, insb. wenn DHCP aktiv ist (wie bei den Meisten). Hier eignet sich denke ich ein Fingerprint am Besten zur Verifizierung.

Vielen Dank für eure ausführlichen Antworten!
Die Meldung hatte mich doch stark verunsichert. Vorsicht ist die Mutter der Porzellankiste :wink:

Absolut, der Fingerprint ist sicher am einfachsten. Und die meisten Browser akzeptieren das ja auch, d.h. man muss es nur einmalig überprüfen. Die Smartphone-Browser sind da aber meistens pingeliger und erlauben das nicht dauerhaft, zumindest Safari auf iOS. Und irgendwann hört man dann auf zu prüfen…

Ich nutze angepasste Zertifikate und habe am Gateway eine fixe IP für die Node hinterlegt.

Richtige Einstellung.

Denn so ein Angriff ist wirklich kinderleicht, insbesondere, wenn der Raspi im selben Netz ist, das auch über WLAN erreichbar ist. Im WLAN ist man schnell drinnen und dann muss man nur noch einen Raspi reinhängen und ich schätze 50% der User würden das neue Zertifikat akzeptieren und ihr Passwort eingeben. Man muss natürlich auch den richtigen Raspi angreifen, aber aus dem LAN ist der mit einer DOS-Attacke vermutlich schnell nicht mehr erreichbar…