Gelöst: Rebind-Schutz und SSH-Tunnel

wolfgang_k.

New member
Moin liebe Leute!

Ich versuche, über einen SSH-Tunnel auf eine Fritzbox in einem entfernten Netz zuzugreifen und bekomme Probleme mit dem "Rebind-Schutz" der FB.

Das Szenario ist wie folgt:

Mein PC -> Internet -> Fritzbox -> DMZ

Etwas ausführlicher:

Mein PC baut eine SSH Sitzung zum Rechner "DMZ" auf, und benutzt dabei u.a. die Option "LocalForward 4430 1.2.3.4:443" in ~/.ssh/config. Die FB ist im internen Ziel-Netz unter 1.2.3.4 erreichbar. Das ist nur ein hier verwendeter Platzhalter, die richtige IP lautet natürlich anders. Der Zwischenrechner "DMZ" hat analog die IP 5.6.7.8

Ziel der Übung ist es, an meinem PC die Adresse "https://localhost:4430" aufrufen zu können und die Anmeldeseite der FB zu sehen. Aber da macht mir der Rebind-Schutz einen Strich durch die Rechnung. Leider sagt mir die FB nicht, welchen Rechnernamen, welche Domäne oder welche IP ich in die Ausnahmeregeln der FB eintragen muss, damit der Zugriff funktioniert.

Welche Eintrag ist der richtige? Danke im Voraus für jede Hilfe!
 
Ich kann Dir zwar keine Lösung für Dein konkretes Problem anbieten, aber vielleicht könntest Du kurz etwas dazu sagen, warum es so kompliziert gemacht werden soll und warum Du Dich nicht direkt von Deinem PC mit der Fritzbox verbinden kannst?
 
Das Problem ist hier "localhost"... wenn Du die FritzBox über https://127.0.0.1:4430/ aufrufst sollte es funktionieren.

1684476085932.png

Dabei sagt er mir aber auch ganz klar, was ihm nicht passt! Siehe oben die Markierung. Die FritzBox heißt nun man nicht "localhost", also findet sie es suspekt, dass sie unter diesem Namen angesprochen werden kann und lehnt die Anfrage ab.

Alternativ könntest Du einen "dynamischen SSH-Tunnel" einrichten (aka SOCKS-Proxy), dann müsstest Du bei Dir im Browser lediglich den localhost:4430 als SOCKS-Proxy eintragen und könntest die FritzBox "normal" aufrufen.
 
Zuletzt bearbeitet:
Das Problem ist hier "localhost"... wenn Du die FritzBox über https://127.0.0.1:4430/ aufrufst sollte es funktionieren.

Treffer! Versenkt! Danke!!!! :)

Könntest du das

mal näher erläutern?

Das ist eigentlich recht einfach erklärt: die Benutzeroberfläche einer FB kann nur mit Benutzernamen und Passwort gesichert werden. Es gibt meines Wissens nach keine weiteren Authentifizierungsmöglichkeiten. Eine solche Seite möchte man nicht vom Internet aus erreichbar machen, denn das passende Passwort zu finden, ist nur eine Frage der Zeit.

Der SSH-Tunnel dagegen ist mit einem Schlüsselpaar abgesichert. Somit kommt also nur an die Benutzeroberfläche der FB, wer den SSH-Tunnel zum Proxy-Rechner öffnen kann.
 
Solange der Login am Jumphost nur via Schlüsselpaar funktioniert, also Passwort-Auth gar nicht erst zulässt, ist es doch nett.
Die Variante mit dem Socks-Proxy finde ich auch nicht uncharmant.

Warum aber nicht gleich per Wireguard eine VPN-Verbindung zur FB aufbauen? Die Einrichtung ist mit wenigen Maus-Klicks und ohne jegliches Vorwissen schnell durchgeführt.

Update: vor uncharmant hat ein nicht gefehlt! Jetzt nachgetragen.
 
Zuletzt bearbeitet:
Warum aber nicht gleich per Wireguard eine VPN-Verbindung zur FB aufbauen? Die Einrichtung ist mit wenigen Maus-Klicks und ohne jegliches Vorwissen schnell durchgeführt.

Weil das wiederum eine Registrierung bei einem externen Dienst erfordert. (MyFritz). Nichts gegen diesen Dienst, aber wenn ich das Hinzuziehen externer Dienste ausschließen kann, ist mir das lieber.
 
Und Du benötigst keinen externen Dienst, um an einen Rechner hinter der Fritzbox zu gelangen? Woher ist denn dessen externe/öffentliche Adresse bekannt? Vielleicht muß mir mal jemand das mit dem ssh-Tunnel näher erläutern.
 
Und Du benötigst keinen externen Dienst, um an einen Rechner hinter der Fritzbox zu gelangen? Woher ist denn dessen externe/öffentliche Adresse bekannt?

Die IP ist bekannt, das reicht.

Vielleicht muß mir mal jemand das mit dem ssh-Tunnel näher erläutern.

Ich versuche es mal:

