SSL Verbindung: FHEM mit Passwort und HTTPS absichern

Den Webzugriff auf eurer FHEM-Installation kann man relativ schnell über ein Attribut mit einem Passwort schützen. In diesem Artikel erkläre ich euch, wie ihr eine Passwortabfrage erstellt und das Passwort über eine sichere Verbindung (HTTPS) mit einem SSL Zertifikat überträgt.

Bevor wir das Passwort einrichten, müssen wir das gewünschte Passwort zunächst Base64 codieren. Unter Linux reicht dazu der Befehl:

Eine weitere Möglichkeit bieten sogenannte Online Base64 Encoder (www.base64online.com)

Man erhält nach der Codierung eine Folge von Buchstaben, Zahlen und Zeichen. Zum Beispiel:

Diese Folge ist nun euer codierter Benutzername und Passwort. Für die Einbindung in FHEM dient das Modul „allowed“.

Diesem Modul lässt sich nun das kodierte Passwort als Attribut hinzufügen:

Anschließend wird angegeben, für welche WEB-Instanz das Passwort gesetzt werden soll:

Zum Schluss noch die Änderungen abspeichern und FHEM neu starten:

Möchte man nun auf FHEM zugreifen, wird zuerst der Benutzername und das Passwort abgefragt.

FHEM SSL passwort

Bei einer Übertragung von Passwörtern, sollte man natürlich darauf achten, dass diese verschlüsselt übertragen werden. Dazu richten wir eine HTTPS-Verbindung mit einem SSL-Zertifikat ein. Zunächst müssen wir auf dem Raspberry noch einige Pakete installieren. Über SSH eine Verbindung zum Raspeberry herstellen und mit folgenden Befehle die Pakete installieren:

Anschließend erstellen wir noch einen Ordner im FHEM-Installationsordner, wo wir später das SSL-Zertifikat abspeichern.

Nun können wir das SSL Zertifikat erstellen:

Das SSL-Modul muss die erzeugten Dateien server-key-pem und server-cert.pem verwenden dürfen, wir setzen also noch die benötigten Rechte:

Damit die FHEM-Installation die nun eingerichtet sicher Verbindung nutzt, müssen wir noch ein Attribut setzen:

Nach dem speichern der Konfiguration und einem Neustart von FHEM erfolgt der Zugriff nun per HTTPS.

Nicht wundern, wenn euer Internet-Browser Sicherheitsbedenken bezüglich des Zertifikats hat. Aufgrund der Tatsache, dass wir keine „vertrauenswürdige zertifizierungsstelle“ sind, gilt unser selbst erstellte Zertifikat als unsicher. Aber keine Panik, euer Passwort wird trotzdem sicher übertragen.

SSL Zertifikat

Diese Absicherung mit SSL und HTTPS ist vor allem sehr wichtig, wenn man den Raspberry aus dem Internet erreichbar macht.

6 Kommentare zu “SSL Verbindung: FHEM mit Passwort und HTTPS absichern

  1. Hallo Daniel,
    ich habe probiert, die Umstellung gemäß deiner Anleitung umzusetzen, wurde dadurch aber promt von meinem Pi ausgesperrt.
    Nachdem ich
    attr WEB basicAuth … (mit meinem Base64-String, im schlimmsten Fall mit Fehlern)
    eingegeben hatte, wurde ich direkt aus der Oberfläche katapultiert und neue Benutzerdaten wurde abgefragt. Leider funktionieren meine Login-Daten jetzt nicht mehr. Über die bash komme ich weiterhin auf den Pi und die fhem.cfg wurde anscheinend nicht verändert, mein altes Passwort wird weiterhin klar angezeigt.
    Ich habe dann probiert, über die bash die config zu verändern, leider ohne Erfolg, ich komme nicht mehr in das Frontend.
    Was mache ich falsch?

    MfG Larimow

  2. Hallo Larimow,

    das ist natürlich ärgerlich. Eigentlich müsste es doch reichen in der fhem.cfg das Attribut basicAuth zu löschen. Aber das scheint ja nicht zu funktionieren. Komisch. Er fragt ja nach einem Benutzer und Passwort, das Einrichten hat ja anscheinend geklappt. Wie du bereits selber erwähnt hast, kann es natürlich sein, dass der Base62-String falsch ist.

    Ich habe es bei mir mal versucht die Passwortabfrage zu löschen. Habe dazu einfach in der fhem.cfg folgende Einträge komplett gelöscht:

    define allowed_WEB allowed
    attr allowed_WEB basicAuth RGxxxxxxxxxxxxxxxxxxxxxx
    attr allowed_WEB room Settings
    attr allowed_WEB validFor WEB

    Danach war die Passwortabfrage weg und ich konnte auf das FrontEnd zugreifen ohne ein Benutzer oder Passwort eingeben zu müssen.

    Gruß Daniel

  3. Bei mir genau das gleiche unter Debian 8. Komme nicht mehr aufs Frontend. Fhem.confg gegen ein Backup ersetzt und trotzdem will er Benutzer und Passwort haben? Iegentwas läuft hier falsch.

    • Hallo Steffmaster,

      ich kann mir nur wiederholen. Ich kann leider nicht sagen, wodran es liegen kann. Habe auf meinem Test-System die SS- und die Passwort-Einrichtung nochmal durchgeführt. Hat alles problemlos funktioniert. Anschließend habe ich dann den Eintrag „attr allowed_WEB basicAuth RGxxxxxxxxxxxxxx“ aus der fhem.cfg gelöscht und konnte dann ohne Passworteingabe auf das FrontEnd zugreifen. Und laut mehreren Einträgen im FHEM-Forum ist dies auch der gängige Weg. Über diesen Eintrag basicAuth kann man auch den Benutzername und das Passwort auslesen. Einfach ein base64-Decoder verwenden.

      Gruß Daniel

  4. Hallo Zusammen,

    mir ist es ähnlich ergangen, bis ich bemerkte, dass mein PI auf englischer Tastatur lief und dadurch natürlich die Sonderzeichen komplett andere waren.

    Vielleicht hilft Euch ja dieser Tipp weiter.

    LG

    • Hallo Dominik,
      danke für den Tipp, auf diese Idee bin ich noch gar nicht gekommen.

      Gruß Daniel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Hinweis: Das Betreiben dieser Homepage kostet einiges an Zeit und Geld. Ich bitte euch deswegen von eigenen Affiliate-Links abzusehen. Vielen Dank.

*