Chiffrement des Mails Préparé par : Patrice Gommery 17 février 2015
CHIFFREMENT DES MAILS Objectif Comprendre comment chiffrer et/ou signer des mails. pré-requis Un serveur de mails opérationnel.(voir TPs précédents) Votre serveur de mail doit être capable de communiquer avec ceux des autres tables.(zones DNS) Solution Mise en oeuvre de GnuPG Préparation du TP : Commencez par créer un nouvel utilisateur sur votre serveur de mail. Le nom de cet utilisateur doit être construit de la façon suivante : Première lettre de votre prénom (ou premières lettres de vos prénoms) suivi de votre nom (sans aucun espace, ni aucune ponctuation). Exemple : pgommery ou pnom. Créer une boite aux lettres pour ce nouvel utilisateur (maildirmake Maildir dans son dossier personnel) N oubliez pas de lui donner les droits sur l arborescence du dossier Maildir (chown -R pnom.pnom Maildir) A l aide de squirrelmail (www.domn.net/squirrelmail) ou de telnet, faites un test d envoi et réception de mail vers vous même et vers un autre étudiant de la salle. Si cela fonctionne avec squirrelmail, ouvrez Claws-Mail (Applications/Internet) sur la machine physique et configurer un nouveau compte utilisateur avec les paramètres suivants : Type de compte : POP Nom du compte : Prénom Nom Adresse mail pnom@domn.net Serveur entrant : 172.16.N.2 (l IP de votre serveur) Identifiant : pnom, mot de passe : (celui de l utilisateur) Serveur sortant : 172.16.N.2 (l IP de votre serveur) Pas d authentification pour le serveur sortant (SMTP) Vous devriez récupérer les mails reçus précédemment. Faites un test d envoi de mail avec Claws-Mail pour valider votre configuration. Dernière chose à faire pour le bon fonctionnement du TP et éviter les failles spatio-temporelles, METTRE A L HEURE VOTRE PC et VOTRE SERVEUR : Pour vérifier, tapez date dans l invite de commande. Pour modifier (si nécessaire), tapez date MMJJhhmm (remplacer par la date et l heure)
MISE EN PLACE DU CHIFFREMENT Pour chiffrer et signer nos mails, nous allons utiliser GnuPG, un utilitaire OpenSource utilisant des algorithmes de cryptage et utilisable avec la plupart des outils de messagerie. GnuPG est déjà installé sur la machine physique, il faut juste créer les clés adaptées à votre adresse email. Une documentation (sous forme de tuto) de GnuPG est disponible sur le serveur FTP de la salle. Le site officiel : www.gnupg.org ETAPE 1: CREATION D UNE PAIRE DE CLES Pour chiffrer et signer nos messages, nous allons utiliser un système de chiffrement à clé publique (donc asymétrique). La première chose à faire est donc de créer nos deux clés : La clé publique qui servira à chiffrer les mails et à vérifier les signatures. La clé privée associée qui servira à signer les mails et à les déchiffrer. Cette clé sera bien sur protéger par un mot de passe Pour générer les clés : gpg --gen-key type de clé désiré : DSA et ElGamal (par défaut) Taille de clé : 1024 Validité de la clé : 0 (N'expire jamais) Nom réel : Prénom et Nom Adresse e-mail : pnom@domn.net (votre adresse email) Commentaire : Ce que vous voulez Mot de passe : Ce que voulez, mais souvenez-vous en!!! Pour accélérer le processus de création aléatoire, vous devez bouger la souris!!! ce n'est pas une blague. Une fois les clés créées, le système vous affichera une empreinte de la clé publique générée. Il vous indique aussi que les clés ont été signées et marquées comme ayant une confiance ultime. (Conditions importante pour pouvoir les utiliser) Pour vérifier votre clé : gpg --list-keys
ETAPE 2 : COMMUNIQUER VOTRE CLE PUBLIQUE AU MONDE Pour pouvoir chiffrer un document, ou un mail dans notre cas vous devez disposer de la clé publique de votre correspondant. Il faut donc récupérer les clés publiques des personnes avec qui vous voulez échanger des mails chiffrés et vous devez aussi communiquer votre clé publique à ces mêmes personnes. Deux solutions sont possibles : Publier votre clé sur un annuaire accessible à tout le monde (par exemple ; pgp.mit.edu) ou simplement envoyer votre clé publique à vos correspondants. Nous allons utiliser la seconde option. Commençons par exporter notre clé publique dans un fichier texte : gpg --export -a pnom@domn.net > pnom.txt Ici la clé publique correspondant à notre adresse mail est enregistrée dans le fichier pnom.txt Il ne vous reste plus qu'a envoyé ce fichier à vos correspondants en pièce jointe. ETAPE 3 : ENREGISTRER LES CLES PUBLIQUES DE VOS CORRESPONDANTS Vous avez reçu les clés publiques de vos correspondants sous forme de fichier texte, il faut maintenant les importer dans votre trousseau de clé pour pouvoir les utiliser. Il faudra aussi que vous signiez (sign) ces clés et signifiez au système que vous leur accordez votre pleine confiance. (trust) Pour importer une clé : gpg --import fichier.txt (fichier.txt est la clé publique reçue) Pour signer et approuver une clé : gpg --edit-key NomClé (NomClé est l'adresse mail de votre correspondant), puis sign et trust. Vous pouvez vérifier la liste de clés de votre trousseau avec : gpg --list-keys ETAPE 5 : CONFIGURER CLAWS-MAIL POUR UTILISER GPG Pour pouvoir utiliser gpg en relation avec Claws-Mail, nous devons installer les plug-ins correspondants dans celui-ci. Dans Claws-Mail : Menu Configuration/Modules Chargez les plugins : pgpcore, pgpinline,pgpmime et smime. Dans l'option Confidentialité du compte courant, sélectionner PGP-MIME comme système de chiffrement
ETAPE 4 : ENVOYER UN MAIL CHIFFRE Vous avez accepté et approuvé les clés de vos correspondants, vous pouvez maintenant les utiliser pour leur envoyer des mails chiffrés (avec leur clés publiques), ils les déchiffreront avec leurs clés privées. Composez un nouveau message à destination d'un correspondant dont vous avez approuvé la clé publique. Avant d'envoyer le message, cochez la case "Chiffrer" dans le menu options du message. Envoyez votre message comme d'habitude. ETAPE 5 : RECEVOIR UN MAIL CHIFFRE Vous avez reçu un mail chiffré, au moment de l'ouvrir le système vous demandera de saisir un mot de passe. Il s'agit du mot de passe de protection de votre clé privée. C'est en effet avec elle que vous déchiffrez le contenu du message (qui a été chiffré avec votre clé publique). ETAPE 6 : SIGNER UN MAIL L'opération de signature est complètement indépendante du chiffrement, vous pouvez-vous donc signer un mail sans pour autant le chiffrer. Pour signer un mail, cocher simplement la case "Signer" dans les options avant d'envoyer le message. Le système vous demande alors un mot de passe. Il s'agit encore une fois du mot de passe protégeant votre clé privée, puisque c'est avec elle que vous allez signer le mail. Votre correspondant ne pourra vérifier votre signature que s'il possède votre clé publique. ETAPE 7 : VERIFIER LA SIGNATURE D'UN MAIL Vous avez reçu un mail signé, comment être sur que l'expéditeur annoncé est bien celui qu'il prétend être? En vérifiant la signature à l'aide de sa clé publique (celle qu'il vous a envoyé à l'étape 2). Si la signature est vérifiée, un symbole vert d'affichera, sinon méfiance... ETAPE 8 : MON MAIL EST-IL VRAIMENT CHIFFRE? Vous pouvez vérifier par vous-même. Ouvrez wireshark (comme dans le TP2) et regardez le contenu des trames SMTP et POP. Le message est-il bien chiffré? en totalité? Et qu'en est-il des identifiants et des mots de passe?