Outrepassez un proxy & surfez sécurisé.

Ce billet relève plus du pense-bête que de l’how-to, mais quitte à être écrit, autant qu’il soit partagé.

Contextes :

  • Vous êtes sur un réseau public (hôtel, bar, … ) et vous voulez crypter vos communications sur la toile afin qu’elles ne soit pas sniffées.
  • Vous êtes en entreprise, ou sur un quelconque réseau dont le contenu web est filtré par un proxy. Vous allez pouvoir outre passer le proxy avec la méthode qui suit.

Ce qu’on à besoin :

  • Un Serveur SSH, qui fera office de proxy de type SOCKS, à votre domicile et accessible depuis l’extérieur.
  • Un pc distant depuis lequel nous voulons sécuriser la navigation web.

Ce qu’on va faire :

Nous allons créer un tunnel crypté grâce à SSH (tunneling) de la machine distante jusqu’au serveur SSH qui est au chaud à la maison. Ainsi, toutes les communications du réseau local, où vous êtes connecté, jusqu’à chez vous seront cryptées.

Tunnel SSH

1. Configurer le serveur SSH :

Il n’y a pas grand chose à faire côté serveur. Accessoirement, vous pouvez changer le port, j’ai une petite préférence pour 443, souvent ouvert et inutilisé dans le cas ou les ports sont filtrés en sortie.

$ sudo vim /etc/ssh/sshd_config

Et modifiez la ligne « port 22″ pour y mettre celui que vous souhaitez.

2. Création du tunnel de votre pc distant àvotre serveur chez vous :

Sous Mac ou Linux

dans un shell tapez la commande suivante :

$ ssh -D 9999 user@ip_serveur_ssh -f -N -p 443

Mettez « -p mon_port » si vous avez modifier le port du serveur SSH. Si vous avez laissé le port par défaut, ce paramêtre est inutile.

« -f » permet de lancer le tunnel en tache de fond.

« -N » empêche l’exécution de commandes distantes. Ici, on ne fait que de la redirection de ports.

Sous Windows

Je ne peux que vous recommander ces deux excellents utlitaires : Putty & PLink.

3. Modifier les paramètres du navigateur :

Pour que le contenu du navigateur transite par le tunnel SSH, il faut modifier les paramètres proxy, et y mettre les informations suivantes dans le champs « Proxy SOCKS v5″ :

  • Adresse : 127.0.0.1
  • Port : 9999

Exemple sous firefox 3 :

Allez dans le menu Préférences / Avancé / Réseau /Bouton « Paramètres »

capture-parametres-de-connexion2

Maintenant que tout est en place, toutes vos communication web sont cryptées. De plus, les sites web bloqués par le proxy sont désormais accessibles.

Je vous recommande chaudement le plugin Firefox FoxyProxy. Il permet de switcher aisément d’un proxy à un autre grâce à un petit menu dans la barre d’état du navigateur.

[EDIT]

Monolith précise une astuce supplémentaire pour Firefox. Même si les flux sont cryptés, les requêtes DNS transitent toujours en clair. Pour chiffrer les requêtes DNS, tapez dans votre barre d’adresse « about:config » :

capture-aboutconfig-mozilla-firefox

Modifier la valeur de l’option « network.proxy.socks_remote_dns » pour la mettre à « True« .

Sous FoxyProxy :

Allez dans « Paramètres généraux » et cochez l’option « Utiliser un proxy SOCKS pour les résolutions DNS »

[/EDIT]

Une réponse à “Outrepassez un proxy & surfez sécurisé.”

  1. C’est en effet un bon moyen de chiffrer ses flux, par contre les requêtes DNS sont tout de même effectuées localement. Elles sont donc encore visibles sur le réseau, ce qui peut par exemple empêcher de passer outre un système tel qu’OpenDNS.

    Ceci peut être corrigé en modifiant un paramètre de Firefox : dans un nouvel onglet, taper about :config, filtrer l’affichage en tapant dns. L’option intitulée « network.proxy.socks_remote_dns » doit être à « true » pour que le navigateur effectue les requêtes DNS via le proxy.
    Ou alors, si vous utilisez FoxyProxy, il faut se rendre dans les options du module et cocher la case « Utiliser un proxy SOCKS pour les résolutions DNS » dans l’onglet « Paramètres généraux ».

Laisser une réponse