1. Schritt: Port 443 der Fritzbox (Benutzeroberfläche) wird nicht ins Internet geöffnet.

2. Schritt: Ein externer Rechner verbindet sich per SSH mit einem Rechner in der DMZ des Zielnetzes. Das kann nur, wer den entsprechenden SSH-Schlüssel hat. Es können also keine Benutzer/Passwort-Paare erraten werden. Weitere Sicherheitseinstellungen sorgen z.B. dafür, daß sich niemand interaktiv auf dem DMZ-Rechner anmelden kann.

3. Schritt: Der Rechner in der DMZ darf auf Port 443 der Fritzbox zugreifen, kann also die Benutzeroberfläche aufrufen. Dieser Zugriff ist ein interner¹ Zugriff auf die Benutzeroberfläche der FB, so daß die Option der FB "aus dem Internet zu erreichen" nicht aktiviert werden muss. (¹ Ich möchte keine Diskussion starten, ob eine DMZ wirklich ein Teil des "internen" Netzes ist. Korinthen bitte im Keller abladen!)

4. Schritt: Durch die SSH-Verbindung zur DMZ wird der Port 4430 des verbundenen externen Rechners über die Zwischenstation der DMZ an den Port 443 der FB weitergeleitet. Das nennt man "SSH-Tunnel": eine ansonsten unsichere Verbindung wird durch eine gesicherte SSH-Verbindung wie durch einen Tunnel geleitet.

Der vierte Schritt unterscheidet sich nach meinem Verständnis² nicht sehr von einem VPN, denn auch damit werden unsichere Verbindungen über verschlüsselte Kanäle geleitet. (² Ich bin gerne bereit, mich eines Besseren belehren zu lassen, ebenso, was die Sicherheit dieses Verfahrens angeht. Mir ist bis dato keine Technik bekannt, um aus einem SSH-Tunnel auszubrechen, um an einer der weiterleitenden Zwischenstationen Blödsinn zu betreiben.)
 
Danke für die Erklärung. Nur eine Frage, da die IP ja wohl statisch ist, warum kannst Du dann nicht auf der Fritzbox den VPN-Server laufen lassen, bei statischer IP benötigst Du doch keinen externen DynDNS-Dienst. Auch bei Zugriff via VPN auf die Fritzbox bleibt „aus dem Internet zu erreichen“ abgeschaltet. Ist VPN unsicherer als der ssh-Tunnel?
 
Danke für die Erklärung.


Gern geschehen.


Nur eine Frage, da die IP ja wohl statisch ist, warum kannst Du dann nicht auf der Fritzbox den VPN-Server laufen lassen, bei statischer IP benötigst Du doch keinen externen DynDNS-Dienst.


Berechtigte Frage. ;)

Das ist wohl meinen persönlichen Vorlieben geschuldet: zum einen bringt es etwa weniger Rechenlast für den kleinen Prozessor der FB, zum anderen hat sich die "Tunnel-Technik" in meinen Erfahrungen bisher bei verschiedenen Anwendungen sehr bewährt. Es ist wohl wie mit Automatik und Schaltgetriebe: unterschiedliche Vorlieben und unterschiedliche Leichtigkeit im Umgang.

Weiterhin habe ich den Dienst "MyFritz" bisher noch nicht so recht auf dem Radarschirm. Und ich weiß bisher auch nicht, ob ich bei Verwendung des VPN auf der FB deren Benutzeroberfläche bekomme, oder auf einer Shell lande. Zwar kann ich auch mit einer Shell umgehen, aber mich in die manuelle Konfiguration der FB auf dieser Ebene einzuarbeiten... das Risiko / den Aufwand wollte ich mir ersparen.


Ist VPN unsicherer als der ssh-Tunnel?


Ich glaube nicht, denn beide Verfahren benutzen im Endeffekt dieselbe Technik. Der Unterschied zwischen den beiden Verfahren ist, daß ein VPN auf Ebene des Betriebssystems läuft, während SSH-Tunnel adhoc durch Benutzer errichtet werden können.

Ein paar Vor- und Nachteile beider Techniken:

VPN:

+ Wenn gewünscht kann automatisch jeder Netzwerkverkehr durch diese Schnittstelle laufen kann.
+ Nicht für jede Anwendung muss extra ein Tunnel gebaut werden.
+ Die Benutzung ist für Anwender einfacher, weil 100% transparent.
- Einrichten eines VPN erfordert Systemrechte (Root/Administrator).

SSH-Tunnel:

+ Kann auch von nicht-privilegierten Benutzern adhoc aufgebaut werden können.
- (Meistens) beschränkt auf einzelne Anwendungen.
- Erfordert von Anwendern eine gewisse Erfahrung im Umgang mit SSH.

Es gibt bestimmt noch mehr Vor- und Nachteile beider Techniken, aber das sind die, die mir jetzt spontan einfallen. Die Sicherheit hängt natürlich bei beiden Vorgehensweise von der gewählten Verschlüsselungsart und der Länge des Schlüssels ab.
 
