TP SSL

Transcription

TP SSL
TP RPV DE NIVEAU APP LICATION
EXTRANET
Étudions le cas de l’entreprise MAROQ. L’entreprise a décidé d’ouvrir une partie de son SI (Système
d’information) à ses partenaires. Cette ouverture s’effectue par la création d’un site web privé
accessible seulement aux partenaires autorisés. Les communications doivent être chiffrées et les
partenaires authentifiés.
Il s’agit ici donc ici de mettre en place un RPV de niveau applicatif. Les éléments nécessaires à la mise
en place de ce RPV sont les suivants :

un certificat numérique obtenu auprès d’une autorité de certification mondialement reconnue
pour le serveur Web ; Ceci permettra aux partenaires de vérifier qu’ils sont bien sur le site de
l’entreprise MAROQ.

un certificat numérique pour chacun des partenaires qui permettra de vérifier l’identité du
partenaire (dans le cadre de ce TP, ces certificats client seront délivrés par la même autorité de
certification, dans la réalité ils pourraient être délivrés par une autorité de certification interne
à l’entreprise MAROQ) ;

le protocole SSL pour chiffrer les communications ;
Sur le schéma ci-dessous vous trouverez une présentation des différents intervenants :
Au cours de ce TP, vous jouerez les trois rôles suivants :

Le rôle de l’administrateur réseau de l’entreprise MAROQ, qui va mettre en place le serveur
Web, installer le site web, demander son certificat auprès de l’autorité de certification, activer
le protocole SSL et rendre obligatoire l’authentification des clients ;

Le rôle d’un partenaire de l’entreprise MAROQ qui va demander un certificat auprès de
l’autorité de certification et se connecter au serveur web de l’entreprise MAROQ ;

