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: aptget install opensshserver Manuel SSH : man ssh Démarrage : /etc/init.d/ssh start Installation du client : aptget install opensshclient 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 sshkeygen 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 sshkeygen 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 (ctrlinser). • 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 (aptget install putty)