Vous êtes sur la page 1sur 63

16, 17 et 18 Décembre

2020 TP
CRYPTOGRAPHIE &
PKI
MASTER
Cybersécurité
CORRECTION
INSA
Patrick CEREGHELLI
Table des matières
1 Introduction au TP ............................................................................................................. 3
2 Préparation des machines ................................................................................................. 3
2.1 Liste des outils/produits necessaires sur la Machine « W10PKI » ............................... 3
2.2 Liste des outils/produits necessaires sur la machine « WebPKI » ............................... 3
3 TP1 : Manipulations avec des outils cryptographiques ...................................................... 4
3.1 Installer la suite « GpG4Win » ..................................................................................... 4
3.2 Créer une paire de clé « PGP » ................................................................................... 6
3.3 Analyse des paires de clé générés .............................................................................. 8
3.4 Signer un fichier avec « GpgEx » ................................................................................ 9
3.5 Chiffrer un dossier avec « GpgEx » ........................................................................... 10
3.6 Exporter une clé « PGP » .......................................................................................... 11
3.7 Importer une clé « PGP » d’un utilisateur externe ..................................................... 11
3.8 Vérification de la signature d’un binaire avec « certutil » ........................................... 13
4 TP2 : Chiffrer et Signer des messages avec un client de messagerie ............................. 14
4.1 Installation et configuration du serveur de messagerie .............................................. 14
4.2 Installation du Client de messagerie « Thunderbird » ................................................ 18
4.3 Paramétrage des comptes de messagerie et génération des clés ............................ 20
4.4 Envoi de mail signé.................................................................................................... 22
4.5 Envoi de mail chiffré et signé ..................................................................................... 25
4.6 Analyse des trames réseaux ..................................................................................... 26
5 TP3 : Chiffrer les communications entre client et serveur ................................................ 27
5.1 Installation d’openSSL ............................................................................................... 27
5.2 Génération d’un certificat « autosigné » .................................................................... 28
5.3 Configuration SSL sur le serveur « HmailServer » .................................................... 29
5.4 Configuration des clients de messagerie pour l’utilisation de SSL ............................. 31
6 TP4 : Installation d’une Autorité de Certification « Microsoft » ......................................... 33
6.1 Installer l’autorité de certification Microsoft ................................................................ 34
6.2 Examiner les paramètres de la console d’administration ........................................... 38
7 TP5 : Inscription des certificats dans une PKI ................................................................. 40
7.1 Les modèles de certificat ? ........................................................................................ 41
7.2 Création d’un modèle de certificats « ADPKIUser » .................................................. 42
7.3 Inscription d’un « certificat » et publication de la liste CRL ........................................ 45
Page 1/62
7.4 Analyser le certificat délivré ....................................................................................... 48
8 TP6 : Utilisation de certificats avec un serveur web......................................................... 50
8.1 Installer et Paramétrer un serveur Apache Windows ................................................. 50
8.2 Se connecter de façon sécurisée à un serveur « Web Apache »............................... 51
8.2.1 Créer un modèle de certificat pour le serveur ..................................................... 51
8.2.2 Générer un certificat pour le serveur Web Apache .............................................. 53
8.2.3 Mettre en œuvre SSL pour sécuriser les flux ...................................................... 58
8.2.4 Vérifier la connexion « Https » au serveur Web .................................................. 59
8.3 Configuration du serveur Web pour authentifier un utilisateur par certificat. .............. 59
9 Annexes........................................................................................................................... 60
9.1 Créer un compte de test dans l’Annuaire Active Directory ......................................... 60
9.2 Intégrer le poste « Windows 10 » à votre domaine AD .............................................. 61

Page 2/62
1 Introduction au TP
Ce TP est à réaliser individuellement dans la mesure des ressources matérielles disponibles
Le présent document devra être rendu, complété aux endroits prévus à cet effet, à l'issu de ce
TP. L'évaluation portera sur la justesse et la pertinence des réponses apportées. Chaque élève
disposera de trois machines :

2 Préparation des machines

Nom Caractéristiques Fonction Système d’exploitation


• Adresse IP : 192.168.10.1
W10PKI • Disque : 50 Go avec une seule par- Poste de travail Windows 10 Pro
tition
• Mémoire : 2 Go minimum ou plus
• Adresse IP : 192.168.10.2
WEBPKI • Disque : 50 Go avec une seule par- Serveur Windows 2016
tition Messagerie
• Mémoire : 2 Go minimum ou plus
Serveur Web

DCADPKI • Adresse IP : 192.168.10.3 Serveur Active Windows 2016


• Disque : 50 Go avec une seule par- Directory
Domaine tition
ADPKI • Mémoire : 4 Go minimum ou plus Serveur PKI

2.1 Liste des outils/produits necessaires sur la Machine « W10PKI »

2.2 Liste des outils/produits necessaires sur la machine « WebPKI »

Page 3/62
3 TP1 : Manipulations avec des outils cryptographiques
Objectifs du TP 1 :
- Installer une suite d’outils cryptographiques
- Manipuler des clés privées/publiques de chiffrement et déchiffrement
- Signer, chiffrer fichiers et dossiers
- Export/Import de clés PGP
- Vérifier la signature d’un binaire avec « certutil »
Machines: W10PKI (windows 10)
Outils : Suite GpG4Win : Kleopatra, GpgEx, outil Microsoft « certutil »

Suite GpG4Win (GPG):


• Kleopatra
• GpgEx

W10PKI
Le logiciel « GpG4Win » est un outil graphique pour Windows qui permet d’exploiter l’outil libre
GPG (GNU Privacy Guard). « GnuGPG » est le logiciel Open Source fréquemment utilisé pour
assurer les services de confidentialité et authentification de données numériques (fichier /
répertoire / email). Les outils utilisés pour ce TP sont « KLEOPATRA » et « GpgEx ».
• KLEOPATRA: gestionnaire de certificats format X.509 ou OpenPGP. Un seul outil pour
gérer les 2 formats de certificat.
• GpGEx: plugin GpG pour Explorateur Windows. Permet d’encrypter et signer des emails
directement depuis l’explorateur Windows

3.1 Installer la suite « GpG4Win »


• Se connecter sur le poste « W10PKI » avec un compte administrateur
• Double-cliquez en tant qu’administrateur le fichier « gpg4win-x.x.x.exe » situé dans le
répertoire « Distrib_W10_PGP » et commencez l’installation du produit

Page 4/62
• Cliquer sur « OK »
• Cliquer sur « Suivant »

• Sélectionner toutes les fonctionnalités et cliquer sur « Suivant »

• Laisser le dossier d’installation par défaut et cliquer sur « Installer »

• Cliquer sur « Suivant »

• Cliquer sur « Fermer »


Page 5/62
3.2 Créer une paire de clé « PGP »
• Se connecter sur le poste « W10PKI » avec un compte administrateur
• Lancer l’outil de gestion des clés « Kleopatra »
« Kleopatra » est un gestionnaire de certificats pour OpenPGP et X.509.

• Cliquer sur « Fichier » puis « Nouvelle paire de clés », puis « créer une paire de clés
personnelles openPgP »

Q : Quels sont selon vous les différences entre une paire de clés « OpenPGP » et une
paire de clés au format « X509 »
Une paire de clés X509 devra être certifié par une autorité de certification pour être valide

On va créer trois paires de clés personnelles « OpenPgP » valables 3 ans pour trois utilisateurs
Nom de votre domaine de messagerie : « INSA + Nom du stagiaire ».fr (exemple :
InsaDupont.fr)

