Kein Zugriff mehr auf das System

Hallo,

ich nutze das Relayboard in Verbindung mit dem Dimmy und dem Display. Das System läuft jetzt ca. 1 Jahr.

Seit heute steht im Display Connection Timeout und im Browser “Welcome to the VanPi Control Dashboard. We are firing up the engine, please stand by!”

Von Strom Trennen und wieder anschließen hat nichts gebracht. Ich kann das System nicht mehr bedienen!

Hat jemand eine Idee? Was kann die Fehlerursache sein?

Vielen Dank!
Heiko

Hallo Heiko
Ich hatte das Problem auch mal allerdings hatte ich einen sht30 angeschlossen, nach dem abklemmen des sensor stürzt nodered ab.
Ich hab den Sensor wieder angeschlossen, neu gestartet, den sht30 aus dem Programm entfernt, und seit dem ist alles gut.
Es gibt eine Möglichkeit nodered im “Abgesicherten” Modus zu starten.
Aber ich weiß nicht wie das geht.

Hallo Arno,

danke für die Antwort! Das komische ist, dass ich NICHTS am System geändert habe (weder Soft-, noch Hardwareseitig).

Ich hab gerade gesehen, dass ich noch über die 1880 auf die Flows komme. Allerdings scheinen die zerschossen zu sein:

Was mache ich nun?

Ist dein RPI aus dem Internet erreichbar?

Auf jeden Fall solltest du die Verbindung vom RPI zum restlichen Netzwerk trennen. Wie lange ist das System schon nicht mehr erreichbar?

Die Exec Node lädt irgendein Script runter, die IP Adresse führt laut GeoIP nach Thailand. Bitte auf keinen Fall das Script ausführen.

@Vincent Ja, das System war bis eben mit dem Internet verbunden. Hab das Ethernetkabel erstmal gezogen. Hab im Van nen Teltonika Router in Verbindung mit einer FRITZ!Box.

Hab den Systemausfall erst vor ein paar Stunden bemerkt. Bin gerade etwas schockiert :flushed:

Was kann/soll ich jetzt machen?

Hey Heiko,

hast du irgendwelche Ports in den Router geöffnet?
Hast du zusätzliche Erweiterungen installiert?

Ich empfehle dir erstmal deine SD Karte mit einem neuen Image zu versehen. Dann kannst du erstmal über den AccessPoint alles benutzen.

Bevor du es aber wieder online nimmst, solltest du deine Router/Firewall Einstellungen prüfen.

Hey Karl,

danke für die Rückmeldung! Ich werde ein neues Image draufziehen und dann läuft das System hoffentlich erstmal wieder stabil.

Ich habe das System für das Internet fertig konfiguriert bekommen. Die Fritzbox mit SIM-Karte für den mobilen Empfang, ein D-Link AP für das Campingplatz-WLAN und der Teltonika als Router dazwischen. Ich werde das am Wochenende mal checken, ob irgendwelche Ports im Teltonika freigegeben sind. Hab jetzt erstmal den Exposed Host in der Fritzbox ausgeschaltet, dann läuft wenigsten die Firewall der Box mit als zusätzliche Barriere und ich werde sehen, ob ich z.B. noch auf meinen Cerbo etc. raufkomme. Vermute irgendwo dort haben die Murks gemacht…

Ein Exposed Host gibt doch ein komplettes Gerät für das Internet frei, also inklusive aller Ports etc., oder?
Jedenfalls hat jemand auf deinen Node-RED Editor zugegriffen und ein Script ausgeführt, normalerweise laden diese Scripts dann Programme runter, die dann wiederum versuchen Passwörter zu knacken oder sowas. Zum Beispiel Medusa, damit sind Standardpasswörter sehr schnell herausgefunden (Bruteforce), kleines Beispiel:

Kann man dann ja alles automatisieren und versuchen mit verschiedensten Protokollen (PcAnywhere, POP3, CVS, FTP, HTTP, IMAP, SMB, SMTP (VRFY), SNMP, SSHv2, MS-SQL, MySQL, NCP (NetWare), PostgreSQL, rexec, rlogin, rsh, Telnet, SVN, VNC, VmAuthd). Oder was weiß ich was Leute noch so anstellen wollen, gibt ja dann keine Grenzen mehr.

