Manuel de configuration pour effectuer un tunnel SSH avec WinSCP sous Windows
Lorsque nous voulons nous connecter à un serveur distant accessible uniquement via le réseau local (LAN), l’une des techniques les plus utilisées consiste à utiliser un tunnel SSH contre un serveur accessible via Internet. En effectuant la technique de tunneling SSH, ou également connue sous le nom de «tunnel SSH», nous pourrons d’abord nous connecter au serveur SSH accessible, pour ensuite «sauter» à l’autre serveur qui n’est accessible que via le réseau local. Ce tunnel SSH servirait également à naviguer sur Internet en toute sécurité, si nous nous connectons à des réseaux sans fil non fiables tels que les réseaux WiFi des hôtels, des aéroports, etc.
Imaginons que nous ayons un serveur SSH situé dans le routeur lui-même ou dans un serveur sur le LAN, dans ce second cas, nous devons faire le populaire «port forwarding» ou «Port forwarding» sur le routeur, car normalement nous serons derrière le NAT dans notre maison ou notre entreprise. Une fois que nous nous sommes connectés au serveur SSH du routeur, ou à un serveur avec le port SSH ouvert (peu importe s’il s’agit du port par défaut, 22, ou tout autre, l’important est qu’il soit accessible via Internet) , nous pouvons nous connecter au deuxième serveur SSH qui n’est d’abord accessible que via le réseau local. Cela nous permettra d’accéder indirectement au serveur SCP ou SFTP basé sur SSH.
Dans le schéma suivant, vous pouvez voir comment ce réseau serait installé que nous commentons :
- L’utilisateur essaie de se connecter au SERVEUR 2 (IP : 192.168.1.3 et port 22 ouvert localement). Cette connexion ne peut pas être établie car nous n’avons pas de port ouvert vers ce serveur, c’est-à-dire qu’il n’est accessible que via le réseau local. Si ce serveur 2 dispose d’un pare-feu empêchant toute connexion à l’exception des connexions IP du réseau local, nous pourrions également nous connecter.
- En utilisant le SERVEUR 1, qui a accès à Internet, et auquel nous pouvons nous connecter via SSH car le routeur a un port ouvert, et le propre pare-feu du serveur 1 le permet, nous établirons un tunnel SSH pour nous connecter ultérieurement au SERVEUR 2 comme s’il étaient accessibles depuis Internet. Au lieu de tout faire en une seule connexion, nous utiliserons deux connexions SSH.
Cette architecture pourrait également se produire si le routeur intègre un serveur SSH, dans ce cas nous n’aurions pas besoin du SERVEUR 1 comme «passerelle», car le routeur lui-même agira comme une «passerelle» car il est au sein du réseau local du même serveur 2 auquel nous voulons nous connecter. .
Pour réaliser cette technique de tunneling SSH, nous allons utiliser un programme Windows appelé WinSCP, bien que nous puissions également utiliser le populaire Putty pour faire de même, mais vous avez déjà un tutoriel complet sur RedesZone à ce sujet. Un détail important est que Putty a des options plus avancées, comme, par exemple, plusieurs sauts SSH jusqu’à ce que nous atteignions notre objectif, WinSCP n’autorise qu’un seul saut, mais il nous servira dans la grande majorité des cas où nous n’aurons qu’à «pivoter» une seule fois et non plusieurs.
La première chose que nous devons faire est de télécharger WinSCP depuis le site officiel , ce logiciel est entièrement gratuit et possède une interface utilisateur graphique très conviviale. Un détail très important est que la langue WinSCP peut être définie en anglais et également en espagnol. Nous l’avons mis en espagnol pour que vous puissiez voir à quel point il est facile de configurer un nouveau serveur SSH / SFTP / FTP avec le programme et comment faire facilement un tunnel SSH.
Les autres caractéristiques de ce programme sont qu’il nous permettra de transférer des fichiers de manière totalement graphique via SFTP et SCP, ce qui en fait une très bonne alternative aux commandes de terminal typiques.
Dans le menu principal, nous pouvons voir tous les profils de « Connexion » que nous avons enregistrés précédemment, nous pouvons utiliser différents protocoles tels que SFTP, SCP, FTP, WebDAV et Amazon S3. Ici, nous devrons entrer l’adresse IP (l’adresse IP privée du serveur 2 dans le schéma) ainsi que le port, et aussi l’authentification avec nom d’utilisateur / mot de passe ou avec des clés SSH. Afin d’effectuer le Tunneling SSH et de se connecter à un serveur distant, il faut cliquer sur « Avancé… » pour avoir accès à des options de configuration supplémentaires.
Dans la section » Connexion / Tunnel » nous devrons configurer l’accès au serveur SSH accessible, c’est-à-dire au SERVEUR 1 dans notre architecture réseau. Nous devons entrer l’adresse IP publique du serveur distant ainsi que le port, le nom d’utilisateur et le mot de passe. WinSCP permet la connexion via une clé privée RSA / DSA, nous aurons donc également cette option disponible.
Remarque : Si nous nous connectons au SERVEUR 1 et qu’il fait office de passerelle, nous devons saisir une IP privée, celle de la passerelle elle-même.
Une fois que nous avons saisi les données, nous devons cliquer sur « Accepter » pour utiliser cette connexion ultérieurement.
Une fois que nous avons rempli ce qui précède, dans la section «Sessions», nous double-cliquons sur le profil que nous avons précédemment enregistré pour le charger en tant que connexion de premier saut. Dans l’écran de session, nous entrerons l’adresse IP, le port et les identifiants d’accès au SERVEUR 2. Lors d’une connexion via le SERVEUR 1, nous pourrons mettre une adresse privée sans problème, c’est-à-dire que nous pourrons mettre 192.168. 1.3 qui correspond au SERVEUR 2 au sein du réseau local auquel nous avons accédé.
Une fois que tout est rempli, cliquez sur «Connecter» et nous nous connecterons au SERVEUR 2 via la connexion SSH du SERVEUR 1. Dans la capture d’écran suivante du journal de connexion, les aspects suivants peuvent être vérifiés :
- On ouvre le tunnel et on s’authentifie correctement sur le serveur SSH du SERVEUR 1.
- Une fois le tunnel vers le SERVEUR 1 établi, nous nous connectons au SERVICE 2, qui dans le cas de l’exemple a une adresse IP privée de 10.10.2.14 mais qui pourrait être parfaitement 192.168.1.3 du SERVEUR 2. Comme vous pouvez le voir, nous avons utilisé une IP privée car une fois le tunnel créé, c’est comme si nous étions dans le réseau local lui-même.
Jusqu’à présent, nous avons fourni notre manuel sur la façon de créer un tunnel SSH avec WinSCP pour accéder à des serveurs distants qui ne seraient pas accessibles via Internet, mais qui sont accessibles via le réseau local lui-même. Cette technique est largement utilisée car elle va nous permettre de «pivoter» sur un serveur d’administration qui est fortement protégé, et plus tard de se connecter aux serveurs internes de l’organisation facilement et rapidement, ceci est couramment utilisé dans les entreprises pour protéger l’ensemble de l’infrastructure interne, toujours en veillant à ce que le serveur exposé intègre tout le nécessaire pour avoir une sécurité maximale comme un pare-feu, IDS / IPS, un système de journalisation complet pour voir et détecter tout événement lié à la sécurité, etc.