Nom Adresse électronique Algorithme


Une paire de clé en utilisant
« Première lettre « Première lettre
l’algorithme « RSA » 4096 bits pour
prenom1.NomStagiaire » prenom1.NomStagiaire »@<nom
le chiffrement
de votre domaine de messagerie>
Une paire de clé utilisant
« Première lettre « Première lettre
l’algorithme « DSA » 2048 bits pour
prenom2.NomStagiaire » prenom2.NomStagiaire »@<nom
la signature
de votre domaine de messagerie>
Une paire de clé utilisant
« Première lettre « Première lettre
l’algorithme « ECDSA/EdDSA »
prenom3.NomStagiaire » prenom3.NomStagiaire »@<nom
(brainpoolP512r1 et cv25519) pour
de votre domaine de messagerie>
la signature et le chiffrement.

Page 6/62
Création des paires de clé
• Saisir « nom » et « adresse électronique »

• Cliquer sur « Configuration Avancée » pour définir les algorithmes utilisés

• Cliquer sur « Suivant » et « Créer »

• Saisir une phrase secrète pour chaque paire de clé générée afin de la protéger et
cliquer sur « OK », puis « terminer ».
Finalement, dans l’interface « Kleopatra » apparaitra les trois paires de clés

Page 7/62
3.3 Analyse des paires de clé générés
Observer la structure des clés générés et répondez aux questions
Les algorithmes utilisés utilisent quel type de cryptographie ? Quelles sont les
caractéristiques de ce type de cryptographie ?
RSA, DSA et ECDSA sont des algorithmes de cryptographie asymétrique
Inventée par Ron Rivest, Adi Shamir, and Leonard Adleman en 1977, RSA est un algorithme
de chiffrement utilisé en cryptographie asymétrique. 99% des certificats émis à ce jour
utilisent la méthode RSA comme algorithme de chiffrement. La longueur de clé minimum
autorisée en RSA est de 2048 bits depuis Novembre 2013. Le fonctionnement RSA est basé
sur la difficulté de factoriser de grands entiers.
DSA signifie Digital Signature Algorithm (Algorithme de Signature Digitale). Il s'agit d'un
algorithme inventé en 1991 aux Etats-Unis par le National Institute of Standards and
Technology (NIST). L'algorithme DSA fut utilisé en premier lieu pour signer
électroniquement des données, mais on l'utilise désormais à la fois comme algorithme de
signature et de chiffrement dans les certificats SSL.
Elliptic Curve Digital Signature Algorithm (ECDSA) est un algorithme de signature
numérique à clé publique, variante de DSA. Il fait appel à la cryptographie sur les courbes
elliptiques. ECC est la méthode de chiffrement la plus récente. Elle signifie Elliptic Curve
Cryptography (Cryptographie sur les Coubres Elliptiques), et offre une connexion plus
rapide et plus sécurisée que les méthodes RSA et DSA. L’ECC est en effet 12 fois plus
puissante que la méthode RSA : un chiffrement 3072 bits avec la méthode RSA correspond
à un chiffrement 256 bits en ECC.
Q : Quelles sont les utilisations possibles de chaque paire de clé
p1.XXX : utilisé pour certifier des clés, ou chiffrer des données confidentielles
p2.XXX : utilisé pour certifier des clés ou signer des documents ou des mails
p3.XXX : utilisé pour certifier des clés, chiffrer des données confidentielles ou signer des
documents ou des mails
Q : Quelle est l’utilisation commune à chaque paire de clé
La certification est l’utilisation commune à chaque paire de clés. La certification consiste à
vérifier l’empreinte par exemple d’un certificat. Soit on la connait soit il faut la vérifier auprès
d’un tiers. Avec les trois paires de clés, il est possible de certifier une clé. Une paire de clé
peut cumuler les utilisations. Il faudra bien protéger la clé privée par une passphrase
conséquente et sauvegarder le certificat dans un endroit sûr.
Q : Quelle est la structure de la troisième paire de clé ?
La troisième paire de clé est composé d’une clé Primaire permettant de certifier/signer et
d’une clé secondaire permettant de chiffrer

Page 8/62
3.4 Signer un fichier avec « GpgEx »
• Modifier dans l’explorateur l’affichage des fichiers et dossiers en cochant la case
« Extensions de noms de fichiers ». Permet de visualiser l’extension des fichiers.

• Créez sur le Bureau un fichier texte « fiche.txt » contenant quelques mots et un dossier
« Confidentiel » contenant des fichiers que vous aurez copiés.
Rappel : GpgEx est un plugin pour l’explorer Windows pour effectuer du chiffrement,
déchiffrement et de la signature.
• Signez le fichier en sélectionnant le fichier, « Plus d’options GpgEX » et clic droit
« Signer »
• Utiliser un certificat permettant la signature

L’empreinte du fichier signé est enregistrée dans le fichier « Fiche.txt.sig »

Q : Pourquoi doit -on saisir la « passphrase » secrète dans le processus de signature ?


Le processus de signature nécessitant votre clé privée, vous devrez donc entrer votre
« PassPhrase » PGP

Q : Que se passe t’il si on modifie le contenu de la fiche ? Vérifier la signature


Le fichier a été modifié et ne correspond plus à la signature initiale. La vérification de la
signature s’effectue en cliquant sur le fichier signature. La vérification de la signature
échoue car le fichier n’est plus intègre

Page 9/62
Q : Dans quel format est enregistré la signature ?
Trouver la configuration permettant de rendre cette signature visible en base 64.
La signature est enregistré dans un format binaire illisible avec un éditeur de texte.
Cocher la case « Creer des fichiers signés ou chiffrés au format texte »

Le fichier « Fiche.txt.asc » est généré


Q : Que doit posséder une personne à qui on a donné ce fichier signé pour vérifier
l’intégrité du fichier
La clé publique du certificat avec laquelle on a signé le fichier en utilisant la clé privée

3.5 Chiffrer un dossier avec « GpgEx »


• Créez sur le Bureau un dossier « Confidentiel » contenant des fichiers que vous aurez
copiés.
• Signez le dossier en sélectionnant le fichier et clic droit « Chiffrer »

• Utiliser un certificat permettant le chiffrement

Q : Commenter le processus de chiffrement/déchiffrement d’un dossier ?


Le contenu du répertoire est mis dans une archive et l’archive est chiffrée. Le dossier
initial peut-être supprimé. En cliquant sur le dossier chiffré, il est possible d’enregistrer le
contenu de cette archive pour consulter les fichiers/dossiers. La « passphrase » protège
cette archive et il est nécessaire de la saisir pour extraire le contenu.
Ce processus est un peu lourd car à chaque modification du contenu du dossier, il faudra
régénérer l’archive complète et son chiffrement.
Des produits tiers comme zonecentral (PrimX) permettent de manipuler individuellement
les fichiers chiffrés et de les consulter si l’utilisateur dispose de la clé privée adéquate.

Page 10/62
3.6 Exporter une clé « PGP »
• Effectuez un clic droit sur une des paires de clés et cliquer sur « Exporter… ».
Enregistrer la clé publique sous votre bureau
• Effectuez un clic droit sur une des paires de clés et cliquer sur « Exporter les clés
privées… ». Enregistrer la clé privée sous votre bureau
• Supprimer le certificat exporté dans l’interface « Kleopatra »
Q : Dans quel format sont les exports des fichiers générés ?
Le format utilisé pour les exports en .asc est base 64 avec des entêtes en ASCII
Q : A quoi servira l’export de la clé Privée ?
L’export de clé privée permettra de faire une sauvegarde de sa clé. A conserver
précieusement dans un endroit sur (Coffre au format numérique)
Q : A quoi servira l’export de la clé Publique ?
L’export de la clé publique servira diffuser cette clé à d’autres utilisateurs de notre réseau.
En distribuant la clé publique pour qu’ils l’intègrent à leur gestionnaire de clés, cela
permettra par exemple d’échanger des données chiffrées ou de vérifier une signature.

