In het artikel NodeRed - Gebruikerslogin instellen heeft er al op gewezen dat het erg belangrijk is om de toegang tot je NodeRed configuratie-interface te beveiligen. Vooral als je toegang hebt tot je NodeRed configuratie via het internet, moet je ervoor zorgen dat alleen jij toegang hebt.
Naast het instellen van een gebruikerslogin, is het ook belangrijk en nuttig om de verbinding tussen je browser en de NodeRed server te versleutelen.
Hoe je te werk moet gaan, wordt beschreven 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
Handige artikelen:
Om een gebruikerslogin te kunnen instellen, moet NodeRed natuurlijk al geïnstalleerd zijn.
Hoe je een RaspberryPi voorbereidt en vervolgens NodeRed erop installeert, wordt beschreven in de volgende artikelen.
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
NodeRed – NodeRed installeren op de RaspberryPi
Benodigd materiaal:
-Nee-
Benodigd materiaal:
In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.
Log in op de RaspberryPi via SSH
Om te beginnen moet je eerst inloggen op de Rasp Pi met Putty via SSH. Hoe je dit doet staat in het artikel RaspberryPi - Bedien de RaspberryPi via SSH beschreven.
Maak een map voor de certificaten
Om de certificaatbestanden op een centrale locatie te kunnen opslaan, is het aan te raden om een map aan te maken in de NodeRed directory. Als uw map “.node-red” zich in uw thuismap bevindt - wat het geval zou moeten zijn als u NodeRed met het installatiescript hebt geïnstalleerd - kunt u een nieuwe map maken met de volgende opdracht.
mkdir /home/pi/.node-red/certificaten
Na het uitvoeren van deze opdracht zou er een nieuwe map met de naam “certificaten” moeten zijn aangemaakt in uw map “.node-red”.
Ga naar de aangemaakte map
Om ervoor te zorgen dat de aan te maken certificaatbestanden ook in deze nieuw aangemaakte map worden opgeslagen, moet u nu met het volgende commando hiernaar overschakelen.
cd /home/pi/.node-red/certificates/
Certificaatbestanden genereren
Om de versleuteling van je verbinding met Node-Red te laten werken, moet je een paar certificaatbestanden maken. Gebruik het volgende commando om een sleutelbestand aan te maken.
openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out server.crt
Voer het pad naar de certificaatbestanden in het NodeRed-configuratiebestand in
Nu moet je je NodeRed-installatie vertellen dat de verbinding in de toekomst versleuteld moet worden. Je moet ook aangeven waar de certificaatbestanden die je zojuist hebt aangemaakt zich bevinden.
Deze informatie moet worden ingevoerd in het configuratiebestand van NodeRed. Open hiervoor je NodeRed-configuratiebestand met het volgende commando:
sudo nano /home/pi/.node-red/settings.js
Om ervoor te zorgen dat dit functieblok ook de paden naar uw certificaatbestanden bevat, moet u deze opgeven. Kopieer hiervoor de volgende tekst in het functieblok.
sleutel: fs.readFileSync('/home/pi/.node-red/certificaten/key.pem'), certificaat: fs.readFileSync('/home/pi/.node-red/certificaten/server.crt')
Start NodeRed opnieuw
Om de wijzigingen in het configuratiebestand toe te passen, moet je NodeRed nu herstarten. Dit kan met het volgende commando.
sudo service node rood opnieuw opstarten
Ga naar de NodeRed-configuratiepagina
Nadat u NodeRed opnieuw heeft opgestart, zult u zien dat uw NodeRed-installatie niet meer toegankelijk is onder de oude URL. Dit komt omdat u voorheen uw NodeRed-configuratiepagina benaderde via “http://”, maar deze nu alleen toegankelijk is via “https://”. De screenshots wijzen de weg met de Google Chrome-browser. Dit pad is echter vergelijkbaar voor andere browsers.
Om ervoor te zorgen dat u nu weer toegang heeft tot uw NodeRed-configuratiepagina, moet u de URL van uw NodeRed-configuratiepagina vooraf laten gaan door “https://”.
De meeste browsers waarschuwen op dit punt dat het certificaat waarmee je je verbinding versleutelt zelf is ondertekend en dus niet door een derde partij is gevalideerd. Op normale websites is dit inderdaad een probleem, omdat het erop kan wijzen dat de zogenaamd beveiligde verbinding in werkelijkheid niet veilig is. In dit geval is het echter OK, omdat we het certificaat gewoon zelf hebben aangemaakt.
Om de waarschuwing te omzeilen, klikt u op “Geavanceerd”…
...en klik vervolgens op "Doorgaan naar...". U wordt nu doorgestuurd naar de gebruikelijke configuratiepagina van uw NodeRed-installatie.
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. 🙂
Hallo,
Bedankt voor je bijdrage.
Deze beveiligingswaarschuwing stoort mij en ook alle andere gebruikers in mijn huishouden. Het controleren van de kamertemperatuur gaat altijd gepaard met een paar klikken.
Hoe kan ik de beveiligingswaarschuwing van de browser omzeilen (wanneer ik het dashboard open)?
Ik gebruik Node-Red op een Raspberry.
Hartelijk dank en met vriendelijke groet
hallo aanbeveling,
graag. 🙂
Het probleem hiermee is dat het zelfondertekende certificaat niet wordt geaccepteerd door de browser. Dit is eigenlijk de bedoeling maar natuurlijk vervelend.
Voor zover ik weet heb je twee opties:
– Installeer het certificaat op elk apparaat. Helaas heb ik hier geen instructies voor, maar ik geloof ook dat dit alleen voor Windows een optie zou zijn. Om veiligheidsredenen is dit niet mogelijk op Android/Apple-apparaten (voor zover ik weet).
- Er zou kunnen zijn Optie twee mogelijk: Ondertekende SSL-certificaten kunnen worden aangemaakt met LetsEncrypt. Helaas heb ik hier ook geen instructies voor. Maar misschien het volgende helpt. 🙂
https://discourse.nodered.org/t/node-red-ssl-using-letsencrypt-certbot/17606
Hartelijke groeten
Fabian