openHAB – Zugriff über HTTPS absichern

in #openhab2 years ago

openHAB-HTTPS-SSL-Zugriff.jpg

Wer sein Zugriff auf openHAB etwas sicherer gestalten möchte, kann dies mit Hilfe von HTTPS tun.
Dadurch wird der gesamte Netzwerkverkehr verschlüsselt übertragen.
Dies muss zwar für das Heimnetzwerk nicht unbedingt sein, kann aber die allgemeine Sicherheit deutlich erhöhen.
Wer openHAB aus dem Internet zugänglich machen möchte (was nicht zu empfehlen ist!), sollte dies ohnehin tun.
openHAB selbst ist schon so konfiguriert, damit ein Zugriff via HTTPS möglich ist.
Dazu öffnet openHAB den Port 8443.
Es gibt aber zwei Nachteile, welche mit im laufenden Betrieb des öfteren aufgefallen sind:

  1. Das Backend von openHAB reagiert teilweise nicht über Verbindungen per HTTPS, Speichert Konfigurationen nicht oder loggt mich ständig aus.
  2. Eingebettete Webseiten (z.B. Überwachungskameras, Webseiten, …) welche keine öffentlich beglaubigten Zertifikate haben, lassen in der Android-App eine Fehlermeldung statt die Seite erscheinen.

Die Erklärung für Punkt 2:
Android erlaubt den Zugriff auf eingebettete Inhalte nur mit gültigen / vertrauten Zertifikaten und die SSL-Verschlüsselung muss durchgängig sein.
Eine Abfrage, ob wir dem Zertifikat vertrauen, erscheint in der App nur für das Zertifikat für openHAB selbst.
Für eingebettete HTTPS-Inhalte kommt diese Meldung nicht. Es wird dann ein Zertifikatsfehler angezeigt.
Wird der Inhalt in openHAB per HTTP eingebunden und wir rufen openHAB per HTTPS auf, wird der HTTP-Inhalt nicht geladen!

Die Lösung für unsere Probleme: nginx als Proxy!

Mit nginx können wir ein HTTPS-Proxy installieren, welcher den Zugriff auf openHAB via HTTPS absichert.
HTTP-Inhalte können wir ebenfalls durch den Proxy schleußen, damit die Smartphone-Apps zufrieden sind.

Ein Hinweis:
Diese Anleitung basiert auf der offiziellen Anleitung von openHAB: Securing access to openHAB
https://hoerli.net/openhab-zugriff-ueber-https-absichern/

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.030
BTC 58639.60
ETH 3167.30
USDT 1.00
SBD 2.43