3.7 Importer une clé « PGP » d’un utilisateur externe


• Importer le fichier contenant la clé publique « UtilisateurExterne » dans le gestionnaire
« Kleopatra » (Drag&Drop).
La fenêtre suivante apparait :

La première étape est de définir si ce certificat est valide en le vérifiant (appel à la personne,
confirmation depuis un site, etc…)
• Cliquer sur « Oui »

Page 11/62
La deuxième étape permet de certifier la clé publique de cet utilisateur avec un de nos certificats
et à le rendre « exportable »
• Cliquer sur « certifier »

• Saisir la “passphrase” associé


• On peut vérifier que la clé est considérée comme valable et elle est « certifié » par notre
certificat.

Q : Pourquoi est-il important qu’une une clé publique d’un utilisateur externe soit
certifiée dans un réseau « pair à pair PGP »
L’empreinte de la clé publique identifie clairement la clé et son propriétaire. On va faire des
vérifications et importer cette clé. Si on importe cette clé en la certifiant avec un des
certificats présents, cela veut dire que l’on considère cette clé publique valide et on accorde
la confiance à cette clé pour des opérations de chiffrement/signature
Q : Comment va-t-on gérer la confiance dans un réseau « pair à pair PGP » ?
On va pouvoir intégrer des clés publiques d’autres utilisateurs. En fonction de chaque
utilisateur on pourra donner un niveau de confiance dans la certification de clé. Si on fait
confiance totale à “UtilisateurExterne”., on pourra intégrer des clés publique d’autres
utilisateurs certifié par “UtilisateurExterne”. On fera confiance à ces nouveaux utilisateurs
car on a confiance en “UtilisateurExterne” en tant que signataire des certificats.
La difficulté est de retrouver la chaîne de confiance qui lie deux utilisateurs. La solution
élégante proposée par PGP est la confiance partielle : une signature sur un certificat ne
donne qu’une fraction de la confiance en ce certificat et il faut alors plusieurs signataires
de confiance pour établir toute la confiance du certificat.
L’autre difficulté de ce système est de bien faire la différence entre accorder sa confiance
au certificat d’un utilisateur et accorder sa confiance à un tiers pour signer d’autres
Page 12/62
certificats. Un seul tiers indélicat ou simplement négligeant peut détruire le réseau de
confiance…

Ainsi le réseau va grossir petit à petit mais restera de taille modeste par les multiples
vérifications à effectuer.

3.8 Vérification de la signature d’un binaire avec « certutil »


Plusieurs méthodes de vérifications sont possibles
Avec la commande « certutil »
• Lancer l’interpréteur de commande cmd sur la machine « W10PKI »
Q : Quels sont les algorithmes de hachage disponibles pour la vérification d’une
signature avec l’outil « certutil » ? (-hashfile)
Algorithmes de hachage : MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

• Lancer la commande suivante : certutil -hashfile "<répertoire de stockage du


binaire>\httpd-2.4.46-win64-VS16.zip" SHA1
Exemple de vérification :

• Comparer le résultat du hash à liste des « hashs » fourni pour le binaire windows
Appache « httpd-2.4.46-win64-VS16.zip.txt ». Pour l’algorithme choisi, la valeur calculée
doit être identique à la valeur du fichier.

Page 13/62
4 TP2 : Chiffrer et Signer des messages avec un client de messagerie
Objectifs du TP 2 :
- Construire une infrastructure minimaliste de messagerie
- Mettre en place le chiffrement et la signature d’email
- Envoyer des messages signés et chiffrés
Machines: W10PKI (windows 10) et WebPKI (Serveur windows 2016)
Outils : Serveur de messagerie « HmailServer », Client de messagerie « Thunderbird »,
WireShark

Serveur Mail

W10PKI WEBPKI
• Client de messagerie
« Thunderbird » • Serveur de messagerie
• WireShark « HmailServer »
• OpenSSL

4.1 Installation et configuration du serveur de messagerie


• Se connecter sur la machine « WebPKI » en administrateur
• Double-cliquez en tant qu’administrateur sur le fichier « hMailServer-x.x.x-Bxxxx.exe »
situé dans le répertoire « Distrib_WEBPKI» et commencez l’installation du produit

• Cliquer sur « Next »

Page 14/62
• Cliquer sur « Next », « Next »

• Cliquer sur « Next », « Next »

• Cliquer sur « Next »

Page 15/62
• Saisir le mot de passe administrateur qui sécurisera l’accès à l’interface d’administration
du serveur de messagerie « hMailServer ». Il sera demandé plus tard lors de la
configuration du serveur.
• Cliquer sur « Next », puis sur « Install »
• Une fois l’installation terminée cliquer sur « finish » pour lancer le serveur.

• Se connecter en « Administrator » en spécifiant le mot de passe


La fenêtre ci-dessous montre l’interface d’administration de « hMailServer »

• Cliquer sur « Add Domain » pour ajouter un domaine de messagerie.


• Spécifier votre nom de domaine de messagerie [insa<Nom>.fr] et cliquer sur « Save »

Page 16/62
Une fois le domaine créé, il faut ajouter deux comptes de messagerie. Pour cela, cliquer sur
« Accounts » puis « Add » et remplir les champs « address » et « password » pour une
utilisation basique.
• Créer les deux comptes « user1 » et « user2 »

Page 17/62
4.2 Installation du Client de messagerie « Thunderbird »
Attention : pour simuler le client de messagerie de deux comptes « user1 » et « user2 », deux
installations distinctes du produit « Thunderbird » seront nécessaires.
• Se connecter sur le poste « W10PKI » avec un compte administrateur

A- Première installation
• Double-cliquez en tant qu’administrateur le fichier « Thunderbird Setup x.x.x.exe » situé
dans le répertoire « Distrib_W10 » et commencez l’installation du produit

• Cliquer sur « Suivant », « Suivant »

• Cliquer sur « Installer » puis sur « Terminer »

Le client de messagerie se lance avec la configuration d’une adresse électronique


• Cliquer sur « Annuler »
• Si une fenêtre « intégration avec le système apparait », cliquer sur « Définir par défaut »
en décochant « Toujours effectuer cette vérification au démarrage de Thunderbird »

Page 18/62
• Renommer sur votre bureau le raccourci du client de messagerie en « ClientMail1 »
B- Deuxième installation
• Double-cliquez en tant qu’administrateur le fichier « Thunderbird Setup x.x.x.exe » situé
dans le répertoire « Distrib_W10 » et commencez l’installation du produit
• Choisir « Personnalisé »

• Modifier le dossier de destination :


Par exemple « C:\Program Files (x86)\Mozilla Thunderbird2\ »
• Renommer sur votre bureau le raccourci du client de messagerie en « ClientMail2 »
• Si une fenêtre « intégration avec le système apparait », cliquer sur « Définir par défaut »
en décochant « Toujours effectuer cette vérification au démarrage de Thunderbird »

Page 19/62
4.3 Paramétrage des comptes de messagerie et génération des clés
On va paramétrer les comptes de messagerie « user1 » et « user2 » avec chaque client de
messagerie « Thunderbird »
A- Paramétrage du premier compte « user1 »
• Lancer le client de messagerie « ClientMail1 »

