10.4. Beaucoup plus qu'un shell sécurisé
Une interface sécurisée en ligne de commandes n'est qu'une utilisation parmi tant d'autres, de SSH. En ayant la quantité nécessaire de bande passante, les sessions X11 peuvent être dirigées sur un canal SSH. Sinon, en utilisant la retransmission TCP/IP, les connexions par port entre les systèmes, considérées auparavant comme étant non-sécurisées, peuvent être mappées à des canaux SSH spécifiques.
10.4.1. Transfert X11
Pour ouvrir une session X11 sur une connexion SSH, utiliser une commande qui ressemble à ceci :
ssh -Y nom d'utilisateur@nom d'hôte
Ainsi, pour vous connecter à une machine distante nommée
penguin.example.com
, avec USER
comme nom d'utilisateur, saisissez ce qui suit :
~]$ ssh -Y USER@penguin.example.com
mot de passe de USER@penguin.example.com :
Lorsqu'un programme X est exécuté à partir d'une invite du shell sécurisée, le client et le serveur SSH créent un nouveau canal sécurisé et les données du programme X sont ensuite envoyées à l'ordinateur client via ce canal d'une manière transparente.
Notez que le système X Window doit être installé sur le système distant avant que la transmission X11 puisse avoir lieu. Saisir la commande suivante en tant qu'utilisateur
root
pour installer le groupe de packages X11 :
~]# yum group install "X Window System"
Pour obtenir plus d'informations sur les groupes de packages, voir Section 8.3, « Utiliser des groupes de paquets ».
Le transfert X11 peut être très utile. Par exemple, le transfert X11 peut être utilisé pour créer une session interactive, sécurisée de l'utilitaire Print Settings. Pour cela, connectez-vous au serveur en utilisant ssh et saisissez :
~]$ system-config-printer &
L'outil Print Settings apparaîtra, permettant à l'utilisateur distant de configurer l'impression sur le système distant en toute sécurité.
10.4.2. Réacheminement de port
SSH peut sécuriser les protocoles
TCP/IP
normalement non sécurisés par le réacheminement de port. Quand vous utilisez cette technique, le serveur SSH fait figure de conduit crypté vers le client SSH.
La redirection de port fonctionne en mappant un port local du client à un port distant sur le serveur. SSH peut mapper n'importe quel port du serveur sur un port de client. Les numéros de port n'ont pas besoin de correspondre pour cette façon de travailler.
Note
Pour configurer la retransmission de port de manière à ce qu'elle écoute sur les ports inférieurs à 1024, il est nécessaire d'avoir un accès de niveau super-utilisateur (ou root)
root
.
Pour créer un canal de réacheminement de port TCP/IP qui écoute les connexions sur le
localhost
, utiliser une commande de la forme suivante :
ssh -L port-local:nom d'hôte distant:port-distant nom d'utilisateur@nom d'hôte
Ainsi, pour vérifier un email sur un serveur nommé
mail.example.com
qui utilise POP3
par l'intermédiaire d'une connexion cryptée, utiliser la commande suivante :
~]$ ssh -L 1100:mail.example.com:110 mail.example.com
Une fois que le canal de réacheminement de port est mis en place entre la machine cliente et le serveur de messagerie, envoyez un mail client POP3 pour utiliser le port
1100
sur le localhost
pour vérifier s'il y a de nouveaux messages. Toutes les requêtes envoyées au port 1100
sur le système client seront redirigées en toute sécurité vers le serveur mail.example.com
.
Si
mail.example.com
n'exécute pas sur un serveur SSH, mais qu'une autre machine le fasse sur le même réseau, SSH peut toujours être utilisé pour sécuriser une partie de la connexion. Cependant, il vous faudra une commande légèrement différente :
~]$ ssh -L 1100:mail.example.com:110 other.example.com
Dans cet exemple, les demandes POP3 du port
1100
de la machine cliente sont transmises via la connexion SSH sur le port 22
au serveur SSH, other.example.com
. Ensuite, other.example.com
se connectera au port 110
sur mail.exemple.com
pour vérifier les nouveaux messages. Notez que lorsque vous utilisez cette technique, seule la connexion entre le système client et le serveur SSH other.example.com
est sûre.
Le réacheminement de port peut également être utilisé pour obtenir des informations en toute sécurité à travers les pare-feu de réseau. Si le pare-feu est configuré pour autoriser le trafic SSH via son port standard (c'est-à-dire le port 22) mais bloque l'accès aux autres ports, une connexion entre deux hôtes utilisant les ports bloqués est toujours possible si on réoriente leur communication par une connexion SSH établie.
Important
L'utilisation de la fonctionnalité de réacheminement de port pour transférer des connexions de cette façon permet à tout utilisateur du système client de se connecter à ce service. Si le système client est compromis, les pirates auront également accès aux services retransmis.
Les administrateurs de système qui s'inquiètent de la fonctionnalité de réacheminement de port peut désactiver cette fonctionnalité sur le serveur en spécifiant un paramètre
No
sur la ligne AllowTcpForwarding
dans /etc/ssh/sshd_config
et redémarrer le service sshd
.