Le rôle de l’autorité de certification qui va réceptionner les demandes de certificats et délivrer
ces derniers.
1
Marie-pascale Delamare
Le temps consacré à ce TP étant limité, j’ai déjà installé sur le réseau en adresse 172.16.4.160, un
serveur win2003 virtuel qui jouera le rôle de l’autorité de certification (mais la procédure d’installation
est cependant expliquée en annexe 1).
Pour ce TP vous avez donc besoin d’un serveur 2003 (virtuel) qui jouera le rôle du serveur Web de
l’entreprise MAROQ et d’un poste client quelconque (votre machine hôte). Toutes ces machines
doivent au moins être en réseau poste à poste. Aucune machine ne doit porter le même nom, changez
donc le nom de votre machine virtuelle 2003.
Nota : Pour rédiger ce TP, mon poste client était soit 192.168.0.1soit 192.168.0.4, mon autorité de
certification en 192.168.0.6 et mon serveur web en 192.168.0.200. Tenez-en compte au moment
de la lecture des captures de trames proposées.
I
I.1
INSTALLATION ET TEST DE FONCTIONNEMENT DU SITE
INSTALLER IIS (INTERNET INFORMATION SERVICES)
Sur votre serveur 2003, vous devez installer IIS. L’installation d’IIS est nécessaire, car c’est le
composant Windows de publication sur internet. Il prend en charge à la fois le service Web et le
service FTP au minimum. Je vous renvoie vers les documentations Microsoft pour plus de précisions.
Lancez l’assistant « Configurer votre serveur » et installez la fonction Serveur d’application (IIS).
Créez une page par défaut pour votre site web (vous pouvez vous contenter de modifier le titre de la
page par défaut).
I.2
TESTER LE FONCTIONNEMENT DU SITE DEPUIS L’ENTREPRISE PARTENAIRE
Depuis le client symbolisant le partenaire de l’entreprise MAROQ, accédez au site web de l’entreprise
MAROQ. A l’aide de WIRESHARK effectuez une capture de cet échange. Voici ce que vous devriez
obtenir après avoir défini le filtre d’affichage à « http » :
2
Marie-pascale Delamare
II
CONFIGURATION DU SITE AU SEIN DE L’ENTREPRISE MAROC – PRÉPARATION DE
L’AUTHENTIFICATION DU SITE
Sur votre serveur 2003 ou 2008, vous devez demander un certificat pour votre site web.
II.1
CRÉER D’UNE DEMANDE DE CERTIFICAT POUR UN SITE WEB
Chaque site Web hébergé sur votre serveur Web nécessite un certificat distinct si vous souhaitez que le
protocole SSL fonctionne correctement. La première étape du processus de création d'un certificat
consiste à générer une demande de certificat que vous soumettrez à l’autorité de certification.
Dans le composant logiciel enfichable Internet Information Services, cliquez avec le bouton droit sur
le site pour lequel vous souhaitez générer le certificat, puis cliquez sur Propriétés. Ici vous choisissez
le site Web par défaut.
Sous l'onglet Sécurité de répertoire, cliquez sur Certificat de serveur. L'Assistant Certificat de
serveur Web démarre. Suivant > Créer un certificat > Suivant > Préparer la demande, mais ne
pas l'envoyer maintenant > Suivant.
Ensuite, vous devez attribuer un nom au certificat et sélectionner une longueur (en bits). Le nom doit
être descriptif et évocateur. La longueur en bits définit la puissance de cryptage de vos clés publiques
et privées. Dans la plupart des cas, vous devez choisir la longueur la plus élevée que vous êtes
autorisée à utiliser. Puis Suivant.
Vous avez désormais créé une paire clé publique/clé privée. Ces clés sont stockées localement sur le
serveur Web. Les étapes finales permettent de créer une demande de signature de certificat (CSR,
Certificate-Signing Request). Les informations de la demande identifient le propriétaire de la clé et
s'affichent sur votre certificat. La CSR est utilisée uniquement pour demander le certificat auprès de
l’autorité de certification. Certains caractères doivent être exclus des champs de votre CSR ; sinon,
votre certificat risque de ne pas fonctionner. N'utilisez aucun des caractères suivants : ! @ # $ % ^ * ( )
~?><&/\
Organisation Définit le nom légal de votre entreprise, comme par exemple MAROQ.
Unité d'organisation Définit le département de votre entreprise responsable du certificat, comme par
exemple B2B, puis Suivant, puis entrez le nom usuel de votre site Web. Comme, dans le cadre de ce
TP, le certificat est destiné à être utilisé sur un LAN, le nom usuel est le nom NetBIOS du
serveur. Lorsque le certificat est destiné à être utilisé sur Internet, le nom usuel doit être un nom DNS
valide. Puis Suivant.
Entrez les informations géographiques relatives à votre entreprise dans les différents champs, puis
Suivant.
Ensuite, vous devez spécifier le nom et le chemin du fichier de demande de certificat. Par défaut, le
nom et le chemin du fichier sont définis sur C:\CERTREQ.TXT, mais vous pouvez le modifier.
Terminez le processus de génération de la demande.
Nota : Vous remarquerez que c’est l’entreprise demandeuse d’un certificat qui crée sa paire de
clef publique/privée.
II.2
ENVOYER UNE DEMANDE DE CERTIFICAT À L’AUTORITÉ DE CERTIFICATION
Après avoir créé une demande de signature de certificat, vous devez l'envoyer aux services de
certificats à l'aide de l'interface Web de l’autorité de certification. L’autorité de certification porte le
nom « Certification ». Pour ce faire, procédez de la façon suivante :
3
Marie-pascale Delamare
La demande de signature de certificat est stockée sous forme de fichier texte ASCII dans le fichier que
vous avez spécifié à l'étape précédente. Ouvrez ce fichier dans le Bloc-notes et copiez tout le texte de
la demande, y compris les instructions BEGIN et END, dans le presse-papiers.
Vous pouvez désormais envoyer la demande à l’autorité de certification (CA). Démarrez votre
navigateur Web et tapez l'URL de l’CA, telle que http://Certification/certsrv/. Vous devez voir
s'afficher la page principale des services de certificats. Puis Demander un certificat > Demande de
certificats avancée > Soumettez une demande de certificat > Collez la demande dans la zone de
texte > Envoyer.
Si vous avez effectué ce processus correctement, la page finale indique que votre demande a été reçue
et qu'elle est en attente d'approbation par l'autorité de certification. Si la demande présente un
problème, une page d'erreur vous demande de contacter votre administrateur pour obtenir de l'aide. Sur
la page d'erreur, vous pouvez cliquer sur Détails pour en savoir plus sur l'erreur. Vous devrez peut-être
recréer la demande de certificat ou y revenir afin de vous assurer que vous n'avez pas inséré par
mégarde des espaces ou caractères supplémentaires.
Nota : Vous avez ici effectué votre demande de certificat, il faut maintenant attendre la réponse
de l’autorité de certification pour récupérer votre certificat. Celui-ci ne sera délivré que lorsque
l’autorité de certification aura vérifié les informations que vous lui avez fournies et qu’elle aura
utilisé sa propre paire de clef publique/privée pour signer électroniquement votre demande de
certificat qui deviendra alors un vrai certificat.
III
APPROBATION DE LA DEMANDE DE CERTIFICAT DU SITE AU SEIN DE L’AUTORITÉ
DE CERTIFICATION
Pour savoir comment approuver la demande de certificat, reportez-vous à l’annexe 1.
IV
CONFIGURATION
DU
SITE
WEB
AU
SEIN
DE
L’ENTREPRISE
MAROQ
–
AUTHENTIFICATION DU SITE
Sur votre serveur 2003, vous devez installer ce certificat pour votre site web.
IV.1
RÉCUPÉRER SON CERTIFICAT AUPRÈS DE L’AUTORITÉ DE CERTIFICATION
Une fois la demande approuvée par l’autorité de certification mondialement reconnue, utilisez
l'interface Web de cette dernière pour récupérer le certificat signé. Pour ce faire, procédez de la façon
suivante :
Démarrez votre navigateur Web et tapez l'URL de l’autorité de certification, telle que
http://Certification/certsrv/ : Afficher le statut d’une requête de certificat en attente.
Vous devez voir s'afficher une liste de demandes en attente. Les demandes sont répertoriées avec une
description et un horodatage. Sélectionnez la demande pour le site souhaité.
Si un certificat a été délivré pour la demande, vous devez voir s'afficher une page indiquant que le
certificat demandé vous a été délivré. Télécharger le certificat > Enregistrer ce fichier sur le
disque. Vous devez utiliser « .cer » comme extension du fichier.
IV.2
INSTALLER SON CERTIFICAT
Lorsque vous avez reçu le certificat de l'autorité, vous pouvez l'installer en procédant de la façon
suivante :
Dans le composant logiciel enfichable IIS, cliquez avec le bouton droit sur le site pour lequel vous
souhaitez générer le certificat, puis Propriétés > Sous l'onglet Sécurité de répertoire > Certificat de
4
Marie-pascale Delamare
serveur > Suivant > Traiter la demande en attente et installer le certificat > Suivant > Parcourir
pour rechercher le fichier enregistré à l’étape précédente > Suivant > Confirmer le numéro de port
utilisé par le protocole SSL > S'il s'agit du certificat correct Suivant > Terminer.
IV.3
AFFICHER LES PROPRIÉTÉS DU CERTIFICAT
Afficher le certificat > Onglet Détails. Les champs de l'onglet Détails sont les suivants :
Numéro de série Le numéro de série unique du certificat
Algorithme de signature L'algorithme de cryptage utilisé pour créer la signature du certificat
Émetteur L'Autorité de certification émettrice du certificat
Valide à partir du La date à partir de laquelle le certificat est valide
Valide jusqu'au La date à laquelle le certificat expire
Objet Champ utilisé pour définir le sujet du certificat, lequel inclut généralement l'identification et les
informations géographiques
Clé publique La clé publique cryptée du certificat
Algorithme d'empreinte numérique L'algorithme de cryptage utilisé pour créer l'empreinte
numérique du certificat
Empreinte numérique L'empreinte numérique cryptée de la signature
Nom convivial Le nom descriptif attribué au certificat
Nota : vous pouvez constater que l’autorité de certification utilisée n’est pas reconnue, par notre
serveur web. Nous allons maintenant lui indiquer que cette autorité de certification est digne de
confiance. Pour cela cliquez sur le certificat de l’autorité racine de nom « Certification » et
« Installer le certificat ». Affichez de nouveau le certificat, vous constatez que l’autorité de
certification est elle-même reconnue.
IV.4
ACTIVER SSL
L'installation automatique d'un certificat de site active le protocole SSL de sorte qu'il puisse être
utilisé. Nous allons exiger l'utilisation de SSL et empêcher l'utilisation de communications non
sécurisées.
Dans le composant logiciel enfichable IIS, cliquez avec le bouton droit sur le site Web que vous
souhaitez gérer, puis cliquez sur Propriétés > Onglet Sécurité de répertoire > Communications
sécurisées > Modifier > Requérir un canal sécurisé (SSL).
Vous pouvez également sélectionner Exiger le cryptage 128 bits si votre serveur est configuré avec
un niveau de cryptage 128 bits activé.
V
ACCÉS AU SITE WEB DEPUIS L’ENTREPRISE PARTENAIRE – AUTHENTIFICATION DU
SITE
V.1
ACCÉDER AU SITE DE MAROQ
Depuis le client web (internet explorer) de votre machine XP PRO, accédez au site web de l’entreprise
MAROC. Vous tombez sur une mise en garde de sécurité. En effet le partenaire n’a pas approuvé
l’autorité de certification et donc le site web n’est pas un site digne de confiance. Nous pourrions
approuver simplement le certificat du site, mais nous allons plutôt approuver l’autorité de certification
et par-là même approuver tous les certificats émis par cette autorité de certification.
5
Marie-pascale Delamare
V.2
ENREGISTRER LE CERTIFICAT DE L’AUTORITÉ DE CERTIFICATION « CERTIFICATION »
Vous devez commencer par charger le certificat de l’autorité de certification, en utilisant l’application
de cette dernière. Tapez donc url http://Certification/certsrv dans votre navigateur Internet Explorer.
Choisissez Télécharger un certificat d’autorité de certification > Télécharger un certificat
d’autorité de certification > Enregister.
Dans Internet explorer Outils > Options > Onglet Contenu > Certificats > Autorités de
certification racine de confiance > Importer le certificat enregistré précédemment. Puis vérifiez
que le certificat de l’autorité de certification est maintenant approuvé.
V.3
TESTER SSL
Depuis le client Web situé sur XP PRO, accéder au site web en utilisant le protocole https. Si vous
avez toujours un avertissement de sécurité, interrogez ce site web par son nom netbios après avoir mis
à jour votre fichier hosts dans C:\Windows\System32\drivers\etc. A l’aide de WIRESHARK effectuez
une capture de cet échange. Voici ce que vous devriez obtenir après avoir décoché le mode
« promiscuous » dans les options de capture :
Nota : si vous avez des problèmes avec SSL, reportez-vous à l’annexe 2
VI
ANALYSE DES CAPTURES DE TRAMES
Comparez les deux captures de trames. Relevez le nom des protocoles utilisés sur les messages
échangés entre le client et le serveur.
En Http : __________________________________________________________________________
En Https : _________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
6
Marie-pascale Delamare
Nota : Nous sommes ici dans la situation des entreprises diffusant un site marchand sur Internet
avec appel du protocole SSL au moment du paiement sécurisé.
VII
CONFIGURATION DU SITE AU SEIN DE L’ENTREPRISE MAROQ – AUTHENTIFICATION
DES CLIENTS
Les certificats client permettent aux utilisateurs de s'authentifier, auprès du serveur web, par
l'intermédiaire de leur navigateur Web. Vous devez utiliser des certificats client si vous vous voulez
accéder à un site Web externe sécurisé, comme par exemple celui de l’entreprise MAROQ.
Dans le composant logiciel enfichable IIS, cliquez avec le bouton droit sur le site Web que vous
souhaitez gérer, puis cliquez sur Propriétés > Onglet Sécurité de répertoire > Modifier > Sur le
panneau Certificats clients > Exiger les certificats clients.
Remarque Vous pouvez uniquement exiger des certificats client lorsque les communications SSL
sécurisées sont également exigées. Pour cette raison, vous devez activer la case à cocher Exiger un
canal sécurisé (SSL) lorsque vous souhaitez exiger des certificats client.
VIII
DEMANDE DE CERTIFICAT CLIENT AU SEIN DE L’ENTREPRISE PARTENAIRE
Vous devez commencer par faire une demande de certificat auprès de l’autorité de certification, en
utilisant l’application de cette dernière. Tapez donc url http://Certification/certsrv dans votre
navigateur Internet Explorer (problème avec Firefox).
Demander un certificat > Certificat de navigateur Web > Saisissez les Informations
d’identification > Envoyer.
IX
APPROBATION DE LA DEMANDE DE CERTIFICAT CLIENT AU SEIN L’AUTORITÉ DE
CERTIFICATION
Pour savoir comment approuver la demande de certificat, reportez-vous à l’annexe 1.
X
X.1
INSTALLATION DU CERTIFICAT CLIENT AU SEIN DE L’ENTREPRISE PARTENAIRE
INSTALLER LE CERTIFICAT DE NAVIGATEUR WEB
Vous devez récupérer votre certificat. Tapez donc url http://Certification/certsrv dans votre navigateur
Internet Explorer (problème avec Firefox).
Sélectionnez une tâche > Afficher le statut d’une requête de certificat en attente > Suivant.
Vous devez voir s'afficher une liste de demandes en attente. Les demandes sont répertoriées avec une
description et un horodatage. Sélectionnez votre demande de certificat de navigateur web, puis
Installer le certificat.
Nota : vous pouvez vérifier que votre certificat client est bien installé dans votre navigateur web
en faisant « Outils, Options, Contenu, Certificats »
X.2
TESTER LE FONCTIONNEMENT DU SITE
Depuis le client web du partenaire de l’entreprise MAROQ, accédez au site web en utilisant le
protocole https. Cela fonctionne-t-il ? ___________________________________________________
__________________________________________________________________________________
7
Marie-pascale Delamare
XI
RECONNAISSANCE DE L’AUTORITÉ DE CERTIFICATION PAR LE SERVEUR DE
L’ENTREPRISE MAROQ
En fait cela ne fonctionne pas encore car nous n’avons pas dit à l’ordinateur hébergeant IIS de
reconnaître l’autorité de certification racine « Certification » (nous l’avons dit au navigateur mais pas à
l’ordinateur et donc pas à IIS).
Pour cela faîtes : Menu Démarrer > Exécuter > mmc. Puis dans la console, Fichier >
Ajouter/Supprimer > Certificats. Choisissez maintenant le composant logiciel Certificats > Le
compte d’ordinateur > Ordinateur local. Dans le composant logiciel Certificats, développez le
répertoire Autorités de certification racines de confiance > Certificats. Vous remarquez que
l’autorité de certification « Certification » n’apparaît pas.
Aller dans votre navigateur et exporter le certificat de l’autorité de certification « Certification », puis
retourner dans la console et importer ce même certificat dans les dossiers Autorités de certification
racine de confiance\Certificats.
Nota : https://cert.startcom.org/?app=118&lang=fr
XII
ACCÉS AU SITE DEPUIS L’ENTREPRISE PARTENAIRE – AUTHENTIFICATION DU
SERVEUR ET DU CLIENT
Depuis le client web du partenaire de l’entreprise MAROQ, accédez au site web en utilisant le
protocole https. A l’aide de WIRESHARK effectuez une capture de cet échange. Voici ce que vous
devriez obtenir après avoir défini le filtre suivant dans Wireshark (Capture > Options > Capture Filter
>.):
8
Marie-pascale Delamare
XIII
ANALYSE DES CAPTURES DE TRAMES
Comparez les trois captures de trames.
Nota : Nous venons d’installer un extranet de niveau application. Pour communiquer les clients
et le serveur doivent s’authentifier. Le site web www.impots.gouv.fr utilise cette architecture
pour vérifier l’identité des personnes venant faire leur déclaration d’impôt en ligne. Il possède
un certificat mondialement reconnu pour l’authentification du site web et une autorité de
certification interne pour distribuer les certificats des clients et permettre leur authentification.
9
Marie-pascale Delamare
ANNEXE 1 INSTALLATION D’UNE AUTORITÉ DE
CERTIFICATION
I
INSTALLER IIS (INTERNET INFORMATION SERVICES)
L’installation de IIS est nécessaire, car c’est le composant Windows de publication sur internet. Il
prend en charge à la fois le service Web et le service FTP au minimum. Je vous renvoie vers les
documentations Microsoft pour plus de précisions.
Lancer l’assistant « Configurer votre serveur » et installer la fonction Serveur d’application (IIS et
ASP.NET).
Créer une page par défaut pour votre site web.
II
CRÉER UN REPERTOIRE PARTAGÉ QUI CONTIENDRA LES CERTIFICATS.
L'installation des services de certificats est un processus en plusieurs parties. Tout d'abord, vous devez
créer un dossier que les services de certificats peuvent utiliser pour stocker les certificats et les fichiers
de configuration. Le dossier doit être stocké sur l'ordinateur local sur lequel les services de certificats
seront installés. Le dossier doit également être configuré avec l'autorisation Lecture pour le groupe
implicite Tout le monde. Cela permet aux utilisateurs d'accéder au dossier et d'installer des certificats
à partir de celui-ci.
III
INSTALLER LES SERVICES DE CERTIFICATS
Après avoir créé le dossier de certificats et installé IIS, si nécessaire, vous devez installer les services
de certificats. Pour ce faire, procédez de la façon suivante :
Ouvrez une session sur le serveur de certificats à l'aide d'un compte disposant de privilèges
Administrateur, ou de privilèges Administrateur de domaine si vous créez une autorité de certification
d'entreprise.
Cliquez sur Démarrer, pointez sur Paramètres, puis cliquez sur Panneau de configuration.
Double-cliquez sur Ajout/Suppression de programmes. La boîte de dialogue Ajout/Suppression de
programmes s'affiche.
Démarrez l'Assistant Composants de Windows en cliquant sur Ajouter/Supprimer des composants
Windows.
Activez la case à cocher Services de certificats. Lorsque vous êtes invité à confirmer l'action, cliquez
sur Oui, puis sur Suivant.
Sélectionnez le type d'autorité de certification. Ici pour le TP nous choisissons Autorité racine
autonome.
Entrez les informations permettant d'identifier l'autorité de certification et de définir la date
d'expiration du certificat racine de l'autorité de certification.
Ensuite, spécifiez l'emplacement de stockage des données de configuration, de la base de données et
du journal. Par défaut, la base de données et le journal du certificat sont stockés dans le dossier
\%SystemRoot%\System32\CertLog. Utilisez également le champ Dossier partagé pour spécifier
l'emplacement du dossier de certificat créé précédemment, ou cliquez sur Parcourir pour rechercher
ce dossier.
10
Marie-pascale Delamare
Cliquez sur Suivant. Si IIS s'exécute sur le serveur de certificats, Windows devra arrêter les services
associés avant de continuer. Cliquez sur OK lorsque vous y êtes invité. L'Assistant Composants de
Windows commence à installer et à configurer les services de certificats.
Si, on vous demande d’activer les pages ASP, répondez oui, cela nous permettra d’utiliser le site Web
lié à l’installation de l’autorité de certification.
Cliquez sur Terminer pour terminer le processus.
Les demandes de certificats en attente s'affichent dans le nœud Demandes en attente du composant
logiciel enfichable Autorité de certification.
Vous pouvez approuver les demandes en attente en procédant de la façon suivante :
Démarrez le composant logiciel enfichable Autorité de certification, puis sélectionnez le nœud
Demandes en attente. Vous devez voir s'afficher une liste de demandes en attente.
Cliquez avec le bouton droit sur la demande que vous souhaitez approuver, pointez sur Toutes les
tâches, puis cliquez sur Délivrer.
Les services de certificats génèrent un certificat basé sur la demande et placent ce certificat dans la file
d'attente Certificats délivrés.
Les certificats sont valides pendant une année. Passé ce délai, ils doivent être renouvelés.
ANNEXE 2 RÉSOLUTION DES PROBLÈMES RELATIFS À
SSL
Sur le serveur
Assurez-vous d'avoir installé le certificat serveur sur le site Web approprié et que vous avez activé
SSL sur le site. Cette procédure doit permettre de résoudre un problème SSL lié au serveur.
Sur le client
Vous devez vérifier le niveau de chiffrement qui doit être cohérent avec celui du serveur. Vous devez
disposer d'une prise en charge 128 bits pour établir une session 128 bits.
Pour cela, cliquez droit sur la page web et Informations sur la page. Allez dans l’onglet Sécurité.
Vous pouvez alors vérifier de nouveau le certificat, et contrôler le niveau de chiffrement.
Dans le menu Outils, cliquez sur Options et Avancé. Assurez-vous que les options SSL 2.0 et
SSL 3.0 et TLS 1.0 sont sélectionnées.
11
Marie-pascale Delamare