Sécurité des systèmes d'information
Travaux dirigés sur Machine N°1
(Master Miage 2 – Année 2011-2012)
L’objectif de cette séance de travaux pratiques est de se familiariser avec les différents modes d'utilisation de SSH (version 2) en utilisant OpenSSH sous Linux : établissement d'une
connexion, tunneling, etc. , ainsi qu'avec la version open source OpenPGP de PGP (Pretty good Privacy) .
1 . SSh
1.1 Établissement d'une connexion SSh sous Linux
Documentation : (Annexe 1)
http://www.lea-linux.org/documentations/index.php/Reseau-secu-ssh
Vous allez vous connectez depuis votre machine de TP vers la machine eduinfo02.unice.fr sur laquelle vous avez chacun un compte avec votre logon id habituel et un mot de passe qui vous sera fourni par votre enseignant. Votre répertoire personnel est de la forme : /home/logon_id
1.1.1 Authentification par mot de passe
Il vous faux dans un premier temps accéder au portail sécurisé : sesame-mips.unice.fr : ssh user_id@sesame-mips.unice.fr
puis dans un second temps à votre compte sur eduinfo02 : ssh user_id@eduinfo02.unice.fr
Vous pouvez alors travailler sur votre compte sur eduinfo02..
1.1.2. Authentification par clé
Une méthode plus robuste consiste à utiliser l'authentification par clés : une clé privée sur la machine cliente et une clé publique copiée sur toutes les machines serveurs.
Génération des clés
Les clés doivent être générer sur votre machine personnelle.
Vous quittez donc eduinfo02 en utilisant la commande exit qui vous ramène sur sesame-mips que vous quittez ensuite de la même façon pour vous retrouver sur votre machine personnelle.
Vous utiliserez alors la commande : ssh-keygen -t rsa
qui permet de générer une paire de clé : ~/.ssh/id-rsa (clé privé)
~/.ssh/id_rsa.pub (clé publique)
Cette commande vous demandera une passphrase (phrase mot de passe) afin de chiffrer
l’identification (cela est facultatif). Cette phrase sera demandée ensuite à chaque fois que l’on se connectera sur une machine (ou une seule fois par session si on utilise l’agent SSH (voir ci- dessous))
Transfert de la clé publique
Jean-Pierre Lips Année 2011-2012
ll faut ensuite copier la clé publique sur la machine serveur : sesame-mips.unice.fr et l'ajouter à votre trousseau de clés sur cette machine : ~/.ssh/authorized_keys
Pour cela vous pourrez utilisez la commande SCP (SecureCoPy) ou d'autres méthodes qui vous seront expliquées pendant le TP.
L’agent ssh
Cet agent permet de saisir la passphrase (phrase mot de passe) une seule fois au début de la session.
ssh-add
Il est possible aussi quand on doit parcourir plusieurs machines (comme dans notre cas : sesame- mips.unice.fr pour accéder ensuite à eduinfo02.unice.fr) de se connecter avec l’option forward de l’agent :
ssh -A etc.
Si on a pris la précaution d’enregistrer sa clé publique sur les différentes machines, alors on n’a pas besoin de retaper la passphrase. Verifiez le en vous connectant de votre machine sur votre compte sur eduinfo02.
1.2 Transfert de fichiers sécurisé sous Linux
Documentation : (Annexe 1)
http://www.lea-linux.org/documentations/index.php/Reseau-secu-ssh
Vous allez effectuer un transfert de fichier en mettant en pratique les 2 méthodes suivantes qui sont décrite dans l’article fourni en annexe avec ce TP.. (La première a déjà été utilisée pour transférer la clé publique).
1.2.1. SCP (SecureCoPy)
Le transfert de votre clé publique par SCP sur le serveur a été utilisé au cours d'une question précédente.
1.2.2. SFTP (Secure File Transfer Protocole)
Utilisez cette fois SFTP pour transférer votre clé de la même façon qu'à la questrion précédente.
1.3 Tunneling
1.3.1 Tunnel SSh
En utilisant la documentation donnée en annexe 2, créez un tunnel SSh entre votre machine de TP et votre machine sur eduinfo02.
1.3.2 Reverse-Tunneling SSH
Même question que ci-dessus en utilisant un tunnel inverse (voir annexe 2)
1.4. SSH sous Windows : Putty
Remarque : cette partie du TP ne sera à faire que depuis une salle équipé en dual boot avec Windows.
Installez Putty si il n’est pas disponible sur votre machine :annexe 2 http://www.chiark.greenend.org.uk/~thalamus/putty/download.html Puis lancez le.
Essayez de vous connectez en SSH sur une des machines du mips3, par exemple de la salle 302 comme brise.unice.fr. Vous constaterez que cela n’est pas possible.annexe 2
Il faut d’abord vous connecter sur sesame-mips.unice.fr, puis à partir de cette machine vous connectez avec la commande SSH sur brise.unice.fr. vous pourrez alors travailler sur cette machine.
Jean-Pierre Lips Année 2011-2012
2. PGP
2.1 Documentation
Manuel de gnupg :http://www.gnupg.org/gph/fr/manual.html
Voir la fin de cette documentation pour avoir un résumé des principales options de la commande gpg : http://www.linux-nantes.org/GNUPG-Signez-Cryptez.html
2.1 Création des clés
Utilisez la commande : gpg pour créer votre paire de clés.
Trouvez l'option de la commande gpg qui permette de voir les clés publiques obtenues et celle qui permet de voir les clés secrètes.
Créez ensuite le certificat de révocation correspondant
2.2 Utilisation pour le chiffrage de fichier
Créez un petit fichier de test et chiffrez le avec votre clé publique.
Regardez le contenu du fichier encrypté.
Décryptez le ensuite et vérifiez que vous obtenez le bon contenu.
Utilisez la même technique pour envoyer un fichier à votre voisin après l'avoir encrypté.
Il faudra pour cela qu'il vous envoie sa clé publique : il exportera sa clé publique (gpg --export)dans un fichier (par exemple : myPGPkeys.asc) qu'il vous enverra et vous l'importerez (gpg --import)à partir de ce fichier. Vous utiliserez sa clé pour le chiffrement, vous lui enverrez le fichier crypté qu'il devra ensuite déchiffrer.
2.3 Mise en ligne de la clé publique sur un serveur de clés
Vous allez maintenant déposer votre clé publique par exemple sur le serveur du MIT : pgp.mit.edu
Il faut d'abord récupérer l'identifiant de votre clé publique avec l'option –-list-keys de la commande gpg
Ensuite vous pourrez envoyez la clé vers le serveur en utilisant les options –keyserver et --send—
key de la commande gpg
Vérifiez que votre clé a bien été enregistré en essayant de la récupérer à partir du serveur du MIT.
Vous pouvez maintenant refaire la seconde partie de la question précédente en utilisant la clé enregistré par un autre de vos voisin.
De la même façon envoyer un fichier que vous aurez chiffré à votre chargé de TD :
Jean-Pierre.Lips@unice.fr
Pour cela il vous faudra récupérer sa clé publique sur le serveur de clé du MIT : HTTP://pgp.mit.edu
2.4 Utilisation pour la signature de fichier
Même question que 2.2 en signant le fichier au lieu de l'encrypter.
Jean-Pierre Lips Année 2011-2012