Les tunnels SSH

Un tunnel SSH est un procédé très puissant qui permet de chiffrer toutes les communications transitant par des ports TCP. Le principe des tunnels SSH, également appelés ports forwarding, pour redirection de ports en français, est de permettre d'atteindre des machines auxquelles vous n'avez normalement pas accès. On encapsule donc des données d'un protocole réseau au sein d'un autre, situé dans la même couche du modèle en couches, ou dans une couche du niveau supérieur.

Le principe

Le SSH

Prenons comme exemple une réseau privé connecté à internet via un routeur & firewall (Image ci-dessous). Les machines C et D n'ont pas accès à internet.

Image 1

Si l'utilisateur de la machine A veut se connecter sur C, il dois se connecter sur B puis se connecter deupuis cette dernière sur C :

user@machine_A$ ssh user@machine_B   #Connexion en rouge sur l'image 1
user@machine_B$ ssh user@machine_C   #Connexion en vert sur l'image 1
user@machine_C$ 
Le port noté 123XX est atribué arbitrairement par la machine établisant la connexion.

Le cas du tunnel

Le principe d'un tunnel SSH est de faire transiter toutes ces données au travers d'un port autorisé. Le tunnel encapsule ces informations et les fait transiter sans soucis vers le serveur distant. Nous allons donc pouvoir utiliser notre tunnel comme porte de sortie du firewall et y faire circuler tout ce qui relève du protocole TCP.

warning Un tunnel peut être une TRÈS GROSSE FAILLE DE SÉCURITÉ, n'oubliez pas de le refermer à la fin de son utilisation. warning

warning Un tunnel est un moyen de contourner le firewall : son utilisation dans un réseau se dois d'être temporaire. Si vous voulez qu'un port d'une machine soit accèssible par intenet, MODIFIEZ LES RÈGLES DU FIREWALL warning

Vous êtes prévenus.