Folgende Motivationen können es veranlassen “sicher” zu surfen:

  • auf einem Shared PC sollen wichtige Daten abgerufen werden (z.B. Online Banking)
  • der Internet-Provider blockt einige Inhalte im Internet (gängige Praxis in China, UAE oder Saudi Arabien)
  • es soll nicht ohne weiteres nachvollziehbar sein (z.B. beim Arbeitgeber), welche Inhalte abgerufen worden sind

Lösung:
Die einfachste Lösung ist das Surfen über einen abgesicherten Proxy, dem man selbst vertraut. Hier möchte ich die Möglichkeit vorstellen, wie unter Windows ein SSH-Tunnel eingerichtet werden kann.

Vorraussetzungen

  • PuTTY auf dem lokalen Rechner
  • einen Remote Host, auf dem OpenSSH läuft (beispielsweise ein Linux-Rechner zu Hause)

Anleitung

  1. PuTTY-Session erstellen
    Zuerst PuTTY ausführen und eine neue Session erstellen, wobei der Hostname, der Port (normalerweise 22) und die Option SSH angegeben werden.

    Putty00

  2. SSH-Tunnel einrichten
    Links auf Tunnels klicken und einen dynamischen weitergeleiteten lokalen Port (z.B. 7777) erstellen, indem unter “add new forwarded port” die Portnummer 7777 eingegeben wird, destination leer gelassen wird und auto sowie dynamic ausgewählt werden. Nach dem Hinzufügen sollte der Port unter forwarded Ports als D7070 aufgelistet werden.

    Putty02

    Damit ist der SSH-Tunnel eingerichtet. Die Session muß nun noch gespeichert werden!

  3. Kompression und Keep-Alive aktivieren
    Damit das Surfen einigermaßen performant ist (Kompression der Daten) und die Verbindung dauerhaft aufrecht erhalten wird, empfiehlt es sich folgende Optionen zu aktivieren.

    Putty01

    Putty03

    Wieder muß die Session gespeichert werden!

  4. Verbindung zum SSH-Host herstellen
    Die Verbindung wird nun durch einen Doppelklick auf Session hergestellt. Nach Aufforderung müssen Benutzername und Passwort eingegeben werden.
  5. Browser einrichten
    Im Beispiel wird der Browser Firefox verwendet. Unter Tools, Options, General und Connection Settings.. muss eine manuelle Proxy Einstellung vorgenommen werden, wobei alle Felder leer sein muessen, bzw. unter Socks Host 127.0.0.1 mit dem Port 7777 eingeben werden muss.

    Firefox Connection settings

  6. Fertig
    Das ist alles. Von nun an wird der Verkehr über einen sicheren Kanal (einen SSH-Tunnel) zu dem Remote Host geleitet.

Zusammenfassung

  • die Verbindung ist nur zwischen lokalem Rechner und Remote Host abgesichert, nicht von Remote Host in das Internet
  • Die DNS-Abfragen werden weiterhin über das unsichere Netzwerk abgewickelt. Dadurch können Seiten, die besucht werden nach wie vor protokolliert werden! Soll auch dies verhindert werden und DNS-Anfragen über das sichere Netzwerk abgewickelt werden, kann das im Firefox auf folgende Weise gemacht werden: Durch Aufruf der about:config Seite kann die Einstellung network.proxy.socks_remote_dns auf true gesetzt werden.
  • Es gibt portable Versionen von Firefox und Thunderbird, welche zusammen mit PuTTY auf einem USB-Stick geladen werden können. Dann wird die ganze Sache mit Shared-Rechnern sehr interessant.
  • Unter Linux oder unter anderen Betriebssystemen mit OpenSSH-Client kann der abgesicherte Tunnel auch durch folgende Anweisung erreicht werden: ssh -D 7777 username@ssh.ralf-eisenreich.de
  • Um zu kontrollieren ob die Einrichtung funktioniert hat, kann man beispielsweise im Firefox alle Proxy-Verbindungen auf den Socks-Proxy stellen, danach eine Webseite aufrufen, Putty beenden und sehen, ob die Verbindung noch funktioniert. Bricht die Verbindung ab, hat alles funktioniert.
  • Anmerkung von Martin: damit PuTTY keine Registry-Einträge vornimmt kann die modifiziere Version portAPuTTY verwendet werden.