HowTo: Node Red – Benutzerlogin einrichten

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.

Nach der Eingabe Eures Benutzernamen und Passworts könnt Ihr die ersten Befehle eingeben.

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.

Um das Update der Paketverwaltung zu starten müsst ihr folgenden Befehl eingeben.
sudo apt-get update && sudo apt-get upgrade
Je nachdem wie lange Euer letztes Update der Paketverwaltung her ist kann dieser Vorgang nun etwas dauern. Dabei werden zuerst die Listen aktualisiert in denen auf die einzelnen Paketquellen verwiesen wird.
Danach werden die Pakete selber aktualisiert. Da dabei zusätzlicher Speicher belegt wird, werdet Ihr nochmal nach Eurem Einverständnis gefragt. Dies müsst Ihr mit einem "J" und "Enter" bestätigen.
Ist die Aktualisierung abgeschlossen wird euch eine kleine Zusammenfassung über die Dauer und den Umfang des Updates angezeigt.

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
Die Installation der “node-red-admin”-Tools dauert ca. 30 Sekunden.

Nachdem die Installation abgeschlossen ist könnt ihr den Hash-Wert-Generator mit folgendem Befehl aufrufen:

sudo node-red-admin hash-pw
Bei der dann aufkommenden Abfrage gebt Ihr eurer Passwort ein von dem Ihr einen Hash-Wert erzeugen wollt und bestätigt dies mit “Enter”.
Daraufhin wird euch der zugerhörige Hash-Wert ausgegeben. Kopiert diesen am besten in eine Textdatei damit Ihr in für die nächstren Schritte bereit liegen habt.

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

Navigiert in der Kofnigurationsdatei mit den Pfeiltasten bis…
…ihr an diesem Teil angekommen seid.
Dort enfternt ihr die Schrägstriche vor den abgebildeten Zeilen.
Im Bereich “username” könnt ihr zwischen den Anführungszeichen nun einen beliebigen Benutzernamen eintragen. In diesem Falle wurde dieser bei “admin” belassen. Im Bereich “password” müsst Ihr nun den zuvor erstellten Hash-Wert eintragen. Dazu entfernt Ihr den bereits vorhandenen Hash-Wert und kopiert euren selbst erstellten an die gleiche Stelle.
So sollte der Bereich aussehen, nachdem Ihr euren Hash-Wert eingetragen habt.
Zum speichern und schließen der Konfigurationsdatei drückt ihr nun “STRG+X”…
…und bestätigt die Nachfrage mit “Y” und “Enter”.

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

Nach einem Neustart werdet Ihr beim aufrufen Eurer NodeRed-Konfigurationsseite nach einem Benutzernamen und Passwort gefragt.

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. 🙂

Buy Me a Coffee at ko-fi.com       

2 Kommentare

    1. 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

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.