Uiterlijk nadat u de eerste configuraties in uw FHEM-interface hebt gemaakt, moet u ook het beveiligingsprobleem behandelen. Het is echt vervelend als je de zorgvuldig samengestelde en netjes geprogrammeerde functies van je SmartHome-systeem kwijtraakt. Of het nu gaat om gegevensverlies of omdat andere mensen zich onbevoegd toegang tot uw systeem hebben verschaft.
De mogelijke toegang door onbevoegden mag niet worden verwaarloosd. In het ergste geval kan met deze toegang meer kwaad worden gedaan dan alleen een lamp aan- en uitzetten.
In het volgende artikel wordt uitgelegd hoe u uw FHEM-instantie kunt beveiligen en beschermen tegen gegevensverlies.
Veiligheidsinstructies
Ik weet dat de volgende tips altijd vervelend zijn en onnodig lijken. Maar helaas hebben veel mensen die "beter" wisten al ogen, vingers of andere zaken verloren of zich door onvoorzichtigheid verwond. In vergelijking daarmee is een verlies van gegevens nauwelijks het vermelden waard, maar zelfs die kunnen heel vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Want zelfs het coolste project is geen letsel of andere problemen waard.
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 webwinkel of aanbieder. De prijs verandert niet voor jou. Als u uw aankopen doet via deze links, steunt u Nerdiy.de om in de toekomst nog meer nuttige projecten te kunnen aanbieden. 🙂
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 - Instellingen voor Nerdiys!
RaspberryPi – De eerste configuratie!
RaspberryPi - De RaspberryPi besturen via SSH
FHEM – Installatie op de RaspberryPi
Benodigd gereedschap:
-Nee-
Benodigde materialen:
In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.
Wijzig eventuele bestaande (standaard) toegangswachtwoorden
De belangrijkste - omdat de meest misbruikte - beveiligingsmaatregel is het wijzigen van bestaande standaardwachtwoorden. Als u bijvoorbeeld een RaspberryPi als hosthardware voor de FHEM-server gebruikt, is het belangrijk dat u de standaard inloggegevens wijzigt. De standaard inloggegevens "pi" en "raspberry" zijn bekend bij iedereen die half geïnteresseerd is in technologie. Als je hier net je RaspberryPi-inloggegevens hebt gelezen, is het hoog tijd om deze te wijzigen.
Hoe u dit kunt wijzigen, staat in het artikel RaspberryPi – De eerste configuratie! beschreven.
Maak een HTACCESS-gebruikerslogin aan
De volgende beveiligingsmaatregel tegen ongeautoriseerde toegang tot uw FHEM-interface is toegangsbeveiliging via HTACCESS. Zodra dit is ingesteld, wordt u gevraagd om de bijbehorende inloggegevens in te voeren telkens wanneer u toegang probeert te krijgen tot uw FHEM-instantie.
Om deze toegangsbeveiliging in te stellen, moet u eerst uw gebruikersnaam/wachtwoord-combinatie coderen met behulp van base64. Dit werkt op Linux met een ingebouwde opdracht. Om uw combinatie van gebruikersnaam en wachtwoord te coderen, hoeft u alleen maar de volgende opdracht in de console in te voeren. Daarvoor moet je natuurlijk eerst 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 ingestelde logingegevens te activeren, dient u het volgende te doen.

definieer toegestaanWEB toegestaan
Nu moet u uw gekopieerde inloggegevens koppelen aan deze module door een geschikt attribuut in te stellen. Dit kan 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 beveiligde toegang tot uw FHEM-interface heeft, is de volgende veiligheidsmaatregel om ervoor te zorgen dat uw communicatie ermee niet kan worden onderschept of gemanipuleerd. Hiervoor is nu een 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
Als u uw FHEM-server opnieuw hebt opgestart, hebt u er bijna zoals gewoonlijk toegang toe. Het enige verschil is dat u nu het adres van uw FHEM-server moet voorafgaan met 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 voor elke update van de FHEM-omgeving. Zo ben je ook beschermd bij een foutieve update en hoef je niet de hele configuratie handmatig te herstellen.

attr globale updateInBackground 1
attr globale backup_before_update 1
Veilige Telnet-toegang
FHEM biedt onder meer de mogelijkheid om via een Telnet-verbinding opdrachten uit te voeren. Dit is niet standaard geïnstalleerd/geactiveerd. Als u hier echter gebruik van maakt, is het belangrijk dat u ook hier de toegang met een wachtwoord afschermt. Dit kan met het volgende commando. Natuurlijk moet je nog steeds het onderdeel doen geweldig wachtwoord vervang het door het door u gekozen wachtwoord. Mogelijk moet u hier ook het gedeelte "telnetPort" aanpassen. Dit is de naam van uw geconfigureerde telnet-module en moet overeenkomen met de naam die u gebruikt.
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 domheid. Vooral bij het uitproberen en uitproberen kan het snel gebeuren dat je het systeem, dat tot nu toe goed werkte, verkeerd configureert. Als het ergste echter het ergste wordt, kan een systeem dat niet meer start snel worden hersteld. Mits je een actuele back-up hebt, bij voorkeur op een externe datadrager. U kunt dus probleemloos de laatste werkstatus herstellen.
definieer regularBackup op *03:00:00 back-up
Met deze instelling wordt er elke dag om 03:00 een back-up gemaakt en opgeslagen in de map /opt/fhem/backup. De bestanden die hier zijn opgeslagen, moeten natuurlijk ook met een andere schijf worden gesynchroniseerd. Alleen zo zijn ze ook beveiligd in het geval van een fout met de schijf of de SD-kaart.
Extra 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 ook altijd welkom 🙂
P.S. Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik het omdat ik het leuk vind, maar als je het cool vindt dat ik de info erover met je deel, zou ik een kleine donatie aan het koffiefonds op prijs stellen 🙂 .
Ein Kommentar