Le tunnel SSH et le proxy SOCKS permettent de surfer de manière sécurisé avec un canal chiffré. Dans mon cas, j’en ai eu besoin pour contourner le hotspot de ma résidence ;). En effet, en plus du filtrage d’URL, tout les ports était bloqués sauf ceux de la navigation WEB (ports 80 et 443). J’en ai donc profité pour mettre mon serveur SSH distant sur écoute avec le port 443 (au lieu du port 22 habituel).
J’initie depuis mon LAN une connexion distante vers le port 443, le pare-feu n’y vois que du « feu » puisqu’il pense autoriser une simple connexion HTTPS vers le WAN. Je monte alors un tunnel (proxy SOCKS) et toutes les requêtes que j’initie passeront par ce port 443, avant d’être rejouer sur mon serveur SSH distant qui se chargeras lui-même d’exécuter les requêtes demandés.
Cette solution m’évite aussi de mettre en place un VPN, qui est un peu plus lourd et compliqué dans mon contexte d’utilisation.
PuTTY & navigation Internet
Ici, mon serveur SSH distant écoute sur le port 2222. On lance PuTTY et on charge d’abord la connexion SSH avec le bouton Load.
On se rend ensuite dans SSH puis Tunnels. On choisis un numéro port source qui fera office de proxy local. On monte le numéro de port à l’aide du bouton Add dans la liste des ports partagés, on choisis Dynamic et Auto. On ouvre ensuite la connexion avec le bouton Open.
Une fois la connexion SSH établis, on configure les paramètres réseaux pour pointer sur notre proxy local. Adresse localhost pour l’Hôte SOCKS sur le port 8888 pour ma part (à adapter bien évidemment suivant le numéro de port choisis). On valide.
Et voilà le tunnel SSH configuré ! En pointant sur le port de proxy local, tout le flux émis passera par le tunnel via le serveur distant.
En CLI avec Linux
$ ssh -D 8888 -C user@serveur
L’arguement -D indique le numéro de port souhaité (plage de ports 1024-65535 NORMALEMENT libre, tout ceux avant 1024 sont des ports systèmes assignés)
L’arguement -C compresse les données avant de les envoyer
On peut ensuite utiliser un add-on comme FoxyProxy pour utiliser son proxy SOCKS comme bon vous semble.
Gestion des paquets via le proxy socks
Il est également possible de forcer l’installation et la mise à jour des paquets en poussant le gestionnaire (apt, pacman..) à passer par ce proxy SOCKS. On utilise pour cela le paquetage tsocks !
$ sudo pacman -S tsocks
Pour une configuration basique, elle se fait dans /etc/tsocks
Exemple
server = 127.0.0.1 server_port = 8888 server_type = 5
La variable server_type correspond à la version de SOCKS utilisée.
On passe ensuite les différentes commandes souhaitées.
$ sudo tsocks pacman -Syy
$ sudo tsocks apt update $ sudo tsocks apt install mon_paquet