Heutzutage hat es immer öfters offene WLAN-Hotspots mit welchen man sich verbinden und somit ins Internet gelangen kann. Speziell natürlich an öffentlichen Veranstaltungen oder in Restaurants.
Eigentlich ganz nett, doch birgt auch die Gefahr mit sich, dass jeder andere Client im WLAN grundsätzlich sehr einfach den Internet-Verkehr von anderen Personen im WLAN auslesen kann. Bei unverschlüsselten Verbindungen wie HTTP/FTP/POP und IMAP ist auch das Mitschneiden von Passwörtern keine Hexerei.
Nun gibt es natürlich die Möglichkeit das Ganze mit einer VPN Verbindung zu umgehen. Doch nicht jeder hat einen VPN Server. Eine Alternative Möglichkeit ist ein SSH Tunnel, mit welchem man zumindest den gewöhnlichen Internet-Verkehr im Browser oder FTP-Programm sicher tunneln kann.
Unter Windows kann man sich ein solches Tunnel mit PuTTY einrichten. Dazu erstellt man in PuTTY ein neues Profil und gibt zuerst die gewöhnlichen SSH-Zugangsdaten (Server, User, …) ein. Nun in der linken Sidebar im Menü “Connection -SSH – Tunnels” wird nun der entscheidende Eintrag gemacht.
Im Textfeld “Source port” wählt man einen freien Port auf welchem der Proxy-Server hören soll. Beispielsweise 12345. Dann wählt man zusätzlich die beiden Buttons Dynamic sowie Auto an.
Nun ist das Profil soweit eingerichtet, dass man es speichern und die Verbindung aufbauen kann. Hat dies funktioniert sollte sich nun eine normale SSH-Session öffnen, welche man nicht schliessen darf.
Im Browser (und in den anderen Anwendungen, welche man tunneln möchte) muss man nun den soeben erstellten “Proxy”-Server eingeben.
Im Firefox beispielsweise unter den “Einstellungen – Netzwerk – Einstellungen”. Da trägt man im Feld SOCKS-Host localhost sowie den im Putty unter “Source port” gewählten Port ein.
Jetzt kann man bereits sicher über das SSH-Tunnel surfen. Um zu überprüfen ob der Tunnel auch richtig funktioniert, reicht es einen Webdienst wie WhatsMyIP aufzurufen. Zeigt dieser nun die IP des SSH-Servers an hat es funktioniert.
Wichtiger Unterschied zu einer VPN Verbindung: Es wird zwar der Datenverkehr in den Applikationen durch das SSH Tunnel durchgeschleust in welchen man den Proxy definiert hat, die DNS-Anfragen gelangen jedoch auf dem gewöhnlichen Weg ins Internet. Wenn man also nicht möcht, dass andere mitschneiden können auf welchen Seiten man surft eignet sich ein SSH-Tunnel nicht. Die DNS-Abfragen im Firefox lassen sich jedoch auch über das Tunnel leiten. Siehe Kommentar von Sebastian.
Zudem bringt so ein SSH Tunnel nur dann was, wenn man dem Netzwerk vertraut, in welchem der SSH-Server stationiert ist. Denn auf dieser Seite kann ja auch wieder der Datenverkehr mitgeschnitten werden.
Ich bin aber so völlig zufrieden. Möchte nur nicht, dass jemand in einem öffentlichen WLAN meine Zugangsdaten zu Blog und Ähnlichem auslesen können.
Falls sich jemand dafür interessiert: Unter Linux, beispielsweise Ubuntu geht das Ganze noch ein wenig einfacher. Dazu reicht ein einfaches Shell-Script welches man sich beispielsweise in den Autostart legen kann.
In den Autostart kann man es auch unter Windows kopieren. Dazu habe ich schon einen Beitrag geschrieben.
Wer von euch verwendet eine VPN-Verbindung oder einen SSH-Tunnel um in öffentlichen WLANs dennoch sicherer surfen zu können?

Zu dem DNS Traffic gibt es im Firefox über about:config nen schönen Parameter. network.proxy.socks_remote_dns auf true setzen. Wenn Socks5 genutzt wird, werden die DNS Anfragen vom Firefox dann auch über den Tunnel übertragen. Bei System Dns Abfragen, bzw von anderen Programmen funktioniert das dann natürluich nicht, außer die können den Proxy auch nutzen.
Danke für den Tipp @Sebastian! Das war mir bis jetzt nicht bekannt. Dann ist auch das Problem gelöst. Zumindest im Browser.
Ich verwende in öffentlichen WLAN’s eigentlich immer einen WebProxy. Das funktioniert natürlich nur für HTTP/HTTPS, dafür braucht man keinen SSH-Tunnel einrichten. Man muss halt aufpassen, dass man einen WeProxy mit SSL Verschlüsselung verwendet. Der DNS Traffic wird aber trotzdem nicht unverschlüsselt.
Da ich eher selten in öffentlichen WLAN’s surfe, reicht das für mich vollkommen aus.
Ich aktualisiere übrigens in meinem Blog regelmäßig eine Liste mit kostenlosen WebProxy Servern: http://www.root-on-fire.com/web-proxy-liste/
Ich würde dafür in keinem Fall einen WebProxy verwenden. Da habe ich keine Gewissheit was hinter dem Proxy mit meinen Daten gemacht wird.
Zudem sind die Anbieter dahinter oft anonym oder nicht wirklich vertrauenswürdig.
@Jeffrey: Da hast du natürlich recht, man weiß nie genau was mit den Daten passiert. Allerdings gibt es auch große kommerzielle Anbieter, die ihre WebProxy Dienste mit gewissen Einschränkungen auch kostenlos anbieten. Muss jeder selber wissen wie vertrauenswürdig diese sind.
Ich habe noch ein Webhosting-Paket mit etwas Speicherplatz und dort habe ich ein WebProxy Script für mich abgelegt. Das funktioniert soweit ganz gut, wird von den meisten Anbietern nicht gerne gesehen.
Das mit dem SSH Tunnel ist immer wieder ein Hit, wenn der Admin den gerade benötigten Port blockiert und man sich nicht gleich komplett unbeliebt machen will, indem man jenem das Netzwerk zerlegt :)