Comment tunneliser le trafic Web à l’aide de SSH Secure Shell
Si vous êtes un utilisateur Linux ou UNIX, vous utilisez probablement SSH (Secure Shell) pour accéder à distance à la ligne de commande sur votre ordinateur. En plus de fournir un accès sécurisé aux comptes shell, SSH peut également transmettre en toute sécurité d’autres types de trafic Web. En un sens, cela vous donne un VPN (Virtual Private Network) rapide et facile dans le réseau distant où se trouve votre serveur SSH.
Tout d’abord, bien sûr, vous devez avoir un serveur SSH en cours d’exécution quelque part. Linux et OS X sont livrés avec des serveurs SSH, mais il existe également des serveurs SSH pour Windows. freeSSHd est un joli serveur SSH gratuit pour Windows. Il est rapide et facile à installer et relativement facile à configurer. Vous devez bien sûr avoir les droits d’administrateur sur la machine sur laquelle il est installé.
Puisque vous accéderez à distance à votre serveur SSH, s’il se trouve derrière un pare-feu ou un routeur, vous devez vous assurer que le port 22 (le port SSH par défaut) lui est correctement redirigé. La plupart des routeurs sont capables de rediriger des ports vers diverses machines du réseau local. Vous devez vous référer aux instructions de votre routeur/pare-feu pour savoir comment procéder.
Une fois que vous avez configuré votre serveur SSH pour pouvoir vous y connecter depuis n’importe quelle connexion Internet, vous aurez bien sûr besoin d’un client pour vous y connecter. Linux et OS X ont tous deux des clients SSH intégrés. Si vous utilisez Windows, le client de choix est PuTTY. Je donnerai des instructions sur le tunneling avec PuTTY, mais bien sûr, vous pouvez également utiliser d’autres clients.
Faire une vidéo du jour
Premier arrivé Réunion partie.choisir SSH pour Type de connexion et entrez vingt-deux pour Port (ou tout autre port Internet externe que vous utilisez pour vous connecter au serveur SSH).
Ensuite, allez à relier > SSH > tunnel. Vous pouvez configurer trois types de tunnels :
- Dynamique – Cela agit comme un proxy SOCKS et peut être utilisé pour faire passer le trafic sur le même réseau que le serveur SSH. Vous pouvez ensuite configurer des applications prenant en charge les proxys SOCKS, tels que les navigateurs Web, pour en tirer parti. Je vais vous montrer comment configurer Firefox pour qu’il fonctionne avec le tunneling dynamique.
- Local – Un tunnel local vous permettra de vous connecter à un port spécifié sur une machine sur le même réseau que le serveur SSH. Un exemple utile que je vais vous montrer est de savoir comment se connecter à un ordinateur Windows exécutant Remote Desktop.
- isolé – Comme son nom l’indique, c’est l’opposé d’un tunnel local. Il est peu probable que vous l’utilisiez, mais cela permettra aux machines du réseau du serveur SSH d’accéder aux machines et aux ports du réseau où se trouve votre client SSH. Je ne couvrirai aucun exemple de configuration de ports distants dans cet article.
Ainsi, dans l’exemple que je vais donner, nous dirons que le réseau domestique comporte deux ordinateurs. L’un est une machine Linux exécutant un serveur SSH et l’autre est une machine Windows avec Remote Desktop activé. Nous allons mettre en place deux tunnels : un tunnel dynamique et un tunnel local pour se connecter à la machine Windows via Remote Desktop.
Commençons par configurer un tunnel dynamique pour le port 1080. Le port que vous utilisez pour le tunneling dynamique est vraiment arbitraire, mais comme le port 1080 est souvent utilisé pour les proxies SOCKS, c’est ce que nous utiliserons.Tapez 1080 à port source champ, sélectionnez Dynamique comme type de port et cliquez sur Ajouter à bouton.
Ensuite, configurons un tunnel local pour l’ordinateur exécutant Windows Remote Desktop sur le réseau. Supposons que l’adresse IP locale sur le LAN où se trouve le serveur SSH est l’adresse 192.168.1.xxx. L’adresse IP locale de la machine Windows est 192.168.1.100.Entrez 3390 comme port source192.168.1.100:3389 pour destinationchoisir Local type de port et cliquez sur Ajouter à bouton. Plus tard, vous verrez pourquoi j’ai configuré le port source pour qu’il soit différent du port de destination.
Une fois que tout est configuré pour la connexion, retournez Réunion section et enregistrez votre connexion.puis clique Ouvrir et connectez-vous à votre machine Linux avec vos informations d’identification comme d’habitude.
Vous devez maintenant configurer votre application pour utiliser le tunnel que vous avez configuré. Supposons que vous souhaitiez surfer sur le Web via le tunnel dynamique que nous avons mis en place. C’est en fait un moyen très utile de tirer parti de SSH.
Vous pouvez être sur un réseau avec une sorte de pare-feu ou de filtrage de contenu que vous souhaitez contourner. Si vous êtes en mesure de passer par le port 22 (ou tout autre port, il vous suffit de configurer votre serveur SSH en conséquence), alors vous pourrez surfer n’importe où à travers le tunnel dynamique sans problème.
C’est également utile si vous naviguez sur le Web et que vous craignez que d’autres personnes observent votre trafic. Peut-être que vous vous connectez depuis un hôtel, un site client ou un travail (vous ne le saviez pas par moi) et vous ne voulez pas que d’autres surveillent votre trafic.
Votre meilleur pari est d’utiliser Firefox, car Firefox vous permet de configurer votre navigateur pour envoyer également des requêtes DNS via un proxy. Si vous utilisez Internet Explorer, vos requêtes DNS sont toujours effectuées sur le réseau local auquel vous êtes connecté et peuvent donc toujours être surveillées. Donc, si vous voulez la confidentialité sur le Web auquel vous vous connectez, Firefox est le navigateur de choix.
Pour configurer Firefox afin qu’il utilise un tunnel dynamique comme proxy SOCKS, accédez à Firefox Choix > Avancée > L’Internet et cliquez définir »¦ bouton.Sur la page Paramètres, cliquez sur Configuration manuelle du proxyEntrez localhost comme chaussettes hôteet 1080 pour Port.
Nous n’avons pas encore fini. Nous devons également configurer Firefox pour envoyer des requêtes DNS au proxy SOCKS. Pour cela, saisissez about:config dans la barre de navigation de Firefox. Vous pouvez recevoir une invite vous demandant si vous savez ce que vous faites. Assurez Firefox que vous savez ce que vous faites et passez à autre chose.
Entrez chaussettes_remote_dns filtre Appuyez ensuite sur Entrée. Vous devriez voir une option indiquant network.proxy.socks_remote_dns.si c’est vrai valeur, double-cliquez dessus pour qu’il apparaisse vrai. Tout est prêt maintenant. Vous devriez pouvoir surfer sur le Web grâce au nouveau tunnel dynamique sécurisé !
Heureusement, la connexion à notre ordinateur Windows Remote Desktop est beaucoup plus facile. Tout ce que vous avez à faire est de démarrer le client de bureau à distance et d’entrer localhost:3390 comme adresse de la machine. Il s’agit de tout ici!
La raison pour laquelle nous avons défini le port source sur 3390 est que le client Bureau à distance ne vous permettra pas de vous connecter au port Bureau à distance par défaut (3389) sur l’ordinateur local. C’est pourquoi nous utilisons 3390 (nous pouvons utiliser n’importe quel port, j’utilise simplement 3390 car il est facile à retenir).
Le port source que vous utilisez pour configurer le tunnel est arbitraire. Nous pourrions utiliser 1234 au lieu de 3390 si nous le voulions, tant que rien ne fonctionnait sur le port 1234 sur la machine locale. Ce que vous utilisez sur l’adresse IP et le port de destination n’est pas arbitraire. Pour ce faire, vous devez utiliser l’adresse IP et le port corrects pour le service auquel vous souhaitez vous connecter.
Vous pouvez créer un tunnel n’importe où pour n’importe quel service sur n’importe quelle adresse IP. Il vous suffit de configurer le programme pour qu’il se connecte à localhost sur le port source que vous avez configuré pour le tunnel. Étant donné que vous pourriez avoir des problèmes de pare-feu, c’est un très bon moyen de connecter des éléments auxquels vous ne pourrez peut-être pas vous connecter. Vous n’avez besoin que d’un port pour accéder à votre serveur SSH, et bien sûr, il doit être exécuté sur ce port.
Utilisez-vous un tunnel SSH ? Quelles choses cool faites-vous avec eux ?
Crédit image : kreg.steppe
A propos de l’auteur