• Cliquer sur « courrier électronique »


• Saisir les paramètres du premier compte
• Remplir les champs « adresse électronique » et « mot de passe » avec les informations
spécifiées lors de la création du compte via l’interface d’administration de
« hMailServer »
• Configurez le compte user1@insa<Nom>.fr
• Puis cliquer sur « Configurer manuellement »
• Spécifier le nom du serveur de messagerie (Machine WebPKI)
• Cliquer sur « Re-tester ». Les paramètres sont trouvés automatiquement depuis le
serveur

• Si tout est bon, cliquer sur « Terminé »


• Le message d’avertissement qui apparait vous indique qu’il n’y a pas de chiffrement.
Sélectionner la case à cocher « Je comprends les risques » puis cliquer sur « Terminé »

Page 20/62
B- Paramétrage du deuxième compte « user2 »
• Lancer le client de messagerie « ClientMail2 »

• Cliquer sur « courrier électronique »


• Comme pour « user1 », saisir les paramètres du deuxième compte « user2 » et
procéder de la même manière

C- Essai de l’envoi de messages


Effectuer un test d’envoi de message depuis “user1” vers “user2”

Vérifier la bonne réception du message.


Procéder de même pour message de “user2” vers “user1”
Les deux interfaces de messagerie doivent être opérationnelles
D- Génération des paires de clés pour les utilisateurs « user1 » et « user2 »
Générer avec l’outil « Kleopatra » des clés « OpenPGP » pour les utilisateurs « user1 » et
« user2 ». Ces utilisateurs « user1 » et « user2 » ne sont déclarés que dans le serveur de
messagerie.
• user1, user1@insa<NOM>.fr
• user2, user2@insa<NOM>.fr
Page 21/62
• Algorithme RSA 2048 bits
• Phrase secrète de votre choix !
• Résultats : « user1 » et « user2 » sont présent dans l’interface « Kleopatra »

4.4 Envoi de mail signé


• Générer un mail signé depuis l’utilisateur user1 vers l’utilisateur « user2 ».
Les deux clients de messagerie « ClientMail1 » et « ClientMail2 » sont lancés.
• Sur « ClientMail1 », sélectionner « paramètres de compte », « chiffrement de bout en
bout »
Il faut rajouter une clé pour « user1 » afin que celui-ci effectue la signature de son message.

Q : Comment procédez-vous pour affecter cette clé à user1 (indice utilisation


Kleopatra) ? Quel type de clé allez-vous ajouter ?
Export depuis l’outil « Kleopatra » de la clé privée au format « .asc »
On va rajouter une clé privée (personnelle) car c’est pour effectuer de la signature de
messages
Page 22/62
• Effectuer l’opération d’ajout de la clé
• Cliquer sur « continuer »
• Saisir la « Passphrase » demandée

Une fois le processus d’importation terminée sélectionner « l’utilisation de la clé »

• Sélectionner les « paramètres par défaut d’envoi de messages »


• Sélectionner la case à cocher « Ajouter ma signature »

Avec User1, envoyer maintenant un message « signé » à User2

Page 23/62
Q : User2 a bien réceptionné le message. Est-ce que la signature est valide ? Pourquoi ?
La signature numérique est marque comme incertaine car il manque la clé publique qui
permettra d’identifier que le message provient bien de user1

• Effectuer la correction afin que « user2 » reçoive un message signé et qu’il puisse
identifier le bon émetteur du message. La signature doit apparaitre comme valide pour
les messages reçus en provenance de « User1 »

Q : Lors de l’importation de la clé publique « User1 », plusieurs choix s’offrent à


l’utilisateur « user2 ». Commenter les brièvement.
Importer la clé publique de « user1 » : dans le gestionnaire de clés « OpenPGP » de l’interface
« paramètres de compte » de « user2 », importer la clé publique de « User1 »
L’utilisateur « User2 » doit gérer l’acception de cette clé et plusieurs choix s’offrent à lui
Cliquer sur « Afficher les détails et gérer l’acceptation des clés »
Sélectionner « Oui, j’ai vérifié en personne que l’empreinte de cette clé est correcte ». Cela
veut dire que l’on a vérifié l’empreinte de la clé fournie et que l’on fait totalement confiance à
cette clé. Les choix sont graduels et fonction du niveau de confiance que l’on attribue à cette
clé importée. Les choix sont gérés directement par les utilisateurs.

• Activer et mettre en place de la même manière la signature pour l’utilisateur « user2 »

Page 24/62
4.5 Envoi de mail chiffré et signé
Le chiffrement des messages n’est pas encore activé

• Activer le chiffrement des messages pour les clients de messagerie des deux utilisateurs

• Faire un test d’envoi de message de l’utilisateur « user1 » vers l’utilisateur « user2 »

Le message reçu doit comporter un petit cadenas qui signifie que les messages sont envoyés
chiffrés.

Page 25/62
4.6 Analyse des trames réseaux
• Sélectionner dans le répertoire « C:\Distrib_W10_PGP » le binaire « Wireshark-win64-
3.4.0.exe» et lancer l’installation du Produit.
Le chiffrement de bout en bout a été mis en place au niveau du client de messagerie.
• Examiner avec Wireshark les trames entre les clients et le serveur de messagerie.
Filtre de capture : port 587 or port 143
 Protocole IMAP pour la récupération des messages sur le serveur
 Protocole SMTP pour l’envoi des messages

• Envoyer un message chiffré et signé depuis user1 vers user2.


• Examiner les trames capturées
Q : Que constatez-vous ? Selon vous, la protection est -elle complète ?
La protection n’est pas complète car les communications ne sont pas chiffrées. En effet les
protocoles IMAP, POP3 et SMTP ne sont pas sécurisés au niveau du serveur de messagerie.
Wireshark montre que l’envoi de message est bien chiffré

Cependant on peut lire a qui a envoyé le message et qui le reçoit.


Concernant IMAP, le mot de passe est visible dans la trame

En regardant le paramétrage serveur dans « paramètres serveur ». On voit que


l’authentification et les communications ne sont pas protégés

Le mot de passe est transmis de façon non sécurisée.


Un certificat est nécessaire pour chiffrer les communications.
Il est nécessaire de configurer le serveur pour cette sécurisation
Page 26/62
5 TP3 : Chiffrer les communications entre client et serveur
Objectifs du TP 3 :
- Aborder la Problématique des communications entre le serveur de messagerie et des clients
- Chiffrer les communications entre clients et serveur de messagerie
Machines: W10PKI (windows 10) et WebPKI (Serveur windows 2016)
Outils : OpenSSL pour Windows, client de messagerie « Thunderbird », Serveur de
messagerie « HmailServer »

Serveur Mail

W10PKI WEBPKI
• Client de messagerie
« Thunderbird » • Serveur de messagerie
• WireShark « HmailServer »
• OpenSSL

5.1 Installation d’openSSL


• Se connecter en administrateur sur la machine cliente « W10PKI » et sélectionner dans
le répertoire « C:\Distrib_W10_PGP » le binaire « Win64OpenSSL-1_1_1h.msi ».
• Lancer l’installation de openSSL

Page 27/62
• Cliquer sur « « finish »

5.2 Génération d’un certificat « autosigné »


• Avec l’interpréteur de commande se placer dans le répertoire « C:\Program
Files\OpenSSL-Win64\bin »

• Créer une clé privée : « openssl genrsa -aes256 -out certificate.key 4096 »

