Raspberry mit CUL-Stick

Raspberry Pi: Zugriff auf FHEM per HTTPS sichern

Da man die Passwörter nicht per Klartext durch das Web jagen möchte, ist es ratsam, eine gesicherte Verbindung zu nutzen. Um die nötigen Zertifikate zu erstellen, braucht man folgende Pakete:

sudo apt-get install perl-io-socket-ssl
sudo apt-get install libio-socket-ssl-perl

Danach wechseln wir in das richtige Verzeichnis für die Zertifikate und erstellen diese:

cd /opt/fhem
sudo openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem

Danach folgen einige Fragen zu Standort und Name:

-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:NRW
Locality Name (eg, city) []:Paderborn
Organization Name (eg, company) [Internet Widgits Pty Ltd]:mkleine.de
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:Matthias Kleine
Email Address []:xxx@mkleine.de

Nun bewegen wir die neuen Daten noch an die richtige Stelle und setzen ein paar Berechtigungen:

sudo mkdir certs
sudo chmod 711 certs
sudo mv *.pem certs/
cd certs/
sudo chmod 644 server-cert.pem
sudo chmod 644 server-key.pem

Nun fügen wir noch folgende Zeile in die Konfiguration /opt/fhem/fhem.cfg ein

attr WEB HTTPS

Nach einem Neustart von FHEM ist das Webfrontend nur noch über HTTPS erreichbar. Natürlich ist das Zertifikat nicht signiert und die gängigen Browser werden sich beschweren, dass die Verbindung nicht sicher sei, aber verschlüsselt wird die Verbindung trotzdem.

Es ist zu beachten, dass das Attribut die Smartphone- (Port 8084) und Tablet-Version (Port 8085) separat angegeben werden muss:

attr WEBphone HTTPS
attr WEBtablet HTTPS

Da ich diese Ports aber nicht aus dem Internet freigegeben habe, werde ich die Verbindung dorthin auch nicht sichern. Das ist aber jedem selbst überlassen – schaden kann es am Ende nicht.

Raspberry Certificate


Beitrag veröffentlicht

in

, , ,

von

Schlagwörter: