Definierte URL einer internen Domain im Internet verfügbar machen

easyfreak

Lt. Junior Grade
Registriert
Aug. 2004
Beiträge
290
Hallo zusammen,

Ich möchte eine bestimmte interne URL bzw. einen Pfad im Internet verfügbar machen. Also bewusst nicht den gesamten Port (Port-Forwarding), sondern nur einen bestimmten Teil. Der Rest soll nicht erreichbar sein. Wie kann ich das umsetzen?

Konkret geht es um meine Server mit Node-Red. Das Dashboard möchte ich im Internet haben, die Konfiguration etc. nicht.

Internet: http://192.168.0.170:1880/ui/ und folgend.
Nur intern: http://192.168.0.170:1880/

Danke!
 
Mar1u5 schrieb:
Das funktioniert zum Beispiel mit einem Reverse Proxy auf deiner Sophos UTM Firewall (unter dem Menüpunkt Webserver Protection).

An sowas wie ein Proxy hatte ich auch schon gedacht. Eine Sophos UTM Firewall habe ich allerdings nicht :-) Gibt es da vielleicht einen anderen Ansatz?
 
Kannst du nicht auf deinem PC einfach einen zweiten Webserver auf einem anderen Port starten und als Basisverzeichnis den Ordner "ui" verwenden? Diesen Port gibst du dann per Portweiterleitung in deinem Router/Firewall frei.

Ansonsten könntest du per Dateisystemberechtigungen die Berechtigungen so regeln, dass du per Webserver nur auf den Ordner "ui" zugreifen kannst.
 
Node-Red läuft bei mir als iobroker-Adapter, da komme ich nicht so einfach ran.
 
Ja, ist ein Raspbian welches allerdings in VMware läuft. Reverse Proxy klingt ganz gut. Welche Software kann man denn da nehmen? Gerne auch als Windows-Lösung.
 
Dann nimm halt einen Raspberry Pi. Dort nen NGINX als Reverse Proxy. Ziel ist dann http://192.168.0.170:1880/ui/ , ggf. noch nen basic auth dazu und von außen, also in der Firewall/Router erlaubst du Zugriff auf Port 443 mit Ziel Raspberry Pi.
Ergänzung ()

Warum zur Hölle virtualisiert man ein Raspbian mit den damit verbundenen Einschränkungen anstatt einfach Debian zu nehmen? Kopfschüttel
Wenn du aber schon nen VM-Host hast einfach meinen gerade genannten Vorschlag als VM umsetzen.
Die Config für den NGINX kannst dir hier zusammen klicken als Anhaltspunkt: https://nginxconfig.io/

Grundsätzlich: Wenn man nicht weiß, was man da macht betreibt man keine aus dem Internet erreichbaren Dienste denn grundsätzlich haftest du dafür. Hast du morgen einen unliebsamen Besucher auf deinem Server und der stellt damit $Dinge an, haftest du. Mit der reinen Installation ist es dann auch nicht getan denn Software ist keine fire-and-forget Geschichte. Updates wollen zeitnah installiert werden, Sicherheitseinstellungen korrekt gesetzt bzw. aktuell gehalten werden und zwar alles auch wenn du mal ein paar Wochen dafür keine Zeit oder Lust hast.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Raijin
snaxilian schrieb:
Dann nimm halt einen Raspberry Pi. Dort nen NGINX als Reverse Proxy. Ziel ist dann http://192.168.0.170:1880/ui/ , ggf. noch nen basic auth dazu und von außen, also in der Firewall/Router erlaubst du Zugriff auf Port 443 mit Ziel Raspberry Pi.
Ergänzung ()

Warum zur Hölle virtualisiert man ein Raspbian mit den damit verbundenen Einschränkungen anstatt einfach Debian zu nehmen? Kopfschüttel
Wenn du aber schon nen VM-Host hast einfach meinen gerade genannten Vorschlag als VM.

Werde ich mal testen, danke!

Warum Raspbian in VM? Das ist historisch gewachsen ;-) War mal eine Testumgebung für nen Pi.
 
Mal eine Grundsatzfrage: Soll node-red wirklich der kompletten Internetgemeinde präsentiert werden oder geht es nur darum, dass du selbst und eine Handvoll anderer Leute draufgucken sollen?
Evtl ist es ja sinnvoller, ein VPN einzurichten und node-red darüber zu nutzen und dann erübrigt sich die Thematik mit dem Proxy für UI/Konfiguration bereits, weil's ja evtl nur darum geht, dass sich nicht irgendein Eindringling an der Konfiguration zu schaffen macht?
 
@snaxilian : Jepp, aber läuft prima. Da ich die IOs eh nicht brauche, wird die Umgebung vermutlich niemals auf einen Hardware-Pi umziehen.

@Raijin : Genau das möchte ich verhindern. Ich möchte nur das Node-red Dashboard präsentieren, aber nicht das komplette node red. Mit dem Dashboard kannst du bei mir nicht viel anfangen, da ich damit nichts steure, sondern nur monitore.
 
