Eigenen Proxy mittels FRITZ!Box und SSH-Tunnel realisieren
SSH (Secure Shell) ist ein Netzwerkprotokoll, mit welchem man eine verschlüsselte Verbindung zu einem entfernten Gerät herstellen kann. Durch die Vielseitigkeit von SSH bieten sich jedoch auch noch andere Möglichkeiten. Ein SSH-Tunnel zu der eigenen FRITZ!Box lässt sich beispielsweise als eigener Proxy-Server nutzen.
Viele fragen sich jetzt vermutlich, wozu ein eigener Proxy-Server gut sein soll. Nachfolgend einige Anwendungsbeispiele:
- Verschlüsselt über SSH-Tunnel surfen, wenn man sich im öffentlichen WLAN befindet, beispielsweise im Hotel oder an öffentichen Orten (Bahnhof, Flughafen,…)
- Einfache und verschlüsselte Verbindung im das private Netz realisieren
- Schnellere Verbindung durch andere Routen
- Von Firewall gesperrte Ports umgehen
- IP-Sperren umgehen, wenn man sich im Ausland befindet
1. SSH-Server
Im ersten Schritt muss ein SSH-Server eingerichtet werden bzw. vorhanden sein, welcher über das Internet erreichbar ist. Neben einem NAS-System sowie dedizierten Windows- oder Linux-Servern bietet sich hier insbesondere der heimische Router an, vor allem wenn es sich um eine FRITZ!Box handelt. Der Router ist sowieso immer online und kann ohne Probleme zusätzlich die Funktion eines SSH-Servers übernehmen. In Verbindung mit einem DDNS-Hostnamen ist die FRITZ!Box immer unter demselben Namen erreichbar. Hier kann zum Beispiel MyFRITZ! oder FreeDNS genutzt werden.
Bei einer FRITZ!Box ist es relativ einfach einen SSH-Server einzurichten. Zum einen besteht die Möglichkeit, einen SSH-Server wie beispielsweise OpenSSH oder Dropbear manuell auf die FRITZ!Box zu installieren. Zugegeben, nach den jüngsten Sicherheitsupdates von AVM gestaltet sich diese Variante etwas kniffliger. Die zweite Möglichkeit besteht in der Nutzung von Freetz. Dabei handelt es sich um eine Firmware-Modifikation, die auf einer Original-Firmware des Herstellers basiert und um zusätzliche Funktionen erweitert werden kann. Somit lassen sich auch die bereits genannten SSH-Server OpenSSH oder Dropbear installieren.
Auf die Einrichtung des SSH-Servers gehe ich in diesem Artikel bewusst nicht näher ein, da ich den Fokus vor allem auf die Client-Einstellungen richten möchte.
2. SSH-Client
Für den Aufbau einer SSH-Verbindung wird ein SSH-Client benötigt. Beim Einsatz von Windows bietet sich hier das kostenlose Tool PuTTY an. Auch andere Alternativen sind möglich. Ich persönlich setze beispielsweise sehr gerne KiTTY ein.
Nach dem Start von PuTTY müssen zunächst die grundlegenden Einstellungen zum Verbindungsaufbau getätigt werden. Im Feld “Host Name (or IP address)” muss zunächst der dynamische Hostname der eigenen FRITZ!Box angegeben werden. Anschließend als “Connection type” SSH auswählen und ggf. den Port anpassen.
Links im Menü auf “Connection”, “SSH” und “Tunnels” wechseln. Dort sollte zunächst die Checkbox “Remote ports do the same (SSH-2 only)” aktiviert werden. Danach kann unter “Source port” der gewünschte lokale SOCKS-Port konfiguriert werden. Im Beispiel verwende ich Port “8888”. Unter “Destination” muss anschließend die Option “Dynamic” gewählt werden, sonst funktioniert der Proxy-Server später nicht. Erst jetzt auf den Button “Add” klicken.
In der Liste “Forwarded Ports” erscheint nun der Eintrag “D8888”.
Bei Bedarf können jetzt noch zusätzliche Einstellungen getätigt werden. Beispielsweise lässt sich im Menü unter “Connection” und “Data” ein Benutzername zum Auto-Login hinterlegen. Zudem kann unter dem Menüpunkt “Auth” eine Schlüsseldatei (privater Schlüssel) angegeben werden, falls diese zur Authentifizierung benötigt wird.
Zum Schluss im Menü wieder auf “Session” wechseln und dort unter “Saved Sessions” einen Namen vergeben. Mit einem Klick auf “Save” werden die Einstellungen unter diesem Namen gespeichert.
3. Browser
Der von PuTTY zur Verfügung gestellte SOCKS-Proxy muss jetzt nur noch im Browser konfiguriert werden. Beispielhaft zeige ich euch die Einrichtung mit Firefox. In anderen Browsern bzw. Programmen läuft die Einrichtung ähnlich ab.
In den Einstellungen muss auf “Erweitert” und anschließend auf den Tab “Netzwerk” gewechselt werden. Dann auf den Button “Einstellungen…” klicken.
Die Option “Manuelle Proxy-Konfiguration:” anklicken und dort unter “SOCKS-Host” “localhost” und den vorher definierten Port eintragen, in meinem Fall “8888”. Achtet auch darauf, dass die Option “SOCKS v5” aktiviert ist.
Standardmäßig nutzt Firefox zur DNS-Auflösung nicht den Weg über den SOCKS-Proxy. Zur Anpassung dieses Verhaltens muss der Wert “network.proxy.socks_remote_dns” unter “about:config” auf “true” gesetzt werden.
Noch ein Tipp von mir: Ihr könnt auch ein Add-on zur Steuerung des Proxy-Eintrags installieren, um nicht immer in die Einstellungen wechseln zu müssen. Ich nutze FoxyProxy.
4. Über eigenen Proxy-Server surfen
Bevor über den Proxy-Server gesurft werden kann, muss lediglich noch die vorher erstellte Verbindung in PuTTY hergestellt werden. Nach dem Verbindungsaufbau zur FRITZ!Box steht der SSH-Tunnel und der Browser kann alle Anfragen über den Proxy-Server umleiten.
Das Ganze funktioniert natürlich nur solange der SSH-Tunnel aktiv ist, d.h. solange die PuTTY-Verbindung geöffnet ist. Denkt auch daran beim Beenden von PuTTY wieder den Proxy-Eintrag im Browser zu entfernen.
Quellen
- http://www.butschek.de/2009/05/01/ssh-tunnel-proxy/
- http://www.burrotinto.de/?p=830
- http://www.planet-metax.de/html/Weblog/SSH-fuer-Fortgeschrittene-I-SSH-Tunnel/
- http://www.pc-erfahrung.de/windows/anleitungen/ssh-tunneling.html
- http://wiki.nas-portal.org/index.php/Tunneln_über_eine_SSH_Verbindung
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen
Hallo Tobias,
prima Artikel. :-) Allerdings ist nun das Jahr 2022. Der Artikel ist aus 2014. Meine 7590 FB hat den akt. FW-Stand 7.29. Kannst Du mir vllt. mitteilen, ob und falls ja, wie ich einen Proxy-Server in meiner FB installieren kann?
Problemstellung bei mir ist: Ein RDS-Host (Terminalserver) soll nur für wenige User den Zugang ins Internet (Web-Browsing) ermöglichen. Falls du eine andere, einfache Umsetzungslösung hättest … immer gerne.
Danke schonmal
VG
Thomas
Hallo Thomas,
einen “richtigen Proxy-Server” kannst du auf der FRITZ!Box nicht betreiben, dafür ist sie zu schwach. Der im Artikel geschilderte Weg ist nach wie vor möglich, nur ist die Nachrüstung eines SSH-Servers vermutlich noch schwerer.
Aber davon abgesehen ist das in deinem Fall sowieso nicht der richtige Weg. Wenn du bereits einen RDS-Host betreibst, kannst du doch direkt auf diesem Server alles notwendige einrichten!?
Viele Grüße
Tobi