Vous êtes sur la page 1sur 13

SSH : Secure SHell

A.Laaroussi 1
Introduction
• Services actuels telnet, rlogin, ftp
– Authentification login et mot de passe uniquement
– Communication non chiffrée
– Vulnérable à l’attaque MiM
– Authentification du serveur par adresse ip ou nom
DNS
• SSH est un protocole, devant sécuriser les
communications
• Ces outils ont pour but de remplacer les
utilitaires de connexion classiques n'utilisant pas
de chiffrage: rcp, rlogin, rsh, telnet, ftp
A.Laaroussi 2
Services SSH
• La confidentialité : le cryptage des paquets
permet de garantir celle-ci. Les anciens services
tels que telnet, rlogin, ftp..., envoyaient les
données en clair.
• L'intégrité : SSH permet de garantir que les
paquets circulant d'un hôte vers un autre ne sont
pas altérés.
• L'authentification : chaque connexion SSH vérifie
l'identité du serveur puis celle du client (par mot
de passe ou clé publique).
A.Laaroussi 3
Authentification SSH
• Par mot de passe:
– Authentification par login et mot de passe

• Par clés publiques:


– Authentification combinant système symétrique et système asymétrique.

• Par hôte de confiance:


– Système équivalent aux systèmes utilisant rhost ou hosts.equiv en utilisant les
clés publiques des serveurs

• Kerberos, SmartCard, PAM

A.Laaroussi 4
L'authentification par clef
• Face à la faiblesse de l'authentification par mot
de passe, l'authentification par clef se révèle très
efficace.
• L'authentification par clef fonctionne grâce à 3
composants :
– Une clef publique : elle sera exportée sur chaque hôte
sur lequel on souhaite pouvoir se connecter.
– Une clef privée : elle permet de prouver son identité
aux serveurs.
– Une passphrase : Permet de sécuriser la clef privée.

A.Laaroussi 5
Authentification forte
• Basée sur une procédure d'identification plus complexe et
différente de celle des systèmes classiques (nom et mot de
passe)

• Utilise un algorithme asymétrique pour le chiffrement


(algorithme RSA/DSA)

• Chaque utilisateur possède son propre jeu de clefs uniques


(clé privée/clé publique)

• Une connexion nécessite l’installation de la clef privée sur le


client et de la clef publique sur le serveur

A.Laaroussi 6
L'authentification par clef
Client Serveur
Demande de connexion Demande acceptée

Envoi des protocoles supportés

Choisir des protocoles Envoi des protocoles choisis


communs
Transmet sa clé publique

Choisir une clef secrète Envoi de la clef de session chiffrée avec la clef Déchiffre la clé de
publique du serveur session avec la clef
privée
Envoi du message de confirmation chiffré avec
la clé de session du Client

Fin de la phase de l‘authentification du serveur

A.Laaroussi 7
Serveur SSH sous Unix
• SSH utilise deux types de clef : RSA et DSA. Chacune
pouvant être de longueur différente : 1024, 2048,
4096 bits.
• Le fichier de configuration est /etc/ssh/sshd_config.
L'authentification par clé est active par défaut.
#PubkeyAuthentication yes

• Le fichier ($HOME/.ssh/authorized_keys) contient la


clef publique.

A.Laaroussi 8
Génération des clefs privée/publique

les clefs générées

Passphrase
(optionnel)

Générer les clefs

Type de clefs
A.Laaroussi 9
Enregistrement des clefs privée/publique

Clef publique

Clef privée

A.Laaroussi 10
Connexion ssh

Adresse serveur

Service SSH

A.Laaroussi 11
Charger la clef privée

Clef privée

Copier la clef publique dans le fichier ($HOME/.ssh/authorized_keys).

A.Laaroussi 12
ssh-agent

Permet de s’affranchir de taper le passphrase pour chaque session.

A.Laaroussi 13