How TO Sécurisation des services Web avec SSL & Win2003

Publié le par Teruin

COMMENT FAIRE : Sécurisation des services Web XML avec SSL (Secure Socket Layer) dans Windows Server 2003

Numéro d'article : 324284
Dernière mise à jour : lundi 17 novembre 2003
Version : 6.1

Résumé

Cet article pas-à-pas décrit comment configurer un service Web XML existant pour qu'il utilise un canal crypté avec une connexion SSL (Secure Socket Layer).

Configuration de votre serveur Web pour SSL

Votre service Web XML sera exécuté sous IIS (Internet Information Server) et reposera sur ce dernier pour fournir la prise en charge de SSL. Pour cette raison, vous devez d'abord installer un certificat de serveur SSL sur votre serveur de manière à pouvoir activer la prise en charge de SSL. Pour ce faire, procédez comme suit :
1. Si vous avez acheté un certificat de serveur auprès d'une autorité de certification tierce ou si vous disposez d'une autorité de certification d'entreprise, passez à l'étape 2.

Dans le cas contraire, pour installer les services de certificats, procédez comme suit :
a. Démarrez l'utilitaire Ajouter ou supprimer des programmes.
b. Cliquez sur Ajouter ou supprimer des composants Windows.
c. Activez la case à cocher Services de certificats.
d. Suivez les instructions données à l'écran pour terminer l'installation.
2. Pour exécuter l'Assistant Certificat de serveur Web, procédez comme suit :
a. Démarrez le Gestionnaire des services IIS.
b. Cliquez avec le bouton droit sur le site pour lequel vous voulez des certificats.
c. Cliquez sur Propriétés, cliquez sur l'onglet Sécurité de répertoire, puis cliquez sur Certificat de serveur.
3. Dans l'Assistant Certificat de serveur Web, cliquez sur Suivant.
4. Cliquez sur Créer un nouveau certificat, puis cliquez sur Suivant.
5. Cliquez sur Préparer la demande, mais ne pas l'envoyer maintenant, puis cliquez sur Suivant.
6. Tapez un nom pour le certificat, sélectionnez la Longueur en bits, puis cliquez sur Suivant.
7. Tapez les noms d'organisation de votre entreprise et d'unité d'organisation, puis cliquez sur Suivant.
8. Tapez le Nom commun, puis cliquez sur Suivant.

REMARQUE : Indiquez le nom commun pour le serveur qui exécute votre service Web XML.
9. Complétez la page des informations géographiques, puis cliquez sur Suivant.
10. Tapez un nom de fichier pour votre demande de certificat, puis cliquez sur Suivant.
11. Cliquez sur Suivant.
12. Cliquez sur Terminer.
13. Quand vous terminez l'Assistant, une demande de certificat est enregistrée dans un fichier que vous spécifiez. Par défaut, il s'agit du fichier c:\Certreq.txt.
14. Effectuez une des actions suivantes :
Si vous soumettez votre certificat à une autre autorité de certification, soumettez votre application en suivant les indications de l'autorité de certification. Quand vous recevez votre fichier de certificat, ouvrez-le, puis passez à l'étape 15.
Si vous utilisez les services de certificats de Windows Server 2003 pour créer votre certificat, procédez comme suit :
a. Dans Internet Explorer, visitez le site Web suivant :
http://localhost/certsrv
b. Cliquez sur Demander un certificat.
c. Cliquez sur Demande de certificat avancée.
d. Cliquez sur Soumettre une demande de certificat en utilisant un fichier crypté en Base64 PKCS #10 ou une demande de renouvellement en utilisant un fichier crypté en Base64 PKCS #7.
e. Sur la page Soumettre une demande de certificat ou de renouvellement, cliquez sur Parcourir pour insérer un fichier, spécifiez le fichier que vous avez créé à l'étape 13, cliquez sur Lecture, puis cliquez sur Envoyer.

REMARQUE : Vous pouvez également copier et coller le contenu du fichier de demande de certificat dans la zone de texte Demande enregistrée.
f. Cliquez sur Démarrer, pointez sur Outils d'administration, puis cliquez sur Autorité de certification.
g. Développez le nom de votre autorité de certification, puis double-cliquez sur le dossier Demande en attente.
h. Cliquez avec le bouton droit sur la demande de certificat que vous venez d'envoyer, pointez sur Toutes les tâches, puis cliquez sur Délivrer.
i. Quittez la console de gestion des autorités de certification.
j. Dans Internet Explorer, visitez le site Web suivant :
http://localhost/certsrv
k. Cliquez sur Afficher le statut d'une requête de certificat en attente.
l. Cliquez sur la demande que vous venez de créer.
m. Sur la page Certificat délivré, sélectionnez un des schémas de codage, puis cliquez sur Télécharger le certificat.
n. Cliquez sur Enregistrer dans la boîte de dialogue qui concerne la sécurité.
o. Cliquez sur Fermer.
15. Dans le Gestionnaire des services IIS, cliquez avec le bouton droit sur le site virtuel pour lequel vous avez créé le certificat, puis cliquez sur Propriétés.
16. Cliquez sur l'onglet Sécurité de répertoire, puis cliquez sur Certificat du serveur.
17. Cliquez sur Suivant.
18. Cliquez sur Traiter la demande en attente et installer le certificat, puis cliquez sur Suivant.
19. Cliquez sur Parcourir, recherchez votre fichier de certificat et cliquez sur celui-ci, puis cliquez sur Suivant.
20. Cliquez sur Suivant.

REMARQUE : Si une boîte de dialogue apparaît pour avertir que le certificat peut provenir d'une source non approuvée, cliquez sur OK.
21. Cliquez sur Terminer.

Installation du certificat de votre autorité de certification sur le client