Weiterhin habe ich den Dienst "MyFritz" bisher noch nicht so recht auf dem Radarschirm. Und ich weiß bisher auch nicht, ob ich bei Verwendung des VPN auf der FB deren Benutzeroberfläche bekomme, oder auf einer Shell lande.
Bei Verwendung des VPN-Servers auf der Fritzbox (sowohl IPSec als auch Wireguard) kommst Du auf die Benutzeroberfläche der Fritzbox. „MyFritz“ brauchst Du meinem Verständnis nach nur dann, wenn Du an der Fritzbox keine statische öffentliche IP hast. Da Deine IP statisch ist, wenn ich das richtig verstanden habe, müßtest Du eigentlich auf auf „MyFritz“ oder alternative DynDNS-Dienste verzichten können.
Einrichten eines VPN erfordert Systemrechte (Root/Administrator).
Stimmt, aber sollte man die Fritzbox-Oberfläche nicht ohnehin nur als Administrator bedienen dürfen? Alle anderen haben da eigentlich nicht viel zu suchen.
 
Auch wenn ich mich bisher aus dieser Unterhaltung rausgehalten hab... so langsam geht es - meiner Ansicht nach - doch ein bisschen sehr in die "schön reden"-Richtung...
- Einrichten eines VPN erfordert Systemrechte (Root/Administrator).
Die "Client"-Einrichtung erfordert nicht zwingend administrative Rechte, die Server-Einrichtung dagegen schon, aber wo ist das nicht so, das ist beim SSH-Tunnel auch nicht anders. Wenn man sein VPN korrekt konfiguriert, kann man die Zugriffe auch entsprechend auf gewünschte Dinge einschränken.

SSH-Tunnel:

+ Kann auch von nicht-privilegierten Benutzern adhoc aufgebaut werden können.
- (Meistens) beschränkt auf einzelne Anwendungen.
- Erfordert von Anwendern eine gewisse Erfahrung im Umgang mit SSH.
Wenn es um SSH-Tunnel geht, sollte man das ähnlich halten (insbesondere dann, wenn die Zugriffe auch von aussen möglich sind). "PermitOpen" wäre da z.b: sowas für die SSH-Config (Server-seitig). Ansonsten hätte ich initial erstmal ein "nö" in den Raum gestellt (abgesehen vom ersten Punkt), denn am "häufigsten" (wenn es um SSH-Tunnel geht) sind eher die SOCKS-Proxy-Varianten, da sowas dann einfach als Jump-/Bastion-Host in div. Konstellationen genutzt wird. Was den letzten Punkt angeht... mitunter auch nicht, wenn man es vorkonfiguriert auf den Desktop legt, aber ich denke... da müssen wir nichts zu sagen 😂

Ich kann ja verstehen, dass man SSH-Verbindungen mag (kann ich mir ja auch nicht absprechen), dennoch würde ich nicht hingehen und eine SSH-Verbindung extern erreichbar machen, wenn es nicht "zwingend" notwendig wäre. Fakt ist einfach, dass auf VPN-Diensten weitaus weniger "rumgetrommelt" wird, als bei SSH-Diensten (geänderte Ports seien mal dahingestellt).

Auch wenn die Fritzbox jetzt nicht unbedingt ins Bild passt, theoretisch sollte das Konstrukt - meiner Meinung nach - so aussehen, dass man sich a) via VPN verbindet um den Jump-/Bastion-Host zu erreichen (und je nach Gegebenheiten auch nur diesen), um b) über diesen im Netz zu agieren. So ist der Zugriff auf den Host via SSH direkt auf die VPN-Teilnehmer eingeschränkt.

weniger Rechenlast für den kleinen Prozessor der FB
Da muss ich doch sagen.... das Argument hinkt schon ein bisschen... Das ist wie ein Auto, welches man nicht fährt, da der Motor ja etwas zu tun bekommen könnte, also lässt man es lieber in der Garage, wo es rumsteht und gut aussieht 😜 Du bewegst ja sicherlich auch keine Massen an Daten über die VPN-Verbindung (ebenso wenig wie über die SSH-Verbindung). Bei so einem Zugriff auf eine Fritzbox erst recht nicht 🙃

Das ist wohl meinen persönlichen Vorlieben geschuldet
Dagegen kann (und will hoffentlich) niemand etwas sagen, das verbuchen wir einfach unter "isso" 😁

Will Dir damit auch nicht auf die Füsse treten, ich vertrete nur eine (leicht) andere Meinung zu dem Thema und Du hast ja auch schon durchaus gemerkt, welche "Stolpersteine" ("localhost" ;)) man sich da selbst in den Weg legen kann (daher nutzen die meisten - meiner Erfahrung nach - auch eher die SOCKS-Proxy-Variante), aber auf der anderen Seite kommt es sicher auch immer auf den Anwendungsfall an (z.B. eine Verbindung zu einem lokalen MariaDB-Dienst auf einem vServer, welcher nur auf localhost hört, usw.) ☺️
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.603
Beiträge
63.418
Mitglieder
6.840
Neuestes Mitglied
axel_k
Zurück
Oben