Configurations du serveur et du client

Configuration du serveur

D'abord, assurez-vous que votre serveur est sécurisé. Bien que le trafic soit crypté pendant qu'il circule sur Internet, il peut être reniflé si quelqu'un a un accès root sur la machine locale et utilise un programme tel que ngrep pour renifler le trafic sur une machine locale. Par exemple, utilisée conjointement avec le programme DSniff mentionné plus haut, la commande suivante pourrait renifler tout le trafic sur le réseau d'interface locale : ngrep -d lo. Cependant, la sécurisation du serveur n'entre pas dans le cadre de cet article.

Nous utiliserons les services POP (port 110), IMAP (port 143), SMTP (port 25), VNC (Virtual Network Computing) (5901+), et NTOP (port 3000 par défaut) pour cet exemple. Tout le trafic sera redirigé vers le port respectif de chaque service sur l'hôte distant où tourne le serveur SSH. Tous les services écoutant sur l'hôte distant écoutent sur toutes les interfaces, à moins que le service soit lié à un port par défaut ou qu'il soit configuré manuellement. Pour montrer à quel point cette technique de tunnel SSH est efficace, nous n'autoriserons que des services précis à écouter sur l'interface locale.

Cependant,vous n'avez pas à changer vos configurations de sécurité courantes. Nous utiliserons tcp_wrappers, qui est installé par défaut sur RedHat 7.0 (et les versions précédentes), pour nous connecter aux services réseau. Dans le fichier /etc/hosts.deny, ajoutez la ligne suivante :

ALL : ALL

Et dans votre fichier /etc/hosts.allow ajoutez les lignes suivantes :

 sshd : ALL
   in.ftpd : 127.0.0.1
   ipop3d : 127.0.0.1
   imapd : 127.0.0.1
  

Avec ce paramétrage, sshd (le serveur SSH) autorisera les connexions depuis n'importe quelle adresse IP. Les autres services n'autorisent les connexions que depuis l'interface locale. On peut vérifier cela tout de suite en configurant un client de messagerie pour qu'il se connecte au serveur POP ou IMAP distant, et/ou un client FTP pour qu'il se connecte au serveur FTP. La connexion ne sera pas autorisée. Il faudra également paramétrer tout compte utilisateur devant avoir accès à ces services.(Note : le paramétrage ci-dessus n'est utile que si les services sont pour un usage interne uniquement, et que les utilisateurs distants ont besoin d'accéder à des services internes pour envoyer et recevoir des courriels ou transférer des fichiers. Les services peuvent être disponibles pour un usage publique et être cryptés avec SSH et MindTerm.) En vue d'une utilisation de MindTerm sur le web pour créer des tunnels ou utiliser les fonctionnalités GUI de Secure Copy, un environnement d'exécution Java (JRE) devra également être installé sur le serveur où tourne SSH.

Configuration du client

La seule configuration nécessaire pour le client est de s'assurer qu'un JRE est installé sur votre plateforme. Windows et MacOS 8 et plus ont déjà un JRE installé. Il est recommandé d'installer le JRE de Sun sur Windows. IBM a une liste des ports des JRE des différentes plateformes : http://www-105.ibm.com/developerworks/tools.nsf/dw/java-devkits-byname , ainsi que Sun : http://java.sun.com/cgi-bin/java-ports.cgi. (Vous n'avez pas besoin de tout le paquetage Java avec les débogueurs et les compilateurs, juste la machine virtuelle Java (JVM) pour lancer des applications Java.) De plus, pour le tutoriel qui suit, décompressez l'archive MindTerm, implémentation MindBright ou ISNetwork, dans c:\mindterm pour Windows.