Si vous avez utilisé vos propres services de certificats, procédez comme suit pour installer le certificat de votre autorité de certification sur le client en tant qu'autorité de certification racine de confiance :
1. Dans Internet Explorer, visitez le site Web suivant, où ServeurCertificats est le nom du serveur de services de certificats qui a délivré le certificat qui va être utilisé sur le serveur Web :
http://ServeurCertificats/certsrv
2. Cliquez sur Télécharger un certificat d'autorité de certification, une chaîne de certificats ou une liste de révocation de certificats.
3. Cliquez sur Télécharger un certificat d'autorité de certification.
4. Dans la boîte de dialogue Téléchargement de fichier, cliquez sur Ouvrir.
5. Dans la boîte de dialogue Certificat, cliquez sur Installer le certificat.
6. Dans l'Assistant Importation de certificat, cliquez sur Suivant.
7. Cliquez sur Sélectionner automatiquement le magasin de certificats selon le type de certificat, puis cliquez sur Suivant.
8. Cliquez sur Terminer.
9. Cliquez sur OK pour indiquer que l'importation s'est faite correctement.
10. Cliquez sur OK pour fermer la boîte de dialogue Certificat.
Si vous envisagez d'accéder à votre service Web XML à partir d'une page ASP, procédez comme suit pour ajouter le certificat de l'autorité de certification au magasin racine approuvé de l'ordinateur :
1. Dans Internet Explorer, visitez le site Web suivant, où ServeurCertificats est le nom du serveur de services de certificats qui a délivré le certificat utilisé sur le serveur Web :
http://ServeurCertificats/certsrv
2. Cliquez sur Télécharger un certificat d'autorité de certification, une chaîne de certificats ou une liste de révocation de certificats.
3. Cliquez sur Télécharger un certificat d'autorité de certification.
4. Dans la boîte de dialogue Téléchargement de fichier, cliquez sur Enregistrer.
5. Cliquez sur Fermer.
6. Cliquez sur Démarrer, puis sur Exécuter.
7. Dans la zone Ouvrir, tapez mmc, puis cliquez sur OK.
8. Dans le menu Fichier, cliquez sur Ajouter/Supprimer un composant logiciel enfichable.
9. Cliquez sur Ajouter. Cliquez sur Certificats, puis cliquez sur Ajouter.
10. Cliquez sur Compte d'ordinateur, puis cliquez sur Suivant.
11. Cliquez sur Ordinateur local, puis cliquez sur Terminer.
12. Cliquez sur Fermer, puis cliquez sur OK.

La liste des catégories de certificats pour l'ordinateur local apparaît dans la fenêtre des composants logiciels enfichables.
13. Développez Certificats (Ordinateur local).
14. Développez Autorités de certification racines de confiance.
15. Cliquez avec le bouton droit sur Certificats, pointez sur Toutes les tâches, puis cliquez sur Importer.
16. Dans l'Assistant Importation de certificats, cliquez sur Suivant.
17. Cliquez sur Parcourir, puis recherchez le certificat que vous avez enregistré à l'étape 14,n.
18. Cliquez sur le fichier, puis cliquez sur Ouvrir.
19. Cliquez sur Suivant.
20. Cliquez sur Suivant, puis cliquez sur Terminer.
21. Cliquez sur OK pour indiquer que l'importation s'est faite correctement.

Modification du WSDL de HTTP en HTTPS

1. Modifiez les fichiers WSDL (Web Service Description Language) pour votre service de telle façon que l'adresse de votre service Web commence par https au lieu de http. Vérifiez que la copie des fichiers WSDL utilisés par votre client indique également https.
2. Pour les projets Microsoft Visual Studio .NET, quand vous ajoutez une référence Web, vous pouvez spécifier une adresse URL https comme emplacement du service Web XML. Pour cela, modifiez la classe créée par Microsoft Visual Studio .NET qui enveloppe le service Web et la ligne de code définissant l'URL. Pour un projet C#, après que vous l'ayez modifiée, la ligne de code est similaire à la ligne suivante, où MonOrdinateur désigne le serveur Web qui héberge les services Web sécurisés par SSL :
this.Url = "https://MonOrdinateur/MonSW/Service1.asmx"; 
Il est à présent possible d'accéder à votre service Web XML via SSL.

Vérification de la configuration de SSL

Pour déterminer si SSL est correctement configuré, essayez d'utiliser une adresse URL https comme celle qui suit, où MonOrdinateur désigne le serveur Web qui héberge les services Web sécurisés par SSL :
https://MonOrdinateur/test/test.asmx
Si vous pouvez atteindre cet emplacement sans message d'erreur de Internet Explorer, c'est que votre configuration est correcte. Vous pouvez maintenant essayer d'accéder à votre service Web par programmation.

Restrictions à des accès via SSL uniquement

Pour vous assurer que seules les demandes SSL sont acceptées par votre service Web, procédez comme suit pour configurer, dans le Gestionnaire des services Internet, le répertoire virtuel où réside votre service Web XML pour qu'il utilise uniquement SSL :
1. Cliquez sur Démarrer, pointez vers Outils d'administration, puis cliquez sur Services IIS.
2. Développez l'ordinateur qui héberge le site Web de votre service Web XML.
3. Développez le dossier Sites Web.
4. Développez le site Web qui héberge votre service Web XML.
5. Cliquez avec le bouton droit sur le répertoire virtuel où se trouve votre service Web XML, puis cliquez sur Propriétés.
6. Cliquez sur l'onglet Sécurité de répertoire, puis cliquez sur Modifier en-dessous de la section Communications sécurisées.
7. Dans la boîte de dialogue Communications sécurisées, cliquez sur Requérir un canal sécurisé (SSL), puis cliquez sur OK deux fois.

Commenter cet article