Truc LF: Jabber et Firefox via SSH

by Laurent Richard, <laurent.richardNOSPAM/at/NOSPAMael.be>, en décembre 2006 (article #394).

Résumé:

Dans ce court article appelé aussi trucs et astuces, je vais vous montrer comment utiliser SSH pour éviter de passer par un proxy ou un firewall très (trop) exigeant. Bien sûr, le port SSH doit être non filtré.

[Illustration]

 

Introduction

Vous êtes dans un endroit où les flux Internet sont filtrés ou demandent un accès authentifié payant ou non.

Bref, vous ne voulez pas ou ne pouvez pas passer par la voie "normale".

Le port de SSH est ouvert et vous pouvez vous connecter à un serveur distant qui, lui, a un accès libre à Internet.

Je vais essayer de satisfaire votre curiosité en vous présentant comment faire transiter deux applications choisies (parmi une myriade) via un tunnel SSH :

   

Firefox

Voici la commande a taper dans un terminal de votre choix (gnome-terminal, ...) :
ssh -D 4242(port exemple) adresseduserveurdistant (IP fixe ou nom de domaine)

Ensuite, dans votre navigateur, il ne nous reste plus qu'à configurer (Paramètres avancés) proxy SOCKS5 sur localhost:4242.

Cela fonctionne bien pour Firefox, mais il faut mettre toutes les autres entrées proxy vierges, sauf celle de socks bien entendu.

Sans cela, Firefox croit qu'il a affaire avec un proxy http classique.    

Jabber

Pour Jabber, il va falloir expliquer un peu plus ;)

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

Pour expliciter un peu plus cette commande, nous créeons un tunnel SSH sur le port local (localhost) 1234 vers le port distant 4242. Ensuite, nous créons un nouveau tunnel SSH à partir du port distant 4242 (sur isiarlon donc) vers le port 5222 du serveur Jabber (ici Jabber.org).

En résumé, le port distant 4242 joue les intermédiaire entre notre ordinateur et le port de réception des flux Jabber. (Cette technique peut être exportée à d'autres protocoles).

Testons un peu cette nouvelle connexion (si elle ne fonctionne pas, on aurait l'air bête)
telnet localhost 1234

puis
GET /

Cette technique fonctionne aussi pour faire des tests http, et autres.

Le résultat devrait ressembler à ceci :
<?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.

Il ne vous reste plus qu'à configurer votre messagerie instantannée avec le serveur localhost et le port 1234.    

Conclusions

Beh, si cela marche, vous serez heureux et connecté au monde.

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

L'auteur:

[Illustration]

Laurent est licencié en sciences commerciales et financières. Passionné de logiciels libres, il participe à de nombreux projets de défense des libertés et des droits des utilisateurs par rapport aux nouvelles technologies. Il suit également un cursus pour devenir gradué en informatique mais il préfère de loin les sujets théoriques aux lignes de code. Cela ne l'empêche pas de s'intéresser en dehors de tout cela à sa fiancée, au hacking, à la sécurité informatique et à ses implications.