• Créer une demande de certificats :


« openssl req -new -key certificate.key -out certificate.pem »
• Remplir les informations demandées. Bien préciser le nom du serveur « webpki » pour
lequel ce certificat est destiné.

Page 28/62
• Générer le certificat signé par la clé privée (certificat autosigné sans passer par une
autorité de certification)
openssl x509 -req -days 365 -in certificate.pem -signkey certificate.key -out
certificate.pem

• Examiner le certificat généré avec la commande suivante :


openssl x509 -text -noout -in certificate.pem

5.3 Configuration SSL sur le serveur « HmailServer »


• Copier le certificat autosigné et la clé privée sur le bureau du serveur « WebPKI »

• Sur le serveur, dans la partie « SSL certificates » rajouter la clé privé « certificat.key » et
le certificat (clé publique) « certificat.pem »
Remarque : Il est possible de renommer le fichier « certificat.pem » en « certificat.crt », ainsi il
sera reconnu par le système Windows.

Page 29/62
• Configurer les protocoles SMTP et IMAP pour utiliser le certificat généré en utilisant
« StartTLS »
 Configuration SMTP sécurisée + Save
 Configuration IMAP Sécurisée + Save

Remarque : STARTTLS est un moyen de prendre une connexion non chiffrée existante, et la
"mettre à jour" vers une connexion sécurisée en utilisant SSL/TLS avec les mêmes numéros
de port. TLS lui impose de changer de port et définit des ports spécifiques pour chaque
protocole sécurisé.

Page 30/62
Le tableau suivant donne les ports utilisés pour l’utilisation de « SSL » ou « StartTLS »
Usage Port Sécurité recommandée si un certificat SSL installé
SMTP 25 StartTLS (Facultatif)
SMTP via SSL / TLS 465 SSL / TLS
SMTP présentation 587 StartTLS (obligatoire)
POP3 110 StartTLS (obligatoire)
POP3 via SSL / TLS 995 SSL / TLS
IMAP 143 StartTLS (obligatoire)
IMAP via SSL / TLS 993 SSL / TLS

5.4 Configuration des clients de messagerie pour l’utilisation de SSL


• Se connecter sur w10PKI et lancer si nécessaire le client de messagerie « ClientMail1 »
• Sélectionner « Paramètres du compte » et « paramètres serveur »
• Modifier « Sécurité de la connexion » en « StartTLS » pour IMAP
• Procéder de même pour « Serveur Sortant SMTP »

• Faire un test d’envoi de mail de user1 vers user2

Le client de messagerie détecte que le certificat est auto-signé et n’envoie donc pas le message
Bien que ça soit une pratique non recommandable, il existe une solution pour contourner ce
problème qui est de déclarer le certificat « autosigné » en tant qu’autorité de certification dans
le client de messagerie.

Page 31/62
• Sélectionner « chiffrement de bout en bout », puis « gestion des certificats S/MIME » et
« autorités ».
• Cliquer sur « Importer » pour importer « certificat.pem » et faire le paramétrage suivant :

• Refaire un test d’envoi de mail de user1 vers user2


Cette fois pas de message d’erreur, le message a été envoyé.
• Configurer « ClientMail2 » de la même manière que pour « user2 » et relever le courrier
dans la boîte de réception.

• Lancer Wireshark sans filtre


• Envoyer un message de user1 vers user2
Q : Que pouvez-vous analyser dans l’outil de capture ?
On ne voit plus que des trames TCP correspondant au flux chiffré. Plus rien n’est visible. La
protection est optimale. Cependant la solution « certificat autosigné » n’est pas à privilégier
surtout en entreprise.
Il est possible de visualiser les trames TLS en modifiant le paramétrage de l’outil Wireshark
pour examiner les échanges TLS.

Page 32/62
6 TP4 : Installation d’une Autorité de Certification « Microsoft »
Objectifs du TP 4 :
- Installer une autorité de certification Microsoft
- Examiner les paramètres de la console « Autorité de Certification »
Machines : Contrôleur de Domaine avec autorité de certification « DCADPKI »
Outils : console « Autorité de Certification »

Serveur WEB

Autorité de
Contrôleur de Certification WEBPKI
domaine

DCADPKI
W10PKI DOMAINE ADPKI.CORP

Les actions seront réalisées avec le compte « administrateur du domaine » sur le serveur
« DCADPKI » où est installé l’Autorité de Certification
Prérequis à l’installation de l’autorité de certification
• Installation Active Directory « DCADPKI »
• Création d’un compte de test dans l’Active Directory (Cf annexe)
• Intégration des machines « W10PKI » et « WEBPKI » dans le domaine Active Directory
« ADPKI » (Cf annexe)

Page 33/62
6.1 Installer l’autorité de certification Microsoft
On va installer l’autorité de certification sur la machine qui est « contrôleur de Domaine ».
(Attention à ne jamais faire en production)
• Paramétrer l’affichage des extensions de fichiers

• Lancer le gestionnaire de serveur sur le serveur et ajouter le rôle CA avec les


fonctionnalités associés

• Cliquer « Ajouter des rôles et fonctionnalités » puis suivant

• Suivant

• Cocher « Services de Certificats Active Directory »

• Cliquer sur « Ajouter des fonctionnalités » + « Suivant » + « Suivant »

Page 34/62
• Cocher également « Inscription de l’autorité de certification via le Web »

• Cliquer sur « Suivant » + « Suivant » + « Suivant » puis sur « Installer »


• Lorsque l’installation est terminée, on procède à la « configuration des services de
Certificats » en étant « administrateur du domaine »

• Cliquer « Suivant »

• Cliquer sur « Suivant » pour définir le type d’autorité de Certification et cocher « Autorité
de certification d’entreprise »
Page 35/62
• Cliquer sur « Suivant » pour le type d’AC et cocher « Autorité de certification racine »

• Cliquer sur « Suivant » et cocher « créer une clé privée »

• Cliquer sur « Suivant » et laisser les options de chiffrement par défaut

• Cliquer sur « Suivant » et définir le nom de l’AC « CORP-ROOT-CA »

• Cliquer sur « Suivant » et définir une période de validité de 20 ans

Page 36/62
• Cliquer sur « Suivant » et laisser par défaut le chemin base de données de certificats

• Cliquer sur « Suivant » et valider la configuration en cliquant sur « Configurer »

Les services sont en cours d’installation

A la fin de la configuration, le statut doit être « configuration réussie »

• Cliquer sur « Fermer »


L’autorité de certification est maintenant opérationnelle.

Page 37/62
6.2 Examiner les paramètres de la console d’administration
• Lancer la console d’administration de l’autorité de Certification

La console de gestion apparait et il est possible de gérer maintenant l’autorité de certification

La console d’administration de l’AC présente plusieurs dossiers qui vont comporter les
certificats ainsi que les modèles. Nous reviendrons plus en détail sur les différents dossiers à
la suite des différentes manipulations.
• Pour accéder au paramétrage, faire un clic droit sur l’AC puis cliquer sur « Propriétés »

Les onglets que l’on modifie régulièrement sont :


Extensions : qui permet de configurer les emplacements de révocations des certificats
Audit : qui permet d’activer la journalisation d’événements
Sécurité : qui permet de gérer les permissions

Page 38/62
Dans l’onglet général afficher le certificat de l’AC et examiner ce certificat
Q : Pourquoi ce certificat doit être autosigné ? Quel est son rôle ?
C’est la première autorité de certification de la PKI et racine de confiance. Le certificat ne
peut être signé par une autre AC. On construit donc un certificat “auto-signé”, cad un
certificat signé par la clé privée correspondant à la clé publique inscrite dans le certificat.
Q : Quelle sera la taille par défaut de la bi-clé RSA ?