Theoretisch ja, praktisch nein. Webserver bzw. Webanwendungen hatten mehr als einmal eine Directory Traversal Sicherheitslücke und damit sehe ich dann ganz fix nicht mehr nur dein Dashboard. Wenn du dies nicht korrekt absicherst & konfigurierst gehört deine Heizung bald nicht mehr nur dir.
Genau dafür nutzt man irgendeine Art der Zugangsbeschränkung. Dies kann ein VPN sein oder eine HTTP Basic Auth Abfrage. In dem Fall sollte dein Reverse Proxy jedoch ausschließlich per TLS erreichbar sein da du sonst das Kennwort im Klartext durch das Internet schickst.
 
Also das NGINX funktioniert schon mal. Danke dafür. Mit den Sicherheitsthemen hadere ich noch, bzw. ich muss das noch für mich bewerten. Du wirst dort nie meine Heizung sehen, sondern nur nen Regensensor und einen Feuchtigkeitssensor von meinen Rasen. :-) Nicht wirklich kritisch. Zu Node-red bzw. Node.js habe ich zumindest zum Stichtag keine entsprechenden Sicherheitslücken finden können. SSL ist mit aufrund der Zerifikate usw. zu aufwändig und VPN öffnet mir zuviel.
 
Ein Angreifer hört dort aber nicht auf sondern hangelt sich weiter und ja solche Angriffe und das abklopfen auf Sicherheitslücken geschieht massiv und automatisiert. Erst wenn die Bots etwas finden, schaut ein Mensch drauf und hangelt sich dann weiter. Selbst wenn ihm deine Sensoren egal sind nutzt er die Rechenkapazität für bitcoin/ethereum, Spamversand, etc. pp. Mag nicht viel Leistung sein, die bei dir rum kommt aber die Masse machts.

Bei Node.js empfehle ich mal ein npm audit, das klopft in allen installierten Paketen auch alle Abhängigkeiten auf bekannte Lücken ab. Dann reden wir weiter.

Das Thema Zertifikate und kompliziert hat sich seit April 2016 erledigt und keiner kann sich mehr raus reden denn seit diesem Zeitpunkt ist Let's Encrypt nicht mehr im Beta Betrieb und kümmert sich nach Einrichtung um die automatische Erneuerung von Zertifikaten.

Ein VPN öffnet auch nicht zu viel bzw nur wenn man es nicht einschränkt. Kannst ja trotzdem den Reverse Proxy nutzen und erlaubst Traffic aus dem VPN-Tunnel nur auf den Reverse Proxy, dann ist das ein VPN exklusiv für das Dashboard.

Reine Sensoren ohne Aktoren sind doch witzlos und daran ist dann nix "smart". Smart wäre eine Steuerung für ein Bewässerungssystem. Wenn Regensensor = trocken und wenn Feuchtigkeitssensor unter Wert X und wenn Wettervorhersage für nächsten Y Stunden = kein Regen angekündigt dann starte Bewässerung für Z Minuten/Stunden. Im besten Fall nur nachts laufen lassen oder noch eine Anwesenheitserkennung rein basteln. Das ist dann smart weil es tatsächlich repetitive langweilige Arbeit abnimmt.
 
easyfreak schrieb:
VPN öffnet mir zuviel.
What?!? Zum einen fragte ich ja wer das am Ende sehen soll - ob jeder, nur eine Handvoll Leute oder sogar nur du - und zum anderen bestimmt bei einem VPN der VPN-Server worauf man zugreifen darf. Wenn man zB nicht möchte, dass das NAS über VPN erreichbar ist, richtet man im VPN-Server eben die Firewall entsprechend ein.

Jeder Dienst, den du über das Internet erreichbar machst, ist potentiell angreifbar. Ein VPN ist aber explizit für solche Zwecke konzipiert, um verschlüsselt auf gesicherte Ressourcen in einem anderen Netzwerk zuzugreifen.
 
  • Gefällt mir
Reaktionen: snaxilian
Öhmm.. Habe nie behauptet dass ich hier etwas "smartes" vor hätte... Frage mich ob du dich schon bei mir reingehackt hast, da du mein Vorhaben schon so konkret analysieren, bewerten und beurteilen kannst... 🙄🙂

Ich danke dir/euch aber für deine Hinweise und Tipps. Leider funktioniert das mit dem Reverse Proxy eh nicht, da Node red dashboard auch auf höhere und andere Pfade zugreift. Zu früh gefreut! Datenaustausch über JS halt. Entsprechend wird so zwar das Dashboard angezeigt, aber ohne Daten da diese Pfade dem Proxy nicht zur Verfügung stehen. Entsprechend werde ich wohl auf HTTP Basic Auth mit SSL/TLS gehen, dann aber auf das ganze Node-Red.

EDIT:

VPN ist mir zu sperrig, vor allem client-seitig. Verbindung aufbauen, abbauen, kein Aufbau möglich wegen Firewall, Gast-WLAN, usw... nervt nur...:D
 
Zurück
Oben