Utiliser un proxy SOCKS

Qu’est-ce qu’un proxy socks ?

Un proxy socks a la possibilité de faire transiter tous types de paquets contrairement aux proxys http/https/ftp, vous permettant ainsi de faire passer n’importe quelles applications via ce tunnel et permettant de chiffrer votre trafic sur votre réseau local et d’afficher une IP différente à la sortie.

C’est encore une méthode bien pratique pour déjouer le filtrage effectué au sein de votre réseau, à condition que le port du serveur SSH que vous souhaitez atteindre, habituellement le port 22 ne soit pas bloqué.

Une fois encore dans l’optique d’utiliser plusieurs services sur un même port, le port 443 par exemple, avec l’utilisation de SSL (https) et SSH sur celui-ci une solution existe:
http://simongoudie.com/blog/2012/06/03/sharing-port-443-between-ssl-and-ssh-using-sslh.html

Il est bien plus simple et rapide de mettre en place un proxy socks que de mettre en place un serveur OpenVPN.

Car seule une connexion SSH vers l’un de vos serveurs Linux / Windows est nécessaire.

Côté serveur:

Sous Linux Debian, en théorie rien de particulier à faire si vous avez déjà réussi à vous connectez en SSH dessus.
Sinon il sera parfois nécessaire de lancer le service: /etc/init.d/ssh start.
Voir de l’installer, se tourner alors vers openssh: apt-get install openssh-server
Si votre serveur Linux est un vps que vous louez sur un service tel que Pulseheberg, vous n’aurez rien à installer.

Sous Windows, actuellement je n’ai expérimenté qu’une seule manière pour utiliser un serveur, ordinateur Windows comme proxy socks. J’utilise pour cela le logiciel CopSSH.

Côté client:

La connexion SSH avec tunnel sous Windows, la manière simple:

Télécharger l’utilitaire « Putty » ou « Kitty », l’un  et l’autre ont des interfaces similaires ou presque, cela n’a pas d’importance.

Maintenant, renseignez vos identifiants SSH, laissez ensuite la connexion ouverte.

La connexion SSH avec tunnel sous Linux, dans un terminal utilisez la commande suivante:

A noter que Putty est aussi disponible sous Linux…

Faire passer son navigateur par le proxy SOCKS:

Se rendre dans votre navigateur favori pour lui indiquer qu’il doit utiliser le proxy SOCKS que vous venez de lancer.

J’ai l’habitude d’ajouter à Chrome et Firefox, l’extension foxyproxy  qui permet de switcher rapidement entre les différents proxys que j’utilise habituellement. Je vous encourage à faire de même car cette extension est très sympathique.

Avec Internet Explorer: Options Internet (accessible également via le menu démarrer) > Connexions > Paramètres réseau > Avancé.
Remplir la ligne Socks avec: localhost et port 9999 puis cliquez sur OK > OK >OK.

Et voilà maintenant vous pouvez vérifier en allant sur http://www.mon-ip.com/ , si vous voyez apparaître l’adresse IP de votre serveur c’est que c’est bon.

Avec Firefox:

Un clic-droit sur l’icône de Foxy-Proxy puis « Utiliser  le proxy MonProxy » vous permettra ensuite d’utiliser votre votre proxy SOCKS.

Avec Chrome:

Si vous utilisez FoxyProxy, il faudra faire un clic gauche sur l’icône de celui-ci puis aller dans Options pour ajouter votre proxy SOCKS.
Ce qui donne rapidement: Options > Add new proxy: sur cette page faire attention à bien cocher « SOCKS ». Je vous laisse remplir les champs nécessaires par vous même.

Comment aller plus loin:

Évitez la fuite de DNS, si l’anonymat est une question de vie ou de mort pour vous: https://www.libre-parcours.net/2012/09/eviter-les-fuites-..
Définition du wiki et quelques logiciels: http://fr.wikipedia.org/wiki/SOCKS
Passer les frontières du SOCKS: http://repo.hackerzvoice.net/depot_madchat/coding/c/c.rezo/socks.txt