2048 Bits
Q : Qu’est-ce une extension X509 ?
Dans la norme X509v3, il y a des extensions dites « standards ». Les extensions sont des
informations importantes dans les certificats fournissant des paramètres pour une
application qui utilise le certificat. Elles donnent des informations complémentaires
concernant l'utilisation des certificats ou les attributs des utilisateurs et des CA. Chaque
extension est considérée comme critique ou non critique.
Q : Quelle sera l’utilisation ce cette clé (Extension X509 Key Usage) ?

Q : Quelle sera la durée de validité par défaut du certificat Racine ?

20 ans

Q : Que faudra-t-il faire à l’approche de cette date ? Quelle incidence sur les certificats
générés avec ce nouveau certificat ?
Mettre en place une procédure de migration
Les certificats sont toujours valables

Q : Pourquoi le champ « algorithme de signature » fait -il référence à deux


algorithmes ?
« SHA 256 RSA » : indique l'algorithme de hachage (SHA256) et l'algorithme de
chiffrement (RSA). La signature se fait en deux étapes faisant intervenir « hachage » et
chiffrement. Tout d'abord, les données du certificat sont hachées produisant une
représentation unique des informations. L’empreinte ou condensat est ensuite chiffré avec
la clé privée de l’AC générant le certificat. La vérification de la signature se fait comme suit :
l'utilisateur, possédant la clé publique de la CA, l'utilise pour retrouver la valeur de
l’empreinte du certificat. Il la calcule également et compare les deux valeurs. Si elles
coïncident alors la signature est valide : les données signées sont intègres et authentifiées.

Page 39/62
7 TP5 : Inscription des certificats dans une PKI
Objectifs du TP 5 :
- Générer un modèle de certificat
- Inscrire un certificat à l’aide du modèle généré
- Publier une liste CRL
Machines : Contrôleur de Domaine avec autorité de certification « DCADPKI » et poste client
« W10PKI »
Outils : console « Autorité de Certification », console « certificats »

DOMAINE ADPKI.CORP

Autorité de
Certification
Génération d un modèle
Contrôleur de ADPKIUser
domaine

W10PKI

DCADPKI
Inscription du Certificat

• Sur le poste client w10PKIX, se connecter avec le compte créé dans l’annuaire Active
Directory
• Lancer une mmc dans la console

• Ajouter le composant enfichable « Certificats » et enregistrer cette console « certificats »


sur votre Bureau

Page 40/62
Q : Comment un poste client sait qu’il y a une Autorité de Certification d’entreprise ?
Grace au certificat racine déployé sur cette même machine de façon automatique lors de
l’intégration à l’annuaire Active Directory.

On peut faire une demande de certificats depuis un poste client via la console « certificats »

7.1 Les modèles de certificat ?


Permettent de personnaliser certains paramètres lors de la création des certificats
• Définissent les propriétés des certificats émis :
 La durée de validité,
 Le\les rôles,
 Qui peut inscrire les certificats,
 Méthode d’inscription, …
Par défaut à l’installation de l’Autorité de Certification, il existe un ensemble de modèles déjà
personnalisés permettant d’inscrire des certificats.

Les supprimer

Page 41/62
7.2 Création d’un modèle de certificats « ADPKIUser »
• Se positionner sur « modèle de certificats » dans la console de l’AC

On va dupliquer le modèle de certificats « utilisateur »

• Sélectionner « Dupliquer le modèle »

• Sélectionner les paramètres de compatibilité avec l’AC « Windows 2016 »

Inscrire le nom du modèle de certificat « ADPKIUser »

Page 42/62
On autorise l’exportation de la clé privée au format « pfx » et mise au coffre

• Dans l’onglet sécurité, laisser par défaut :


 Les utilisateurs du domaine peuvent inscrire les certificats
 Les utilisateurs authentifiés peuvent les lire.
Il faut appartenir à ces deux groupes pour faire une demande de certificats et l’inscrire dans
son environnement

• Sélectionner l’onglet « extensions » et l’item « Stratégies d’applications »

Page 43/62
• On rajoute 2 fonctionnalités « Chiffrement de document » et « signature de document »

Sélectionner le « Nom du sujet ». On récupère l’information d’appartenance du certificat à partir


de l’AD. Le format est « Nom Unique ». Les informations de compte UPN et de messagerie
seront inclus dans le certificat.

Valider ce modèle en cliquant sur « Appliquer » puis « OK »

Pour le moment l’AC ne délivre aucun modèle. Il faut ajouter ce nouveau modèle pour qu’elle
puisse le délivrer.

Page 44/62
7.3 Inscription d’un « certificat » et publication de la liste CRL
• Se connecter sur le poste « W10PKI » et lancer la console certificats
• Sélectionner « Demander un nouveau certificat »

L’onglet « inscription de certificats » apparait

• Cliquer sur « Suivant »

• Cliquer sur « Suivant », la fenêtre « demande de certificats » apparait

• Sélectionner le modèle « ADPKIUser » défini et cliquer sur « inscription »

Une erreur apparait liée à l’indisponibilité d’adresse de messagerie pour l’utilisateur.


• Cliquer sur « fermer »
Page 45/62
Q : Pourquoi cette erreur d’absence de nom de courrier électronique apparait -elle ?
La stratégie d’extension fait apparaitre la fonctionnalité « Messagerie électronique
sécurisée ». Chaque compte doit être associé à une adresse de messagerie. Un serveur
Mail devrait être configuré.

• Lancer la console « Utilisateur et ordinateurs Active Directory », positionner une adresse


mail dans le champ « adresse de messagerie » et cliquer sur « appliquer »

Relancer la procédure d’inscription. Un autre message d’erreur apparaît

Q : Qu’est-ce qu’une liste de révocation des certificats ? A quoi sert -elle ? Pourquoi
est-il nécessaire de la publier ?
Une Liste de Révocations de Certificats (CRL) est la liste des identifiants (numéros de série)
des certificats révoqués. C’est une liste des certificats qui ne sont plus valides et qui ne sont
plus dignes de confiance. Ce mécanisme est fondamental pour les PKI car c’est par la
révocation que l’on se prémunit d’attaques non prévisibles sur les clefs ou de
compromissions accidentelles.
Un certificat peut devenir invalide pour de nombreuses raisons autres que l’expiration
naturelle, comme la perte ou la compromission de la clef privée associée au certificat, des
changements de champs inclus dans le nom du détenteur du certificat, ou encore des
changements de droits d’accès. Ainsi, dans la chaîne de vérification d’un certificat, il faut
toujours vérifier la date de fin de validité du certificat, mais également que le certificat n’est
pas contenu dans la toute dernière CRL publiée.

Page 46/62
Q : Pourquoi les certificats et les listes de révocations sont-elles publiées dans un
annuaire ?
Le propre d’un certificat est d’être une donnée publique accessible à des entités qui ne se
connaissent pas. La publication des certificats sur un annuaire assure qu’un certificat est
accessible à tout moment par les autres utilisateurs.
Lorsqu’un certificat est révoqué par une AC, quelle qu’en soit la raison (perte ou vol de la
clef privée, sortie d’un réseau de communication, etc.), l’AC doit diffuser l’information de
cette révocation aux autres utilisateurs pour que ceux-ci n’utilisent plus la clef publique.
Ainsi l’information doit donc être publiquement accessible à tout moment. Cette diffusion est
réalisée par la publication de la CRL. S’il n’y pas de liste publiée, l’inscription de certificats
échoue.
Effectuer la publication de la CRL vide
• Lancer la console « Autorité de certification » sur le serveur « DCADPKI » et se
positionner sur « certificats révoqués »
• Sélectionner « publier »

