Partie6-Implémenter L'accès Sécurisé Au Serveur-SSH
Partie6-Implémenter L'accès Sécurisé Au Serveur-SSH
Partie6-Implémenter L'accès Sécurisé Au Serveur-SSH
Serveur SSH
1
Présentation de SSH et Telnet.
• Pour accéder à un serveur à distance on peut utiliser plusieurs moyens :
– telnet
– Ssh
– VPN
– …
• Telnet
– Permet de se connecter à distance à un serveur sur le port tcp 23.
– Sur un système linux, le serveur telnetd est désactivé par défaut. Son
activation se fait via inetd ou xinetd.
– Toutes les données transmises par telnet entre un client et un serveur se font
en clair. Il est conseillé même en intranet d’utiliser à la place ssh.
• SSH
– SSH (Secure Shell) est un protocole Permet de se connecter à distance à un
serveur sur le port tcp 22.
– contrairement à Telnet, SSH crypte la session de connexion et empêche ainsi
tout agresseur de recueillir des mots de passe.
2
Rappel sur le cryptage
3
Rappel sur le cryptage
• Chiffrement à clé symétrique
Le chiffrement symétrique utilise la même clé pour chiffrer et déchiffrer
un message.
• Chiffrement asymétrique
4
Rappel sur le cryptage
• Fonction de hachage
– Une fonction de hachage prend en entrée un message de taille
quelconque, applique une série de transformations et produit une
chaine de taille inférieure et généralement fixe qui varie selon les
algorithmes (128 bits pour MD5 et 160 bits pour SHA-1…).
– La chaîne résultante est appelée empreinte (condensé, condensat, ou
haché) qui résume en quelque sorte le fichier.
– La fonction de hachage doit être sans collision (cela signifie que la
moindre modification (même d’un bit) du document entraîne la
modification de son haché). D'autre part, il doit s'agir d'une fonction à
sens unique afin qu'il soit impossible de retrouver le message
original à partir du condensé.
5
Authentification SSH
• Il existe trois méthodes d’authentification dans la version 2 de ssh : hostbased,
password, et publickey.
6
Authentification SSH
– Authentification par clé publique
o Le principe de cette méthode repose sur la cryptographie asymétrique
avec des clés RSA ou DSA ou aucun secret ne circule sur le réseau.
o la clé publique de l’utilisateur doit être stockée sur le serveur ssh et sa clé
privée doit être stockée sur sa machine cliente d’une manière sécurisée.
o Pour mettre en marche ce mode d'authentification, il faut effectuer des
opérations sur la machine du client :
Générer une paire de clés publique/privée pour l’utilisateur qui veut
se connecter au serveur:
9
Authentification SSH
• Les phases d’authentification par clé sont décrites ci-dessous :
– le client envoie au serveur une requête d’authentification par clé asymétrique. Cette
requête contient le module de la clé publique à utiliser (il s’agit du long nombre contenu
dans la clé publique)
– le serveur recherche une correspondance dans le fichier des clés autorisées pour ce
compte (généralement le fichier ~/.ssh/authorized_keys). S’il ne trouve rien,
l’authentification échoue et la connexion prend fin.
– Dans le cas contraire, le serveur récupère la clé et note les restrictions liées à son
utilisation. Le serveur peut alors rejeter le client suivant ces restrictions. Si ce n’est pas le
cas, le processus d’authentification continue.
– Le serveur génère une chaine aléatoire de 256 bits appelée un challenge et la chiffre à
l’aide de la clé publique du client. Il l’envoie ensuite au client.
– Le client reçoit le challenge crypté et le décrypte à l’aide de la clé privée qu’il est le seul à
posséder. Il combine alors ce challenge avec l’identificateur de session et génère un
haché MD5 avec le résultat de cette combinaison. Il revoie alors ce haché au serveur
– Le serveur génère le même haché MD5 avec le challenge et l’identifiant de session. Si ce
haché est identique à celui reçu du client, l’authentification est un succès.
• Cette méthode est la plus sécurisé dans ssh, effectivement, le client utilise deux
informations qu’il est le seul à connaitre : la clé privée et la passe phrase de cette clé, et ni la
clé privée ni la passe phrase n’est envoyée sur le réseau.
10
Authentification à clé publique et agent.
• A chaque fois que vous lancez ssh avec une authentification par clé publique, vous devez
ressaisir votre passe phrase d’authentification. La première fois, cela ne vous gênera pas, mais le
• Un agent ssh est un programme qui garde les privées en mémoire et qui fournit les services
$ eval `ssh-agent`
$ ssh-add
• RQ : Lorsque vous utilisez un agent ssh, ne laissez pas votre terminal sans surveillance pendant
• Pour Sécuriser l’échange entre des machines linux il faut installer et configurer la
• Grâce à SSH, il est possible de sécuriser des protocoles TCP/IP non-sécurisés via le
transfert de port. En utilisant cette technique, le serveur SSH devient un conduit
(tunnel) crypté vers le client SSH.
Exemple :
ssh –L 2001:localhost:143 serveur 15