Comment bypasser un proxy ou un firewall en utilisant SSH

Comment bypasser un proxy ou un firewall grâce à SSH

Comment bypasser un proxy ou un firewall en utilisant SSH

Il arrive parfois que vous visitez un site et qu'un proxy vous bloque l'accès ou encore vous êtes connecté sur un réseau publique et que vous ne lui faites pas entièrement confiance.

Le VPN est une solution mais SSH peut facilement devenir une alternative si vous n'avez pas accès à un VPN.

Tunnel SSH

Il existe 3 différentes sorte de tunnel SSH

  • Local
  • Remote
  • Dynamique

Maintenant pour bypasser un proxy ou un firewall vous allez avoir besoin de:

  • Server SSH
  • Tunnel SSH Dynamique
  • La possibilité de modifier les configurations proxy de votre browser ou de votre application.

Configuration Serveur

Coté serveur, le service SSH doit être disponible publiquement. Il n'a pas besoin d'écouter sur le port par défaut (22).

Vous pouvez cacher votre serveur ssh derrière knock si vous voulez, ce qui ajoute une couche d'obscurité mais aussi envisager l'authentification par clé ssh serait plus sécuritaire.

Pour exposer publiquement votre serveur SSH vous devrez ouvrir votre firewall ou peut-être forwarder le port/TCP vers un serveur interne.

Si vous avez un IP dynamique, vous pouvez utiliser des services comme duckdns ou noip qui fera office de nom de domaine et c'est gratuit.

Création du tunnel

De votre client, vous devez établir la connection avec votre serveur SSH et créer un tunnel dynamique.

Pour ce faire, vous devez seulement tapper:

ssh -D 1234 <username>@<server ssh>

Si vous utilisez putty, il y a des options pour créer un tunnel

Browser / Application

Une fois le tunnel établi, dans votre browser vous devez changer votre configuration proxy pour utiliser un tunnel SOCKS qui se connect sur le port local de votre tunnel.

Une extension cool pour gérer vos proxy est foxyproxy. Vous configurez vos proxy puis vous ajoutez des url patterns pour passer par votre proxy.

Dans foxy proxy, vous créer un nouveau proxy avec les configurations suivantes:

Très important d'utiliser un proxy SOCKS v5.

Puis dans le tab URL Pattern vous ajouter l'url du site que vous voulez rejoindre:

Désormais youtube passera par votre tunnel SSH au lieu de passer par votre connection par défaut.

N'oubliez pas de choisir le bon mode de fonctionnement de foxyproxy

Si vous choississez Use proxies based on their pre-defined pattern le choix de proxy est déterminer par le tab URL Pattern que vous venez de configurer

Sinon, si vous avez plusieurs proxy de configurer vous pouvez en forcer un forcer que toutes vos connections passe par celui-là.


Information random

Vous pouvez faire écouter votre serveur ssh sur plusieurs ports en même temps. Dans sshd_config il suffit d'ajouter Port <votre port> pour que le daemon écoute sur ce port.

C'est pas impossible que l'administrateur d'où vous initiez la connection est bloquer le port 22 mais les chances que le port 8o ou 443 le soit est très mince.

Si vous n'avez pas les permissions pour modifier votre configuration proxy, vous pouvez aussi utiliser un portable browser. Vous downloadez portable chrome et vous le déposer dans un dossier où vous avez accès. Ensuite, juste à rouler le .exe. Aucune installation n'est nécessaire.

Il est aussi possible de proxifier n'importe quel application sur linux grâce à proxychains. Du coté de windows vous pouvez regarder du coté de proxyfier.