En fait ssh ou Secure SHell, propose un shell sécurisé pour les connexions à
distance et se présente dans ce domaine comme le standard "de fait".
Mais ce n'est pas que cela. Nous allons essayer de voir quelques modes
d'utilisation de ce produit.
Dans une transaction traditionnelle, un client (personne ou programme) émet
une requête TCP vers un serveur. Il y a un processus serveur utilisant un port
et un processus client utilisant également un port. Par exemple pop3. Il y a
donc un processus serveur et un processus client.
Avec ssh, il sera possible d'établir un tunnel crypté (ou chiffré) entre le
client et le serveur.
Il faut bien comprendre ce dont il s'agit et les processus mis en oeuvre.
Sur la machine serveur vous allez avoir 2 processus serveurs. Le serveur
pop3 et le serveur SSH. Sur le client, vous allez également avoir 2 processus.
Le client pop3 et le client ssh. Le client pop3 se connecte au tunnel (le
client ssh local). Le serveur pop3, est relié au serveur ssh distant. Les
transactions passent dans le tunnel.
Le client ssh devient un serveur mandataire (proxy) pour le protocole
tunnelé. Le serveur ssh devient le client proxy pour le serveur.
Sur le diagramme, le canal entre le port tcp de l'application cliente et le
port client du tunnel n'est pas chiffré. Il en est de même entre le port tcp de
l'application serveur et le port serveur du tunnel. Seul, le canal entre les 2
ports du tunnel est chiffré.
L'application cliente n'utilise plus le port par défaut qu'écoute
normalement le serveur.
L'utilisation d'un tunnel ssh impose des contraintes. Par exemple, dans
l'exemple ci-dessus, si vous voulez utiliser l'application cliente avec un
autre serveur, il faudra recréer un autre tunnel et reconfigurer le client.
Vous pouvez créer deux tunnels différents, mais vous devrez avoir deux
applications clientes utilisant des ports différents. Tout cela convient bien
sur des environnements simples, mais reste un peu contraignant si
l'environnement est complexe.
Pour tunneler un réseau ou de multiples clients, le mieux est d'installer un
serveur ssh capable de recevoir plusieurs connexions et servant ainsi de
serveur proxy aux clients du réseau pour un service donné et routant les
requêtes dans un tunnel sécurisé vers le serveur d'application concerné.
L'objectif est de pouvoir supprimer d'un serveur toute application utilisant
des protocoles "non sûrs" (ftp, telnet, rsh...), pour les remplacer
par des applications plus sûres, ou alors, s'il n'est pas possible de les
désactiver, de les faire passer dans un tunnel crypté.
Des programmes de la même famille comme "scp" ou "sftp"
remplacent les commandes ftp ou rcp.
Avec ssh la totalité de la transaction entre un client et le serveur est
cryptée. Le client a la possibilité d'utiliser des applications X distantes
(X11 forwarding) à partir d'une invite shell dans un environnement sécurisé. On
se sert également de SSH pour sécuriser des transactions non sûres comme pop3
ou imap par exemple. De plus en plus, ces applications supportent maintenant
SSL aussi bien pour les clients que pour les serveurs.
SSH sur GNU/Linux est généralement composé de 3 packages :
OpenSSH général, (openssh),
le serveur OpenSSH (openssh-server)
le client (openssh-clients).Les packages OpenSSH requièrent le paquetage OpenSSL (openssl).
Chaque fois que cela est possible vous devez utiliser une solution qui chiffre vos transactions.
Pour en savoir plus, téléchargez le cours depuis ces liens :
Télécharger - ou - Télécharger
0 commentaires:
Enregistrer un commentaire