TD : Sécurisation d`un serveur Linux avec SSH

Transcription

TD : Sécurisation d`un serveur Linux avec SSH
TP : Administration distante d'un serveur Linux avec SSH
Config nécessaire :3 machine virtuelles : 1 serveur Linux, 1 Client Windows, 1 client Linux.
1. Installation du client et du serveur SSH sous linux
Page d'accueil de openssh en français : http://www.openssh.com/fr/
Installation du serveur: apt­get install openssh­server
Manuel SSH : man ssh
Démarrage : /etc/init.d/ssh start
Installation du client : apt­get install openssh­client
2. Installation du client SSH pour Windows
Téléchargement : http://www.chiark.greenend.org.uk/~sgtatham/putty
Il faut télécharger et installer putty.
3. Ouverture de session distante A partir du client windows, ouvrir putty, entrer l'adresse IP du serveur dans hostname, et choisir le protocole ssh puis cliquer sur Open pour ouvrir la session. A ce moment là, le serveur doit demander le nom de login et le mot de passe.
Pour terminer la session distante on tape exit.
À partir du client linux, ouvrez une session sur votre serveur en tapant : ssh <adresse IP>
Capturez l'échange avec Wireshark pour vérifier que le mot de passe est crypté.
4. Ouverture de session avec clé publique /clé privée .
Dans ce cas, le mot de passe ne sera plus transmis sur le réseau puisque c'est la clé privée qui garantira l'authentification du login.
Il faut d'abord générer une paire de clé avec la commande ssh­keygen sous linux ou avec le programme puttygen sous windows. Puis il faudra copier la clé publique sur le serveur linux dans le fichier authorized_keys situé dans le sous dossier .ssh du répertoire personnel de l'utilisateur
Avec un client linux : •
ouvrir une session root dans un terminal sur le client et lancer la commande ssh­keygen ­t rsa, puis entrer une « passphrase » c'est­à­dire un mot de passe pour protéger la clé privée.
•
Editer le fichier /root/.ssh/id_rsa.pub et copier la clé dans le presse papier (ctrl­inser).
•
Ouvrir une session root sur le serveur avec ssh, éditer le fichier .ssh/authorized_keys (avec vi) et coller la clé (shift­
inser). Sauvegarder et sortir de la session ssh avec exit.
•
Lorsqu'on retente la connexion distante, le serveur ne demande plus le mot de passe de root mais la passphrase, qui ne sert qu'à décoder la clé privée qui n'est jamais envoyée sur le réseau.
Avec un client windows :
•
Lancer le programme puttygen, choisir le type de clé rsa, puis cliquer sur « generate ». Il faut alors bouger la souris sur l'écran pour « générer de l'aléatoire ». •
taper la passphrase (mot de passe de protection de la clé privée)
•
cliquer sur « save private key » après avoir tapé un nom de fichier pour la clé privée
•
copier la contenu de la boite « public key for pasting into authorized_key file »
•
ouvrir une session ssh sur le serveur sous root, éditer le fichier /root/.ssh/authorized_keys et y copier la clé.
•
Fermer la session et la rouvrir en choisissant la clé privée dans le champ « private key file for authentication » de l'onglet Auth. Remarques : on peut également utiliser putty sous linux (apt­get install putty)