Activer le SSL dans IIS 7.0 sous Windows Vista
Date de publication : 09/07/2007
Par
Ronald VASSEUR (autres articles)
Dans cet article nous allons voir comment utiliser SSL dans IIS 7.0 sans pour autant
devoir se procurer un certificat en bonne et due forme auprès d'une autorité
de certification reconnue, ce qui est relativement onéreux et pas forcément indispensable
quand il s'agît comme nous de l'utiliser sur une machine de développement et
non dans un environnement de production. Il y a de cela presque trois ans
j'avais écris un article sur le même sujet mais à l'époque
sous IIS 5.0 qui était livré avec Windows 2000. Voyons depuis le chemin
parcouru, et apprécions sans plus tarder la simplicité qu'apporte le
nouveau IIS en la matière.
Introduction
1. Qu'est-ce que SSL ?
2. Installation d'IIS 7.0
3. Génération d'un certificat
4. Mise en place du SSL
Conclusion
Introduction
Windows Vista inclut une nouvelle version de Internet Information
Services, il s'agît de la 7.0, qui succède côté système d'exploitation
client à la version 5.1 intégrée à Windows XP Pro. La version 6.0
était quand à elle intégrée à Windows Server 2003. Le IIS nouveau
cru possède de nombreuses améliorations, qui, pour
certaines sont très intéressantes. Je ne m'attarderai cependant pas sur
celles-ci car ce n'est pas l'objet de cet article, mais si vous
souhaitez en savoir plus je vous renvoie vers le très bon site en
anglais
www.iis.net.

Dans cet article nous allons voir comment utiliser SSL dans IIS 7.0 sans pour autant
devoir se procurer un certificat en bonne et due forme auprès d'une autorité
de certification reconnue, ce qui est relativement onéreux et pas forcément indispensable
quand il s'agît comme nous de l'utiliser sur une machine de développement et
non dans un environnement de production. Il y a de cela presque trois ans
j'avais écris un article sur le même sujet mais à l'époque
sous IIS 5.0 qui était livré avec Windows 2000. Voyons depuis le chemin
parcouru, et apprécions sans plus tarder la simplicité qu'apporte le
nouveau IIS en la matière.
1. Qu'est-ce que SSL ?
SSL, pour Secure Socket Layer, est un protocole de sécurité
permettant d'encrypter les données échangées entre serveurs Web
et clients. Ce protocole est extrêmement répandu, par exemple
la quasi-totalité des sites d'e-commerce l'utilise. La mise en
place de SSL sur IIS 7.0 nécessite l'emploi d'un certificat de sécurité
numérique qui va servir à encoder et décoder les données chiffrées
transitant dans un flux SSL.
2. Installation d'IIS 7.0
 |
Remarque : quelque soit le processus que vous utilisez vous devez
avoir à l'esprit que vous devez être titulaire des privilèges
administrateur sur la machine sur laquelle vous souhaitez installer
IIS 7.0. Pour cela en fonction du compte que vous utilisez et du
paramétrage de l'UAC de Windows Vista vous devrez fournir les
informations (identifiant et mot de passe) d'un compte administrateur,
ou autoriser l'élévation du niveau de privilège au niveau
administrateur.
|
Deux possibilités s'offrent ici à nous. La ligne de commande ou
l'interface graphique. Voyons comment procéder, et les avantages
et inconvénients des deux solutions.
La ligne de commande : Windows Vista intègre un nouvelle utilitaire
nommé Package Manager qui permet, entre-autres, d'ajouter ou de
supprimer des fonctionnalités de Windows. Grâce à cet utilitaire
utilisable depuis la ligne de commande vous allez pouvoir choisir
chaque fonctionnalité à installer, sans pour autant devoir dérouler
les multiples sous menus de l'installation de IIS depuis
l'assistant habituel de gestion des fonctionnalités Windows. De
plus, cette solution s'avère idéale pour les administrateurs qui
veulent déployer IIS 7.0 sur de nombreuses machines en utilisant
un simple script. Bref, je ne vais pas vous faire la promotion
de la ligne de commande, mais sachez qu'ici c'est l'option que
je préfère.
Voici la commande permettant d'installer l'ensemble des fonctionnalités d'IIS 7.0 :
start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;
IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;
IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;
IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;
IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;
IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;
IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;
IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;
IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;
IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;
IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;
IIS-LegacyScripts;IIS-LegacySnapIn;IIS-FTPPublishingService;IIS-FTPServer;IIS-FTPManagement;
WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

Ligne de commande pour installer IIS 7.0
Assistant de gestion des fonctionnalités Windows : comme pour les
versions précédentes de Windows, celui-ci est accessible depuis
le panneau de configuration. Ensuite il faut double cliquer sur
"Programmes et fonctionnalités". Cliquez sur "Activer ou désactiver
des fonctionnalités Windows". Dans la liste déroulante sélectionnez
toutes les sous fonctionnalités de "Services Internet (IIS)" que
vous souhaitez installer. Après avoir coché les fonctionnalités
souhaitées, il ne vous reste plus qu'à cliquer sur "Ok",
l'assistant va alors configurer Windows et IIS de manière adéquate.

