LF Tip: Jabber und Firefox via SSH

von Laurent Richard, <laurent.richardNOSPAM/at/NOSPAMael.be>, Dezember 2006, Artikel #394. Übersetzt von Viktor Horvath <viktor@ibiblio.org>

Zusammenfassung:

In diesem kurzen Artikel, auch Tip genannt, werde ich Ihnen zeigen, wie man SSH benutzen kann, um einen einen (zu) scharfen Proxy oder eine Firewall zu umgehen. Natürlich darf der SSH-Port nicht gefiltert sein.

[Illustration]

Einleitung

Sie befinden sich an einem Ort, wo die Internetverbindungen kontrolliert werden oder eine kostenpflichtige oder kostenlose Anmeldung erfordern.

Kurzum, Sie wollen oder können nicht den „normalen“ Weg nehmen.

Der SSH-Port ist offen und Sie können sich mit einem entfernten Server
verbinden, der über einen freien Internetzugang verfügt.

Ich werde versuchen, Ihre Neugier zu befriedigen, indem ich Ihnen zeige, wie
man zwei ausgewählte Applikationen (von einer Unzahl möglicher) durch einen
SSH-Tunnel passieren läßt:

 

Firefox

Hier der Befehl, den Sie in ein Terminal Ihrer Wahl (gnome-terminal, ...)
eintippen:

ssh -D 4242 (Beispielport) AdresseDesEntferntenServers (feste IP-Adresse oder Name)

Anschließend müssen wir in Ihrem Browser nur noch den SOCKS5-Proxy auf localhost:4242 einstellen (diese Einstellung ist womöglich gut versteckt bei „erweiterten“ Optionen).

Das funktioniert gut für Firefox, aber man muß alle anderen Proxy-Einträge
leer lassen, außer natürlich den für Socks.

Sonst glaubt Firefox, daß er es mit einem klassischen HTTP-Proxy zu tun hat.

 

Jabber

Für Jabber muß man ein bißchen mehr erklären ;)

Hier der Befehl:

ssh -L 1234:localhost:4242 -R 4242:jabber.org:5222 isiarlon.hopto.org

Um diesen Befehl etwas näher zu erläutern: Wir erzeugen einen SSH-Tunnel auf dem lokalen Port (localhost) 1234 zum entfernten Port 4242. Dann erzeugen wir einen weiteren SSH-Tunnel vom entfernten Port 4242 (also auf isiarlon) zum Port 5222 des Jabber-Servers (hier jabber.org).

Kurz gefaßt spielt der entfernte Port 4242 den Vermittler zwischen unserem Computer und dem Empfangsport der Jabber-Verbindung. (Diese Technik kann auch auf andere Protokolle angewandt werden.)

Testen wir ein wenig diese neue Verbindung (wenn sie nicht funktioniert, sehen wir dumm aus):

telnet localhost 1234

dann

GET /

Diese Technik funktioniert auch zum Testen von HTTP und anderen Protokollen.

Das Resultat sollte diesem ähneln:

<?xml version='1.0'?>
<stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' id='none'
from='jabber.org' version='1.0'> <stream:error>
<xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>
</stream:error></stream:stream>Connection closed by foreign host.

Sie müssen nur noch Ihr Instant Messaging-Programm für den Server localhost und den Port 1234 einstellen.

Fazit

Tja, wenn das klappt, werden Sie froh und mit der Welt verbunden sein.

Imagination is more important than knowledge... --- Albert Einstein

Über den Autor

[Photo of the Author]

Laurent hat eine Licence in Handels- und Finanzwissenschaften. Begeistert von Freier Software, nimmt er an zahlreichen Projekten zur Verteidigung der Freiheiten und der Rechte der Nutzer in den neuen Technologien teil. Er folgt auch einem Studiengang der Informatik, zieht aber die theoretischen Gebiete bei weitem den Codezeilen vor. Das alles hindert ihn nicht daran, sich seiner Verlobten, dem Hacking, der Informationssicherheit und ihren Folgen zu widmen.