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

Die Technik sollte nicht dafür benutzt werden, um in Firmen- oder Uninetzwerken die Firewall zu umgehen. Der unbefugte Einsatz kann ohne weiteres zu einer Abmahnung oder gar einer Kündigung führen. Ich übernehme keine Haftung.

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

Tobi

Hallo, mein Name ist Tobias und ich habe diesen Blog im April 2009 ins Leben gerufen. Seitdem blogge ich hier über Software, Internet, Windows und andere Themen, die mich interessieren. SSDblog ist mein zweiter Blog, indem es rund um das Thema SSDs geht. Ich würde mich freuen, wenn ihr meinen Feed abonniert oder mir auf Twitter, Facebook, Google+ und Google+ (privat) folgt.

Schreibe einen Kommentar

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