Ajout de fonctionnalités Windows
A ce stade votre IIS est installé et fonctionnel, voyons maintenant
comment générer notre certificat qui nous permettra d'utiliser SSL
pour sécuriser tout ou partie d'une application web.
3. Génération d'un certificat
Contrairement à ce que l'on rencontrait dans les versions précédentes
de IIS, 5.0 et 6.0, ici tout est fait pour rendre l'opération rapide
et simplissime. Tout d'abord, allez dans le panneau de configuration,
puis dans les outils d'administration. Double-cliquez sur
"Gestionnaire des services Internet (IIS)" pour lancer la toute
nouvelle console de gestion d'IIS 7.0. Cette opération nécessite
des privilèges administrateur.
Dans la colonne de gauche, présentant l'arborescence de votre
serveur IIS, placez vous sur l'élément racine, puis double cliquez
sur "Serveur de certificats" dans la partie centrale de la console.
Dans la partie droite de la console, dans la colonne "Action",
cliquez sur "Créer un certificat auto-signé". Un assistant se
lance et vous demande de saisir un nom convivial pour le certificat
à générer. Cliquez sur "Ok". Votre certificat est désormais créé,
vous voyez à quel point cette opération est d'une grande complexité...

Création d'un certificat auto-signé
Vous devez maintenant voir apparaitre ce nouveau certificat dans la partie centrale
de la console. Au passage, remarquez que ce certificat à une validité
d'un an. En double-cliquant sur le certificat vous affichez une
fenêtre présentant les différentes caractéristiques de celui-ci. Reste maintenant
à utiliser ce certificat pour sécuriser les échanges à l'aide de SSL.
4. Mise en place du SSL
Nous allons devoir indiquer à IIS que nous souhaitons utiliser ce
certificat pour sécuriser le flux SSL sur notre serveur. Cela
s'effectue également depuis la console de gestion d'IIS. Tout
d'abord, il faut sélectionner le site web sur lequel nous souhaitons
activer le SSL, puis cliquer dans la colonne de droite sur "Liaisons"
("Bindings" pour les versions anglaises) puis sur le bouton "Ajouter".
Nous allons ajouter un nouveau type de liaison. Sélectionnez https dans
la liste déroulante, laissez le port 443 inchangé, il s'agit du port
de communication par défaut de https, le port par défaut pour http est
je vous le rappelle le port 80. Sélectionnez ensuite le certificat
que nous venons de créer dans la liste prévue à cet effet, cliquez
sur "OK", et voilà c'est terminé.

Liste des bindings

Ajouter un nouveau binding
Pour vérifier que votre site est bien accessible par le biais du
protocole SSL tapez dans votre navigateur préféré l'URL de votre
site, bien évidemment précédé de https et non de http. Un petit
cadenas doit apparaitre sur votre navigateur signalant que la
connexion est sécurisée.
 |
Remarque : si vous utilisez IE 7.0 il est possible que votre navigateur
affiche un message d'erreur vous informant que ce certificat n'est pas
valide, c'est tout à fait normal. En effet ce certificat n'a pas
été crée par une autorité de certification reconnue. Mais ceci
n'est pas grave car nous utilisons ce certificat à des fins
de test et non en production, vous pouvez donc ignorer l'avertissement
et consulter tranquillement votre site en SSL en cliquant sur
"Poursuivre avec ce site Web (non recommandé)".
|

Avertissement Internet Explorer 7
Conclusion
Comme vous avez pu le voir c'est absolument simplissime, depuis la
version 5.0 le processus à été grandement simplifié, notamment au
niveau de la génération du certificat, en effet IIS effectue desormais cette tâche
de manière autonome. Vous devez savoir qu'il est
possible de paramétrer très finement quelle partie de votre application
doit être accédée en SSL ou non, la console de IIS vous autorise de
telles configurations en accédant aux paramètres SSL de l'objet
sélectionné, cela peut être par exemple un site web ou un répertoire
virtuel. J'espère vous avoir montré à quel point cette opération est
simple et que vous n'hésiterez plus a tester vos applications en cours de développement avec
SSL lorsque cela est nécessaire. Il est évident que vu la nature de
notre certificat il ne peut servir qu'en environnement de développement,
mais le processus en production avec un certificat émis par une
autorité de certification dite de confiance serait à peu de chose près le
même.


Copyright © 2007 Ronald Vasseur. Aucune reproduction, même partielle, ne peut être faite
de ce site et de l'ensemble de son contenu : textes, documents, images, etc
sans l'autorisation expresse de l'auteur.
Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
Cette page est déposée à la
SACD.