Catégories
Devops

Tunnel SOCKS5 par SSH

Protocole et utilité

SOCKS5 (détail du protocole) est un protocole réseau qui permet à une application authentifiée (comme un navigateur web, mais pas uniquement) de rebondir sur un proxy SOCKS pour par exemple cacher son adresse IP, ou accéder à des resources du web filtrées pour son adresse IP source.

Pour exploiter ce protocole, il est possible d’utiliser:

  • un serveur SOCKS dédié tel que Dante, SS5, Delegate ou Srelay
  • mais plus simplement il suffit d’utiliser un serveur SSH sous Linux tel qu’OpenSSH qui supporte SOCKS depuis des années et qui présente l’avantage de créer un tunnel (1 2) crypté ce qui anonymise le flux entre votre client SSH et le serveur SOCKS (serveur SSH)

Cela représente une très bonne alternative à la mise en place d’un VPN (qui va nous transférer sur le réseau cible) si votre seul objectif est de naviguer sur le web.

Procédure

  1. Ouvrir un tunnel SSH en Dynamic Port Forwarding (option dans la  section Tunnels de Putty) en spécifiant un port à utiliser en local
  2. Utiliser ce port dans le navigateur (ou l’application cliente)

Clients

Firefox

Dans les options, renseigner localhost ainsi que le port définit pour le tunnel ssh dans Configuration manuelle du proxy, champs Hôte SOCKS

Chrome

Utiliser l’extension Proxy Helper ou lancer chrome avec l’argument proxy-server

« C:\Program Files (x86)\Google\Chrome\Application\chrome.exe » –proxy-server= »socks5://127.0.0.1:1337″