Uiterlijk nadat u de eerste configuraties in uw FHEM-interface hebt uitgevoerd, moet u zich ook bezighouden met het veiligheidsprobleem. Het is echt vervelend als je de moeizaam samengestelde en netjes geprogrammeerde functies van je SmartHome-systeem kwijtraakt. Of het nu gaat om gegevensverlies of omdat andere mensen ongeautoriseerde toegang hebben gekregen tot uw systeem.
De potentiële toegang door onbevoegden mag niet worden verwaarloosd. In het ergste geval kun je met deze toegang meer kwaad doen dan alleen maar een lamp aan- en uitzetten.
Hoe u uw FHEM-instantie kunt beveiligen en beschermen tegen gegevensverlies, wordt uitgelegd in het volgende artikel.
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.
Het wijzigen van eventuele bestaande (standaard) toegangswachtwoorden
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.
Hoe je dit verandert, staat in het artikel RaspberryPi – De eerste configuratie! beschreven.
Maak een HTACCESS-gebruikerslogin aan
De volgende veiligheidsmaatregel tegen ongeautoriseerde toegang tot uw FHEM-interface is toegangsbeveiliging via HTACCESS. Zodra dit is ingesteld, wordt u elke keer dat u probeert toegang te krijgen tot uw FHEM-instantie, gevraagd om de relevante inloggegevens in te voeren.
Om deze toegangsbeveiliging in te stellen, moet u eerst uw gebruikersnaam/wachtwoord-combinatie coderen met base64. Dit werkt op Linux met een ingebouwd commando. Om uw combinatie van gebruikersnaam en wachtwoord te coderen, hoeft u alleen maar de volgende opdracht in de console in te voeren. Natuurlijk moet je dat eerst doen 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).
Om de login met de door u ingestelde inloggegevens te activeren, moet u het volgende doen.
definieer toegestaanWEB toegestaan
Nu moet u uw gekopieerde inloggegevens aan deze module koppelen door een bijbehorend attribuut in te stellen. Dit kan gedaan worden met het volgende commando.
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
Versleutel de verbinding met een SSL-certificaat
Nu u de toegang tot uw FHEM-interface hebt beveiligd, is de volgende veiligheidsmaatregel ervoor te zorgen dat uw communicatie ermee niet kan worden onderschept of gemanipuleerd. Voor dit doel is nu SSL-codering van de communicatiegegevens ingesteld. Hiervoor moet eerst een SSL-certificaat worden aangemaakt en vervolgens worden verbonden met FHEM.
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
Nadat u uw FHEM-server opnieuw hebt opgestart, heeft u er bijna zoals gewoonlijk toegang toe. Het verschil is dat u nu het adres van uw FHEM-server moet laten voorafgaan door HTTPS.
Stel automatische back-up in voor elke update
Je bent nu grotendeels goed beschermd tegen de gevaren van slechte mensen en machines. Een andere handige instelling zijn de automatische back-ups vóór elke update van de FHEM-omgeving. Hierdoor bent u ook bij een onjuiste update beschermd en hoeft u niet de gehele configuratie handmatig te herstellen.
attr globale updateInBackground 1
attr globale backup_before_update 1
Veilige Telnet-toegang
FHEM biedt onder meer de mogelijkheid om opdrachten uit te voeren via Telnet-verbinding. Dit is niet standaard geïnstalleerd/geactiveerd. Als u hiervan gebruik maakt, is het echter belangrijk dat u de toegang beveiligt met een wachtwoord. Dit kan gedaan worden met het volgende commando. Natuurlijk moet je dat deel nog doen 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
Je bent nu grotendeels goed beschermd tegen de gevaren van slechte mensen en machines. Maar nu moet je je wapenen tegen de grootste vijand: je eigen saaiheid. Zeker als je dingen uitprobeert en uitprobeert, kan het snel gebeuren dat je het systeem dat voorheen goed werkte, verkeerd configureert. Als het systeem echter niet meer start, kan het in het ergste geval snel worden hersteld. Op voorwaarde dat u over een actuele back-up beschikt, idealiter op een extern opslagmedium. U kunt dus zonder problemen de laatst werkende versie herstellen.
definieer regularBackup op *03:00:00 back-up
Met deze instelling wordt er elke dag om 03.00 uur een back-up gemaakt en opgeslagen in de map /opt/fhem/backup. De hier opgeslagen bestanden moeten uiteraard ook met een andere schijf worden gesynchroniseerd. Dit is de enige manier om ze te beschermen in geval van een fout met de schijf of SD-kaart.
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