La fenêtre « Publier la liste de révocation des certificats » apparait

• Laisser l’option par défaut « Nouvelle liste de révocation des certificats » et cliquer sur
« OK »
• Se connecter sur « W10PKI » et relancer le processus d’inscription des certificats
• Sélectionner le modèle « ADPKIUser » et cliquer sur « détails »

Page 47/62
• Cliquer sur « propriétés » et sélectionner l’onglet « général » pour mettre un nom
convivial afin d’identifier plus facilement le certificat.
• Cliquer sur « Appliquer » et « OK » puis sur « inscription »
• L’opération doit se terminer avec succès. Cliquer sur « OK »

Le certificat a été délivré

7.4 Analyser le certificat délivré


Afficher les propriétés de ce certificat et répondez aux questions suivantes :
Q : Est-ce que ce certificat contient une clé privée

Oui ce certificat est associé à une clé privée que l’on peut exporter au format « .pfx »

Q : Quelle est la version de ce certificat ?


La norme décrit dans la [RFC2459] décrit la version 3 des certificats X.509 et la version 2
des CRL, a été mise à jour dans la [RFC5280]

Q : Quelle est le propriétaire de ce certificat ?


Le demandeur inscrit dans Active Directory est le propriétaire de ce certificat
Q : Qu’est-ce qu’une extension X 509 ? Citer quelques extensions X.509 standards
associées à ce certificat ?
Les extensions sont des champs optionnels, permettant d'obtenir davantage d'informations
concernant le certificat. Elles peuvent être normalisées, ou ajoutées par les Autorités de
Certification. Les extensions utilisées dans ce certificat sont :
 Utilisation de la clé
 Utilisation avancée de la clé
 Ponts de distribution de la liste de révocation
 Accès aux informations de l’autorité

Page 48/62
Q : Quelle est l’utilisation de la clé ? Quelle est la différence en l’extension
« utilisation de la clé » et « utilisation avancée de la clé »
Les valeurs de « utilisation de la clé » sont :
• Signature numérique : utilisation lorsque la clé publique est utilisée avec un
mécanisme de signature numérique pour soutenir des services de sécurité autres que
la non-répudiation, la signature de certificat ou la signature de CRL. Une signature
numérique est souvent utilisée pour l'authentification des entités et l'authentification de
l'origine des données avec intégrité.
• Chiffrement de la clé (a0) : À utiliser lorsqu'un certificat sera utilisé avec un protocole
chiffrant les clés. Un exemple est S/MIME, où une clé rapide (symétrique) est chiffrée
avec la clé publique du certificat. Le protocole SSL effectue également le chiffrement
des clés.
Les extensions d'utilisation des clés définissent l'objectif de la clé publique contenue dans
un certificat.
Les extensions d'utilisation avancée des clés (Extended Key Usage) sont une méthode
permettant d’appliquer la clé publique d'un certificat pour une utilisation à un ensemble
prédéterminé de situations. Par exemple « Chiffrement des fichier EFS », « messagerie
électronique sécurisée » ou « chiffrement des documents »
Q : A quoi sert l’extension « Accès aux informations de l’autorité »

C’est un lien vers le certificat de l’autorité de certification. Il est utile si le logiciel qui vérifie
le certificat ne connait pas ce certificat dans sa base.

Q : Où est publiée la liste de révocation pour ce certificat ?

Il est publié dans l’annuaire « ADPKI.CORP » dans une endroit appelé la partition de
configuration et visible pour toutes les machines de l’infrastructure AD

Q : Où est l’extension qui fait référence au modèle utilisé pour créer ce certificat ?
Quelle est la version du modèle utilisé ?
L’extension utilisé est « Informations du modèle de certificat »
Version 100.3

Page 49/62
8 TP6 : Utilisation de certificats avec un serveur web
Objectifs du TP :
- Installer/paramétrer un serveur Web Apache sous Windows
- Inscrire un certificat sur un serveur Web à l’aide d’un modèle
Machines : Serveur Windows 2016 « WEBPKI », Contrôleur de Domaine avec autorité de
certification « DCADPKI » et poste client « W10PKI »
Outils : console « Autorité de Certification », console « certificats »,Serveur Apache
Prérequis : Serveur « WebPKI » intégré au domaine AD

WEBPKI
APACHE
Inscription du Certificat

Autorité de
Contrôleur de Certification Accès au site en
domaine HTTPS

Navigateur
DCADPKI

W10PKI
DOMAINE ADPKI.CORP

8.1 Installer et Paramétrer un serveur Apache Windows


• Se connecter avec « administrateur du domaine » sur le serveur « WebPKI » pour faire
l’installation du serveur Apache

• Se placer dans le répertoire des binaires « distrib_WEBPKI »


• Décompresser l’archive et placer le dossier « Apache24 » directement sous « c:\ »
• Lancer un interpréteur « cmd » et se placer dans le répertoire « Apache24\bin »

Page 50/62
• Installer Apache en tant que service Windows en exécutant la commande suivante
« httpd.exe -k install »

• Aller dans la console service (service.msc) et démarrer le service

Vérifier que le serveur est bien démarré en lançant le navigateur IE

Pour un accès depuis la machine W10PKI, on autorisera les connexions entrantes pour le profil
de domaine sur le firewall (Si le firewall est désactivé ou déjà configuré ne rien faire)

8.2 Se connecter de façon sécurisée à un serveur « Web Apache »


8.2.1 Créer un modèle de certificat pour le serveur
• Se connecter sur « DCADPKI » avec le compte « administrateur du domaine »
• Se positionner sur la « modèle de certificats » dans la console de l’Autorité de
Certification »

On va dupliquer le modèle de certificats « Serveur Web »


• Sélectionner « Dupliquer le modèle »

Page 51/62
• Sélectionner les paramètres de compatibilité avec l’Autorité de certification « Windows
2016 »
• Inscrire le nom du modèle de certificat « ServeurApache »
• On autorise l’exportation de la clé privée au format « pfx » et mise au coffre

• Dans l’onglet sécurité, on donne les droits à « administrateur » et aux « utilisateurs


authentifiés » d’inscrire le certificat.

• Sélectionner l’onglet « extensions » et laisser par défaut la stratégie « authentification


du serveur »

Page 52/62
• Sélectionner le « Nom du sujet ». On récupère l’information d’appartenance du certificat
à partir de l’AD. Le format est « Nom Unique ». Les informations de compte UPN et de
messagerie seront inclus dans le certificat.

• Valider ce modèle en cliquant sur « Appliquer » puis « OK »

8.2.2 Générer un certificat pour le serveur Web Apache


• Sur le serveur « WebPKI » avec le compte « administrateur du domaine »
• Lancer une console « mmc » et mettre en place le composant affichable certificats.

• Sélectionner « certificats » et « compte ordinateur »

• Cliquer sur « Suivant » et laisser par défaut « ordinateur local »

Page 53/62
• Cliquer sur Terminer » et « Ok »
• Enregistrer la console sur le Bureau
• Initier une demande de certificats en se positionnant sur « personnel » et sélectionner
« Demander un nouveau certificat »

• Cliquer sur « Suivant » et « Suivant »


