Spätestens nachdem Ihr die ersten Konfigurationen in Eurer FHEM-Oberfläche vorgenommen habt solltet Ihr euch auch mit dem Thema Sicherheit auseinandersetzen. Es ist nämlich wirklich ärgerlich, wenn Ihr die mühsam zusammengetragenen und fein säuberlich einprogrammierten Funktionen Eures SmartHome-Systems verliert. Sei es durch Datenverlust oder weil andere Personen unberechtigterweise Zugriff auf Euer System erlangt haben.
Gerade der potentielle Zugriff durch unberechtigte Personen sollte dabei nicht vernachlässigt werden. Im Worst Case lässt sich mit diesem Zugriff nämlich mehr Unfug anstellen als nur eine Lampe ein- und auszuschalten.
Wie Ihr eure FHEM-Instanz absichert und gegen Datenverlust schützen könnt, ist im folgenden Artikel erklärt.
Veiligheidsinstructies
Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/
Affiliate links / reclame links
De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂
Eisen
Voordat je aan dit artikel begint, moet je de RaspberryPi zo hebben voorbereid dat deze via het netwerk bereikbaar en via SSH te bedienen is.
In de volgende drie artikelen wordt beschreven wat er moet gebeuren om de RaspberryPi voor te bereiden:
RaspberryPi – setup voor nerds!
RaspberryPi – De eerste configuratie!
RaspberryPi – Bedien de RaspberryPi via SSH
FHEM - Installatie op de RaspberryPi
Gereedschap nodig:
-Nee-
Benodigde materialen:
In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.
Ändern der eventuell vorhandenen (Standard-)Zugangspasswörter
Die wichtigste – weil am meisten ausgenutzte – Sicherheitsvorkehrung ist es eventuell vorhandene Standardpasswörter zu ändern. Verwendet Ihr als Host-Hardware für den FHEM-Server zum Beispiel einen RaspberryPi ist es wichtig, dass Ihr dessen Standard-Login-Daten ändert. Die Standard-Login-Daten „pi“ und „raspberry“ sind nämlich jeder halbwegs technikinteressierten Person bekannt. Solltet Ihr also hier gerade Eure RaspberryPi-Login-Daten gelesen haben, ist es höchste Zeit diese zu ändern.
Wie Ihr diese ändert ist im Artikel RaspberryPi – De eerste configuratie! beschreven.
Maak een HTACCESS-gebruikerslogin aan
Die nächste Sicherheitsvorkehrung gegen unberechtigten Zugriff auf eure FHEM Oberfläche ist der Zugriffsschutz per HTACCESS. Ist dieser erst mal eingerichtet werdet Ihr bei jedem Zugriffsversuch auf Eure FHEM Instanz aufgefordert die dazugehörigen Logindaten einzugeben.
Um diesen Zugriffscchutz einzurichten müsst Ihr zunächst Eure Benutzername/Passwort-Kombination per base64 kodieren. Dies funktioniert unter Linux mit einem integrierten Befehl. Um damit Eure Kombination aus Benutzername und Passwort zu kodieren nüsst ihr lediglich folgenden Befehl in die Konsole eingeben. Zuvor müsst Ihr natürlich geweldige gebruikersnaam met uw gebruikersnaam en geweldig wachtwoord vervang het door uw wachtwoord.

echo -n greatusername:greatpassword | basis64

Zonder Linux, een online Base64-encoder zoals www.base64online.com . Voer eenvoudig uw combinatie van gebruikersnaam en wachtwoord in volgens het patroon Gebruikersnaam wachtwoord en klik op coderen (DECODE).
Um den Login mit den eingestellten Login-Daten nun zu aktivieren müsst Ihr folgendes tun.

definieer toegestaanWEB toegestaan
Nun müsst Ihr Eure kopierten Login-Daten mit diesem Modul verknüpfen indem Ihr ein entsprechendes Attribut setzt. Dies geht mit folgendem Befehl.
attr toegestaanWEB basicAuth dG9sbGVyQmVudXR6ZXJuYW1lOnRvbGxlc1Bhc3N3b3J0

