Nach der ersten Installation von NodeRed könnt(/solltet) Ihr normalerweise ohne große Hindernisse auf die Konfigurationsoberfläche von NodeRed zugreifen. Dies ist praktisch, weil man so direkt mit der Konfiguration starten kann.
Leider ist es aber auch gefährlich. Denn wenn jeder der sich im Netzwerk befindet auf die NodeRed Konfigurationsoberfläche zugreifen kann bedeutet das auch, dass jeder der sich im Netzwerk befindet, Befehle auf dem jeweiligen System ausführen kann.
Hier sollte man den Zugriff so schwer wie möglich machen. Besonders sobald man den Zugriff auf die NodeRed-Konfiguration über das Internet freischaltet ist dies ein Muss. Sonst arbeitet der eigene RaspberryPi wahrscheinlich sehr schnell nicht mehr nur für den eigenen NodeRed-Server sondern auch für das nächste Bot-Netz.
Ein wichtiger Schritt um den Zugriff auf NodeRed zu erschweren ist also die Einrichtung eines Benutzerlogins für die Konfigurationsoberfläche. Wie Ihr diesen einrichtet ist im folgenden Artikel erklärt.
Im Artikel NodeRed – Verbindung verschlüsseln wird zusätzlich beschrieben, wie Ihr die Verbindung zu Eurer NodeRed-Konfiguration verschlüsseln könnt. Die Verbindungsverschlüsselung ist ein weiteres wichtiges Sicherheits-Plus, gerade wenn Ihr über das Internet auf Eure NodeRed-Konfiguration zugreifen wollt.
Sicherheitshinweise
Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
Voraussetzungen
Hilfreiche Artikel:
Damit Ihr einen benutzerlogin einrichten könnt sollte NodeRed natürlich schon installiert sein.
Wie ihr einen RaspberryPi dazu vorbereitet und dann NodeRed darauf installiert ist in den folgenden Artikeln beschrieben.
Die folgenden drei Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern
NodeRed – Installation von NodeRed auf dem RaspberryPi
Benötigtes Werkzeug:
-keins-
Benötigtes Material:
In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.
Per SSH auf dem RaspberryPi einloggen
Um zu beginnen müsst Ihr Euch als erstes mit Putty per SSH auf dem RasPi einloggen. Wie das geht ist im Artikel RaspberryPi - Den RaspberryPi über SSH steuern beschrieben.
Paketverwaltung aktualisieren
Die Paketverwaltung in Linux ist eine "zentrale Stelle" über die sich diverse Software-Pakete installieren lassen. Damit dies zuverlässig funktioniert sollten vor jeder Installation von neuen Paketen die Listen und Quellen der Paketverwaltung aktualisiert werden.
sudo apt-get update && sudo apt-get upgrade
Passwort Hash-Wert erzeugen
Das Passwort für Eure Benutzeroberfläche wird später in Die Konfigurationsdatei Eurer NodeRed-Installation eingetragen. Da es ein Sicherheitsrisiko ist Passwörter als Klartext (also unverschlüsselt) in Konfigurationsdateien zu speichern wird in diesem Fall ein Hash-Wert eures Passworts erzeugt und in der Konfigurationsdatei eingetragen. Von dem Hash-Wert lässt sich nicht direkt auf das Passwort schließen.
Damit Ihr den Hash-Wert erzeugen könnt empfiehlt es sich die “node-red-admin”-Tools zu instalieren.
Der Befehl dazu lautet:
sudo npm install -g node-red-admin
Nachdem die Installation abgeschlossen ist könnt ihr den Hash-Wert-Generator mit folgendem Befehl aufrufen:
sudo node-red-admin hash-pw
Benutzername und Hash-Wert in die Konfig-Datei eintragen
Nun öffnet Ihr die Konfigurationsdatei eurer NodeRed-installation
sudo nano /home/pi/.node-red/settings.js
NodeRed neu starten
Damit die eingestellten Änderungen nun auch übernommen werden, müsst Ihr eure NodeRed-Installation ein mal neu starten. Dies geht mit folgendem Befehl:
sudo service nodered restart
Viel Spaß mit dem Projekt
Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂
P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂
Kurze Frage geht das ganze auch unter Portainer?
Wenn ich einen Container erstellt habe, komme ich direkt auf die Seite von nodered
Hi Mathias,
du meinst du hast NodeRed als Docker Container installiert?
Dort müsste das gleiche eigentlich auch funktionieren. Du hast die NodeRed Benutzerdaten vermutlich über eine Freigabe an das Dateisystem von deinem Host angebunden oder?
Dann müsstest du darüber auch die settings.js und Co bearbeiten können. 🙂
Beste Grüße
Fabian