Soll heißen, eigentlich solltest du jetzt dein komplettes Netzwerk prüfen und bestenfalls alles komplett zurücksetzen und neu einrichten. Geräte die mit dem Netzwerk verbunden waren, könnten ebenfalls betroffen sein. Je nachdem was das Script gemacht hat.

Wenn man einen Raspberry vom Internet aus erreichbar macht, sollte man zumindest die folgenden Sicherheitsvorkehrungen treffen:

  • Passwort und Benutzer ändern
  • SSH Port ändern (auf irgendwas über 20.000)
  • Node-RED mit Passwörtern versehen (Front- und Backend)
  • fail2ban oder besser crowdsec benutzen um Bruteforce-Attacken zu verhindern
  • NR Backend unter einer anderen URI abrufbar machen (z.B. /admin)
  • NR Port ändern
  • Zugriff auf den Raspberry nur aus dem lokalen Netzwerk erlauben
  • (Dienste wie Cloudflare ZeroTrust, Tailscale, Wireguard benutzen)

Gibt da noch viele andere Sachen, aber das gehört eigentlich zu den Standarddingen die man vornimmt, wenn man einen Server einrichtet.

Man muss sich auch bewusst sein, was man mit NR alles machen kann, sobald man Zugriff hat. Nämlich so ziemlich alles. Deswegen müssen NR Installationen (bzw. Raspis und Server allgemein) mit Maßnahmen geschützt werden, sobald sie von außen erreichbar sind.

https://nodered.org/docs/user-guide/runtime/securing-node-red#http-node-security

Kannst du zu den Punkten vielleicht mal ein kleines Tutorial machen. ist sicherlich für viele Interessant.

1 Like

Wobei da noch die Frage ist, ab wann ist ein Pi von Aussen sichtbar, auch wenn alles nur über VPN geht?

Ich könnte da schon mal ein Tutorial zu machen, ich weiß nur nicht wie sinnvoll das letztendlich ist. In der Regel blockt ja der Router schon alles was von außen kommt.
Erst wenn der Router etwas durchlässt hätte ein Angreifer Zugriff.

Ein VPN ist an sich schon sehr sicher, weil ohne Zugang kommt ja niemand durch, wird also geblockt.

Fail2ban und Crowdsec beugen Eindringlingen vor, in dem zum Beispiel IP-Adressen geblockt werden, die vergeblich versuchen sich einzuloggen (Bruteforce). Das wiederum geht aber nur, wenn bestimmte Ports zugänglich sind.

Öffentliche Server haben feste IP-Adressen und ebenso offene Ports. Z.b. Port 22 als Standardport für SSH, oder die Ports 80 und 443 für http/https Zugriffe. Wenn man so einen Server online nimmt kann man innerhalb kürzester Zeit die Portscanner und Loginversuche beobachten. Und das sind viele. Deswegen ändert oder schließt man Ports und blockt Angreifer.
Wenn so ein Scanner merkt da ist Port 1880 offen, dann wird versucht über die NR-API einen Flow zu importieren und auszuführen, alles automatisiert. Ein Passwortschutz für NR würde diese automatisierten Versuche schonmal unterbinden und die Wahrscheinlichkeit, dass sich jemand hinsetzt um mit viel Aufwand das Passwort für jemandes NR zu knacken ist auch eher gering, weil Kosten-/Nutzenfaktor und so (heißt aber nicht, dass es nicht möglich wäre).
Im Heimnetz steht der Router davor und blockt alles was von außen kommt.

Was also definitiv sinnvoll ist, ist das NR Backend mit einem Passwort zu versehen. Auch nur dafür, dass niemand, der Zugang zum Netzwerk hat, dort sein Unwesen treiben kann. Muss ja nicht mal böse Absichten haben. Dazu kann ich gerne mal was schreiben.

Generell, solange der Raspberry hinter einer Firewall steht (idr. ein Router), sollte nichts passieren. Ist die Firewall offen oder man hat NR auf einem öffentlichen, nicht abgesicherten Server, dann kommt da schnell jemand drauf. Ein VPN ist wie gesagt schon sehr sicher, wenn man eigene Zugriffe von außen ermöglichen will.

1 Like

Um das Backend mit einem Passwort zu schützen kann man denke ich folgende Anleitung gut benutzen:
Ich hab es damit gerade innerhalb von 2min gemacht.

1 Like