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