• Sélectionner le modèle proposé « ServeurApache » et configurer les paramètres
• Définir le nom complet : « cn=webpki, dc=adpki, dc=corp »

• Définir le nom DNS : « webPKI.adpki.corp »

• Cliquer sur « appliquer », puis « OK »


• Lancer l’inscription du certificat.
Le certificat généré n’est pas exploitable tel quel sur le serveur Apache. Il faut inscrire les
paramètres de ce certificat au format « crt » codé en base 64. Tout d’abord on va exporter le
certificat au format « pfx » avec sa clé privée !
• Cliquer sur exporter

• Cliquer sur « Suivant »


Page 54/62
• Cliquer sur « Suivant »

• Cliquer sur « Suivant » et définir un mot de passe pour protéger la clé privée

»
• Exporter le fichier dans le répertoire “apache24\conf”

• Cliquer sur « Suivant » et « terminer »

Le format binaire « pfx » n’est pas directement utilisable avec le fichier de configuration du
serveur apache. Il faut exporter ce certificat et sa clé privée sous le format « pem » (base64)
éditable. On va pouvoir accéder à la clé privée de cette façon.

Page 55/62
Q : Lister les formats de certificats et leurs différences ?

pfx, .p12, .pem, .der, .crt ou .cer ? Il faut savoir que l’extension du fichier du certificat
SSL/TLS n’est pas importante. Un certificat SSL/TLS peut être enregistré au format txt
(qui est également le plus courant pour la plupart des serveurs Linux, Apache, Unix et
autres) ou binaire (Java, Microsoft Server). Un certificat est enregistré dans un fichier de
texte codé en Base64. Le fichier est lisible dans un éditeur de texte (Notepad) et comporte
les indications ----BEGIN et ----END CERTIFICATE.

Le format binaire des certificats ne peut pas être ouvert dans un éditeur de texte.
Format PEM : Le format le plus utilisé valable pour les certificats et les clés privées. La
plupart des serveurs (par exemple Apache) utilisent la clé privée et le certificat dans les
fichiers séparés. Des certificats PEM sont au format texte codé en Base64.
✓ PEM est un fichier codé en Base64 utilisant des caractères ASCII.
✓ Les extensions sont généralement .cer, .crt, .pem ou .key (pour la clé privée).
✓ Ils sont utilisés pour les serveurs Apache et autres serveurs sous OS Unix/Linux

Format DER : DER est un format de certificat binaire. Ce n'est pas un fichier texte et par
conséquent, il ne peut pas être édité, ouvert et copié en tant que texte en Base64 (dans le
Notepad etc.).
✓ Tous les types de certificats et clés privées peuvent être sauvegardés au format DER.
✓ Les extensions sont généralement .cer ou .der.
✓ Ils utilisent généralement les plates-formes Java.

Format P7B/PKCS#7 : Le format P7B est un format basé sur le Base64. Les extensions
sont « .p7b » ou « .p7c ».
✓ Un fichier P7B contient le certificat et des certificats de chaîne (certificats
intermédiaires) sans la clé privée.
✓ Ils utilisent les plate-formes Java Tomcat.

Format PFX/P12/PKCS#12 : Le format PKCS#12 ou .pfx/P12 est un format binaire et


contient le certificat (et son intermédiaire) et la clé privée. Le fichier .pfx est protégé par un
mot de passe.
✓ Les extensions sont « .pfx » et « .p12 »
✓ Utilisé sous Windows pour importer et exporter le certificat avec la clé privée.
✓ Les fichiers PFX sont également utilisés pour la signature dans Microsoft Authenticode.

• Lancer l’interpréteur « cmd » et se place dans le répertoire « c:\apache24\bin ». On va


utiliser « Openssl » fourni par Apache pour convertir le fichier au format base64 (.pem)
• Lancer la commande suivante :
openssl pkcs12 -in c:\Apache24\conf\webpki.pfx -out c:\Apache24\conf\webpki.pem
-nodes

Page 56/62
A partir de « webpki.pem », on génère manuellement avec « notepad », les trois fichiers
suivants :
 Le certificat du serveur avec sa clé publique : « wekpki.crt »
 La clé privée du serveur : « webpki.key »
 Le certificat de l’autorité de Certification avec sa clé publique : « wekpki.ac »
Attention, veiller à laisser un « saut de ligne » après «END CERTIFICATE » pour l’ensemble
des trois fichiers. Par exemple voici le fichier « wekpki.crt »

Les différentes clés sont prêtes à mettre en place.

Page 57/62
8.2.3 Mettre en œuvre SSL pour sécuriser les flux
• Sur le serveur « WebPKI » avec le compte « administrateur du domaine »
• Ouvrir dans l’éditeur « notepad » le fichier « httpd.conf » situé dans le répertoire « conf »
• Activation des modules en décochant les lignes suivantes :

• Ouvrir avec « notepad » le fichier « http-ssl.conf » situé dans le répertoire « conf »


• Modifier les lignes suivantes

• Enregistrer le fichier et redémarrer le service « apache » dans la console des services


Windows.
• Le redémarrage ne doit pas poser de problèmes sinon investiguer les fichiers à clé
publiques et privée générés.
Page 58/62
8.2.4 Vérifier la connexion « Https » au serveur Web
• Sur « W10PKI », lancer le navigateur « Internet Explorer »
• Se connecter de façon sécurisée à la page par défaut du serveur WEB Apache
• Vérifier que la connexion s’effectue bien de manière sécurisée avec le protocole
« HTTPS »

• Cliquer sur le cadenas pour faire apparaitre le certificat

Le client a récupéré le certificat du serveur avec sa clé publique afin de chiffrer les
communications et authentifier le serveur.

8.3 Configuration du serveur Web pour authentifier un utilisateur par


certificat.
En construction
Modifiez votre fichier « http-ssl.conf » avec les paramètres suivants sur le serveur « WebPKI »,
et redémarrez apache
SSLCACertificateFile <chemin_vers_le_certificat_de_la_CA>
SSLVerifyClient require
SSLVerifyDepth 10
Explicitez la signification de ces changements dans le comportement du serveur Web.
Pouvez-vous toujours vous connecter au site web ? Pourquoi ?
Importez le certificat et la clef utilisateurs créés précédemment dans votre navigateur. Que
constatez-vous quant à l'accès au site ?

Page 59/62
9 Annexes

9.1 Créer un compte de test dans l’Annuaire Active Directory


o Exécuter la commande « dsa.msc » pour afficher la console d’administration
o Se positionner sur le container « users » et cliquer sur « nouveau utilisateur »

o Créer un compte (par exemple prénom + nom en abrégé)

Page 60/62
9.2 Intégrer le poste « Windows 10 » à votre domaine AD
Attention le DNS du poste doit faire référence à l’IP du contrôleur de domaine

Ouvrez la console PowerShell en tant qu'administrateur.

Set-executionpolicy RemoteSigned pour exécuter les scripts localement (exécuter en tant qu’admi-
nistrateur)

Saisissez la commande suivante, en remplaçant le nom du domaine. Si votre PC parvient à joindre


votre domaine, vous serez invité à saisir les identifiants nécessaires pour l'intégrer.

Add-Computer -Domain ADPKIX.corp

Pour finir, s'il n'y a pas d'erreur vous pouvez redémarrer :


Page 61/62
Restart-Computer
Le PC est intégré dans le domaine
Une fois le poste redémarrer, l'écran d'accueil apparait, faire "ctrl+alt+suppr" pour ouvrir une session
sur le domaine avec le compte administrateur du domaine.

Page 62/62

Vous aimerez peut-être aussi