Sécuriser IIS 7.x avec SSL

ssl-certificate-globalsign.gifVoilà depuis maintenant quelques billets que je parle de IIS. Nous allons ici, nous intéresser à la sécurisation de sites web à l’aide de SSL reposant sur une autorité de certification propre. Je vais même aller jusque vous montrer comment sécuriser, en plus de SSL, un site web qui exige un certificat utilisateur, un peu comme les sites gouvernementaux.

Installation de l’autorité de certification

Dans notre exemple, nous installons une autorité racine autonome, car le serveur n’est pas dans un domaine.

setup1.JPG

setup2.JPG

setup3.JPG

setup4.JPG

setup5.JPG

Dans la capture suivante, donner le nom de votre autorité de certification.

setup6.JPG

Je vous conseille de paramétrer 2 années. En effet, certaines études ont montrées que la cassage d’un certificat prends en moyenne 2 années, ainsi, même si on arrive à casser le certificat, celui-ci arrivera a expiration !

setup7.JPG

Dans l’autorité de certification, il est important d’activer le 2eme choix. Ainsi, les certificats seront automatiquement délivrés sans avoir a approuver manuellement chaque certificat. Dans mon exemple, je vais vous montrer sans l’activation de cette option.

activer.JPG

Installation de SSL dans IIS

ssl1.JPG

Donnez un nom commun, ou encore le nom FQDN de votre serveur WEB. J’ai mis ici E-NOVATIC, car mon serveur sera joignable à l’adresse http://e-novatic/.

ssl2.JPG

ssl3.JPG

Enregistrez la demande à l’endroit suivant c:\certificat.txt

ssl4.JPG

Ouvrez Internet Explorer à l’adresse http://votreserveur/certsrv et demandez un certificat.

ssl5.JPG

ssl6.JPG

ssl7.JPG

Copiez/coller le contenu de votre demande précédemment enregistrée. (c:\certificat.txt)

ssl8.JPG

Si vous n’avez pas activé l’option 2 dans l’autorité de certification, vous obtenez un numéro de demande. L’utilisateur contacte alors l’administration de l’autorité de certification afin de délivrer le certificat.

ssl9.JPG

ssl10.JPG

Votre certificat est correctement délivré. Reste à aller le chercher…

ssl11.JPG

Retour sur http://votreserveur/certsrv et afficher les demandes en cours.

ssl12.JPG

ssl13.JPG

Si vous avez activé l’option 2, lors de la demande de certificat, vous tomberez directement sur cette page. Bien entendu, je vous conseille d’enregistrer le certificat, plutôt que de l’ouvrir…

ssl14.JPG

ssl15.JPG

Retour dans la console de management IIS, et dans la section de droite, cliquez sur Terminer la demande de certificat.

ssl16.JPG

Paramétrage de SSL dans IIS

Dans cet exemple, je décide d’activer SSL sur tous mes sites web. Ainsi, les sites seront joignables sur le port 80 et 443.

ssl17.JPG

Exiger SSL pour un site avec certificat utilisateur

Dans un billet précédent, je vous montrais comment installer une application PHP dans IIS. Je vais ici exiger pour accéder à WordPress, plate-forme de blog d’être en SSL et que l’utilisateur doit être en possession d’un certificat utilisateur valide.

ssl18.JPG

Demande d’un certificat utilisateur

Depuis votre client, allez sur votre serveur http://votreserveur/certsrv ou alors faites-le vous-même pour votre utilisateur.

ssl19.JPG

ssl20.JPG

ssl21.JPG

Les champs renseignés ici sont importants, car ils permettront, dans le cas où il faut délivrer manuellement les certificats, de permettre une identification de l’utilisateur qui désire obtenir le certificat.

ssl22.JPG

Si depuis votre client, vous n’avez pas ajouté le présent serveur en tant que Autorité Racine de Confiance, le site CERTSRV vous le proposera de lui-même.

ssl23.JPG

Accès à WordPress en SSL

La page internet en fond indique un problème. Ceci est normal que le certificat généré (nom commun) est E-NOVATIC et nous accédons à WordPress avec http://localhost/wordpress. Donc, IE renvoie une erreur car le certificat n’est pas valide ! Sinon, nous remarquons ici que le site web demande un certificat utilisateur, qui ici est installé suite à nos manipulations précédentes.

ssl24.JPG

Nous avons accès à WordPress en SSL !

ssl25.JPG

Afin de votre démontrer l’explication ci-dessus, j’ajoute e-novatic dans le fichier HOST. Ainsi le certificat correspondra au nom FQDN du certificat. J’accède donc à WordPress avec l’adresse http://e-novatic/wordpress et je n’obtiens plus d’erreur de certificat.

ssl26.JPG