Aller au contenu

Le Tunneling SSH : Sécuriser ses flux de données


Soulalex
 Share

Recommended Posts

114713tunnelingssh.jpg

 

Dans la plupart des cas, on se  sert uniquement de SSH pour gérer une machine Linux à distance mais le SSH réserve quelques secrets et notamment le Tunneling SSH, une notion un peu plus avancée que ce que nous avons l'habitude de faire avec le SSH mais reste néanmoins très pratique quand l'on sait l'utiliser correctement.

 

 

1. Qu'est-ce que le « Tunneling SSH » ?


Le Tunneling SSH est un simple « tunnel » qui va être créé entre une machine et un utilisateur au même titre qu'une simple connexion SSH avoir la main sur une machine distante. Or nous allons utiliser ce « tunnel » pour faire passer des flux de données de manière totalement sécurisée ce qui peut éviter de passer par le SSL.

Mais il existe tout de même des contraintes. En effet, un défaut de configuration sur votre serveur SSH et un utilisateur mal intentionné pourrait accéder à votre machine et en prendre le contrôle total.

 

253864.png

 

 

2. Mise en place d'un « Tunneling SSH »


1. Installation du daemon SSH

Il vous faut obligatoirement un daemon SSH installé sur la machine distante. Pour tout savoir à ce sujet consultez ce sujet : Connexion à distance via SSH

sudo apt-get install openssh-server

 

2. Etablir une connexion sécurisée

  • Sous Linux :

Rien de très compliqué, là encore notre ami le terminal est notre ami avec une simple commande :

ssh -f user@server -L 2500:localhost:80 –N

Ici, j’établie une connexion SSH sur la machine « server » avec l’utilisateur « user » et je créé un tunnel SSH sur le port 2500 de mon ordinateur pointant sur le port 80 de la machine distante elle-même.

Les options utilisées dans cette commande :

  • -f : Permet de mettre la session SSH en tâche de fond pour ne pas gêner.

  • -L : Initialise le tunnel SSH et son argument aura toujours la forme suivante : « port local : adresse IP de la cible : port de la cible ».

  • -N : « Do not execute a remote command ».

 

  • Avec putty :

Dans putty, vous devez ajouter un tunnel dans « Connection > SSH > Tunnels ». Dans la case « Source port », entrez un port libre de votre ordinateur et dans la case « Destination », entrez l’adresse IP de la cible suivit du port à écouter (127.0.0.1 :80 pour une connexion sur la machine distante sur le port 80).

Ensuite, connectez-vous normalement avec vos identifiants pour établir une connexion SSH avec la machine distante.

 

Dès lors que votre connexion SSH est établie, vous pouvez accéder au flux de données sécurisé transitant dans le tunnel SSH. Dans le cas d’un flux http, dans votre navigateur, il vous suffit d’entrer 127.0.0.1 suivit du port source (127.0.0.1 :2500) pour accéder à votre site web de manière totalement sécurisée.

 

ssh-linux-23.jpg

© IT-Connect

 

 

3. Quelques schémas d'une utilisation du « Tunneling SSH »


tunneling-ssh-05.jpg

© IT-Connect

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Vous avez collé du contenu avec mise en forme.   Supprimer la mise en forme

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Chargement
 Share

×
×
  • Créer...