attr toegestaanWEB geldigVoor WEB,WEBphone,WEBtablet
Dat is het al. Herstart nu FHEM door de volgende opdracht in te voeren
afsluiten opnieuw opstarten



Verbindung mit einem SSL-Zertifikat verschlüsseln
Nachdem Ihr nun den Zugriff auf Eure FHEM Oberfläche abgesichert habt, ist die nächste Sicherheitsvorkehrung dafür zu sorgen, dass Eure Kommunikation mit eben dieser weder abgehört noch manipuliert werden kann. Dazu wird nun eine SSL-Verschlüsselung der Kommunikationsdaten eingerichtet. Dazu muss zuerst ein SSL-Zertifikat erstellt und dann mit FHEM verbunden werden.

sudo apt-get install libio-socket-ssl-perl && sudo apt-get install libwww-perl


cd /opt/fhem

sudo mkdir-certificaten

cd /opt/fhem/certs

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



sudo chmod 644 /opt/fhem/certs/*.pem

sudo chmod 711 /opt/fhem/certs

attr WEB HTTPS

afsluiten opnieuw opstarten
Habt Ihr Euren FHEM-Server neu gestartet könnt Ihr fast wie gewohnt auf diesen Zugreifen. Der einzoge Unterschied ist, dass Ihr der Adresse zu Eurem FHEM-Server nun ein HTTPS voranstellen müsst.




Stel automatische back-up in voor elke update
Gegen die Gefahren durch böse Menschen und Maschinen seid Ihr nun größtenteils gut geschützt. Eine weitere sinnvolle Einstellung sind die automatischen Backups vor jedem update der FHEM-Umgebung. So seid ihr auch im Falle eines fehlerhaften Updates geschützt und müsst nicht die komplette Konfiguration manuell wiederherstellen.

attr globale updateInBackground 1
attr globale backup_before_update 1
Veilige Telnet-toegang
FHEM bietet unter anderem Die Möglichkeit Befehel per Telnet-Verbindung auszuführen. Diese ist standardmäßig nicht installiert/aktiviert. Solltet Ihr diese jedoch nutzen ist es wichtig, dass Ihr auch hier den Zugriff durch ein Passwort schützt. Dies geht mit folgendem Befehl. Dabei müsst Ihr natürlich noch den Teil geweldig wachtwoord durch das von Euch gewählte Passwort ersetzen. Ggf. müsst Ihr hier auch den Teil „telnetPort“ anpassen. Dies ist der Name Eures konfigurierten Telnet-Moduls und sollte mit dem von Euch genutzten Namen übereinstimmen.
attr telnetPort-wachtwoord geweldig wachtwoord
FHEM-zekering
Gegen die Gefahren durch böse Menschen und Maschinen seid Ihr nun größtenteils gut geschützt. Nun müsst ihr Euch aber noch gegen den Größten Feind wappnen: Die eigene Duseligkeit. Gerade beim aus- und rumprobieren kann es nämlich schnell passieren, dass Ihr das bis gerade gut funktionierende System falsch konfiguriert. Ein nicht mehr startendes System ist im Fall der Fälle aber schnell wiederhergestellt. Vorausgesetzt ihr habt ein aktuelles Backup am besten noch auf einem externen Datenträger. So könnt Ihr ohne Probleme den letzten funktionierenden Stand zurückspielen.
definieer regularBackup op *03:00:00 back-up
Mit dieser Einstellung wird täglich um 03:00 Uhr ein Backup erstellt und in dem Ordner /opt/fhem/backup abgelegt. Die hier abgelegten Dateien sollten dann natürlich auch mit einem anderen Laufwerk synchronisiert werden. Nur so sind sie im Falle eines Fehlers mit dem Laufwerk oder der SD-Karte auch gesichert.
Meer informatie
https://de.wikipedia.org/wiki/Base64
https://wiki.fhem.de/wiki/Telnet
Veel plezier met het project
Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂
PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂
Een reactie