ziedbouziri.com
Transcription
ziedbouziri.com
ziedbouziri.com Agenda ➢ Protocoles d'échanges classiques FTP, telnet, rlogin ➢ Protocole SSH ➢ Protocole PGP ➢ Protocole SSL/TLS ziedbouziri.com 2 Introduction ➢ Un administrateur veut se connecter a distance a des serveurs confinés dans leur propre salle, disposant en effet rarement d'un clavier et d'un écran connectés en permanence ➢ Protocoles d'échanges classiques qui étaient les plus utilisés FTP, telnet, rlogin. ➢ Ils sont maintenant obsoletes et ne devraient plus etre utilisés a cause des problèmes de sécurité : Attaques de Sniffing et usurpation d'adresses. ➢ ziedbouziri.com 3 SSH ➢ OpenSSH est une version LIBRE du protocole SSH développé par OpenBSD ➢Boite d'outils : ssh, scp, sftp, ssh-keygen, ssh-add, ssh-agent ... ➢ Version 1 – Se limiter a une simple fonctionnalité de connectivité a distance pour le shell. – Une faille permettant a un pirate d'insérer des données dans le flux chiffré ➢ Version 2 – Sécurisation de n’importe quel protocole applicatif et ceci grâce a ses mécanismes de « port forwarding » et de « tunneling ». – sftp – Normalisée en 2006 a l’IETF. RFC 4250 à 4256 ziedbouziri.com 4 Installation ➢ Programme serveur : sshd, port 22 ➢ Programmes client : ssh, scp, sftp, ➢ Boite d'outils ssh-keygen, ssh-agent ➢ Fichier de configuration du serveur sshd_config ➢ Fichier de configuration du client ssh_config ➢ Couple de clés de la machine – ssh_host_rsa_key et ssh_host_rsa_key.pub – ssh_host_dsa_key et ssh_host_dsa_key.pub – ssh_host_key (ssh version 1) ➢ Known hosts : ~/.ssh/known_hosts et /etc/ssh/ssh_known_hosts ziedbouziri.com 5 Configuration ➢PermitRootLogin : Spécifie si root peut se connecter par ssh. L'argument est « yes », « without-password », « forced-commands-only » ou « no ». Par défaut « yes ». ➢PubKeyAuthentication : Spécifie si on autorise l'authentification par clef publique. Par défaut « yes ». (version 2 du protocole SSH) ➢AllowUsers : Ce mot-clef peut etre suivi d'une liste de motifs de noms d'utilisateurs, séparés par des espaces et qui sont autorisés a se connecter. ➢PasswordAuthentication: Spécifie si l'authentification par mot de passe est autorisée. Par défaut « yes ». ➢Protocol : Spécifie les versions du protocole que le démon sshd gere. Les valeurs possibles sont « 1 » et « 2 ». Pour spécifier plusieurs versions, il suffit de les séparer par des virgules. Par défaut « 2,1 ». ziedbouziri.com 6 SSH : Authentification (1) ➢ Authentification à deux étapes ➢ Authentification du serveur: l'identité du serveur est vérifiée, Le fichier known_hosts contient les clés publiques des hôtes serveurs SSH auxquels l'utilisateur s'est connecté. ➢ Authentification de l’utilisateur: – mot de passe systeme : le mot de passe transite sur le réseau a travers la connexion SSH chiffrée. – clé publique (~/.ssh/authorized_keys) : L’authentification a clé publique permet d’éviter a tout moment le passage d’un mot de passe, meme chiffré, sur le réseau ➢ ziedbouziri.com 7 SSH : Authentification (2) ➢ Authentification des utilisateurs avec clés publique/privée : plus robuste (voir Atelier) ziedbouziri.com 8 SSH : Relais d’affichage du serveur X ➢ X Window : il est possible d'importer l'affichage d'une application graphique distante. ➢Risques : – Prendre le controle de l’affichage et des périphériques associés. – Récupérer les événements clavier : Espionnage !! ➢ SSH offre la possibilité de rediriger la requete d’affichage dans le tunnel chiffré de la connexion : ssh -X salah@ordi02 ziedbouziri.com 9 Tunnel SSH pour une connexion HTTP ➢ HOST A : ssh –L 9000:192.168.1.100:80 [email protected] , ➢ navigateur : http://localhost:9000 ziedbouziri.com 10 PGP/GPG ➢ Pretty Good Privacy (PGP) est créé par Phil Zimmermann en 1991. ➢ GnuPG (ou GPG, GNU Privacy Guard) est l'implémentation GNU GPL du standard OpenPGP (RFC 48802). ➢ PGP et GPG sont compatibles puisqu'ils utilisent tous deux le meme standard OpenPGP ➢ ziedbouziri.com 11 PGP/GPG ➢ Transmission de clef symétrique IDEA : chiffrée avec clés asymétriques ➢ Chiffrement de Gros texte avec IDEA ➢ Chiffrement des fichiers locaux : avec IDEA. ➢ Génération de clefs publiques et privées : avec RSA, DSA ou El-Gamal ➢ Signature électronique avec la clef privée. ➢ Intégrité de messages : hachage du message par MD5 (128 bits) chiffré ensuite avec la clef privée de l'expéditeur. ➢ Gestion des clefs : 1 trousseau de clefs publiques et 1 trousseau de clefs privées. ziedbouziri.com 12 GPG : Exemple ➢Ali Générer le couple de clés :gpg --gen-key Exporter la clé publique : gpg --export aloulou > gpg.pub ➢Salah Importer la clé publique : gpg --import gpg.pub Gérer le trousseau des clés : gpg --list-keys Crypter : gpg --out cryptogramme --recipient aloulou --armor --encrypt message ➢Ali Décrypter : $ gpg --out lisible --decrypt cryptogramme ➢Ali Signer : gpg --clearsign lisible ➢salah ➢Vérifier Signature :$ gpg --verify lisible.asc ziedbouziri.com 13 Certificats X.509 ➢ Certificat : – Un ensemble d'informations pour réaliser l'Authentification – Contient la clé publique de son détenteur et des informations sur son identité. ➢ Le certificat est signé électroniquement par une Autorité de Certification (CA), qui atteste son authenticité. ➢ L'autorité de certification (CA) s'assure de l'identité du propriétaire de la clé privée issue de sa paire de clés ziedbouziri.com 14 Certificats X.509 ➢ Le certificat est signé électroniquement par une Autorité de Certification (CA), qui atteste son authenticité. Ali Ben Salah [email protected] Salah inc, Tunis Tunisie CA-Tunisie [email protected] Validité 01/02/2014-01/02/2015 Kpub de Ali Ben Salah : 01:09:B6..... Hachage Empreinte Empreinte chiffrée par K privée de CA Chiffrement par la K privée de CA-Tunisie ➢ La vérification du certificat peut etre effectuée par tout service qui possède la clé publique de l’autorité de certification Ali Ben Salah [email protected] Salah inc, Tunis Tunisie CA-Tunisie [email protected] Validité 01/02/2014-01/02/2015 Kpub de Ali Ben Salah : 01:09:B6..... Empreinte chiffrée par K privée de CA ziedbouziri.com Hachage Empreinte calculée Comparaison ? K pub de CA-Tunisie Empreinte déchiffrée 15 SSL : Secure Socket Layer ➢ Initialement proposé par la société Netscape Inc. ➢ TLS (Transport Layer Security) est une évolution de SSL (v3.1) réalisée par l'IETF. RFC 2246 ➢ SSL est intercalé entre la couche TCP et les couches applicatives de haut niveau : offre aux protocoles applicatifs qui l’utilisent des services de sécurité. ➢ HTTPS : port 443 ➢ POP3S : port 995 ziedbouziri.com 16 SSL : Secure Socket Layer (2) ➢ Repose sur une méthode de cryptographie a clef publique ➢ Transparent pour l'utilisateur ➢ Supporté par la quasi totalité des navigateurs services de sécurité. ➢ Serveur Web sécurisé par SSL : URL commencant par https:// ➢ Confidentialité : Algo symétriques (3DES, IDEA,RC4) ➢ Intégrité : HMAC, MD5/SHA ➢Authentification : Certificat X509 ziedbouziri.com 17