Prise en charge centralisée des certificats SSL IIS 8.0 : scalabilité et facilité de gestion SSL
par Shaun Eagan
Compatibilité
Version | Notes |
---|---|
IIS 8.0 | La prise en charge centralisée des certificats SSL a été introduite dans IIS 8.0. |
IIS 7.5 | La prise en charge centralisée des certificats SSL n'était pas prise en charge dans IIS 7.5. |
IIS 7.0 | La prise en charge centralisée des certificats SSL n'était pas prise en charge dans IIS 7.0. |
Problème
À mesure que de plus en plus de sites de commerce électronique sont mis en ligne et que de plus en plus d'entreprises stockent et partagent des documents sensibles en ligne, la capacité d'héberger et de faire évoluer des sites sécurisés devient de plus en plus importante. De plus, avec l'hébergement cloud et l'évolutivité élastique, la capacité du serveur doit être ajoutée et supprimée de manière dynamique. Avant Windows Server 2012, l'hébergement de sites sécurisés présentait quelques défis :
- scalabilité SSL: dans un environnement mutualisé, tel qu’un hébergement partagé, il existe une limitation quant au nombre de sites sécurisés pouvant être hébergés sur Windows Server, ce qui entraîne une faible densité de site.
- Gérabilité SSL: Les certificats sont stockés localement sur chaque serveur Windows. Par conséquent, ils doivent être gérés individuellement sur chaque serveur Windows Server. Une tâche simple telle que le renouvellement d'un certificat doit être répétée sur chaque serveur. De plus, l'ajout d'un nouveau serveur Windows peut prendre des heures si des milliers de certificats doivent être importés.
Solution
Sur Windows Server 2012, la fonctionnalité de prise en charge centralisée des certificats SSL permet aux administrateurs du serveur de stocker et d'accéder aux certificats de manière centralisée sur un partage de fichiers. Semblable à la fonctionnalité de configuration partagée introduite dans Windows Server 2008, les serveurs Windows d'une batterie de serveurs peuvent être configurés pour charger les certificats du partage de fichiers à la demande.
Avec cette fonctionnalité, l’expérience de gestion des liaisons SSL est beaucoup simplifiée. En ce qui concerne SSL, le nom DNS et le nom CN du certificat doivent correspondre. Un contrat similaire peut être étendu aux noms de fichiers des certificats. Par exemple, www.contoso.com
utiliserait le certificat avec un nom de fichierwww.contoso.com.pfx
. Ce contrat permet à IIS 8.0 de disposer d'une seule liaison SSL, quel que soit le nombre de sites sécurisés utilisant cette fonctionnalité. Le certificat correspondant est déduit de la valeur SNI ou du nom d'hôte du site Web demandé, et en le faisant correspondre au nom de fichier du certificat.
Instructions pas à pas
Prérequis
IIS 8.0 est installé sur Windows Server 2012 avec la fonctionnalité de certificat SSL centralisé. Cette fonctionnalité est un composant facultatif d'IIS et n'est pas installée dans le cadre de l'installation par défaut.
Pour installer cette fonctionnalité, à partir du Gestionnaire de serveur, veillez à sélectionner Prise en charge centralisée des certificats SSL sous le nœud Sécurité :
Exemples de certificats avec mot de passe NULL. (Ou vous pouvez avoir des exemples de certificats avec un mot de passe global.)
- Les certificats doivent avoir la convention d’affectation de noms de CN_name.pfx (autrement dit,
www.contoso.com.pfx
). - Si le certificat est un certificat wildchar, utilisez « _ » comme wildchar. (c'est,
_.contoso.com.pfx
). - Si le certificat a plusieurs noms CN, ils doivent être nommés en tant que fichiers individuels. (c'est,
www.contoso1.com.pfx
,www.contoso2.com.pfx
, etc.)
- Les certificats doivent avoir la convention d’affectation de noms de CN_name.pfx (autrement dit,
Deux partages de fichiers : un pour la configuration partagée et l’autre pour les certificats SSL centralisés.
- Le serveur IIS utilise la configuration partagée.
- Les exemples de certificats ont été copiés dans le partage de fichiers pour les certificats SSL centralisés.
\windows\system32\drivers\etc\hosts a été modifié pour être utilisé pour l’exemple de site et de certificat. Par exemple, si le nom CN du certificat est centralCert0, le fichier hosts doit contenir :
127.0.0.1 centralCert0
Solutions de contournement pour les bogues connus
Il n’y a aucun bug connu pour cette fonctionnalité pour le moment.
Configurer la fonctionnalité de prise en charge des certificats SSL centralisée
Ouvrez le Gestionnaire IIS.
Sélectionnez le nœud du serveur dans la fenêtre de navigation de gauche :
Sous Gestion, double-cliquez sur Certificats centralisés :
Dans le volet Actions, sélectionnez Modifier les paramètres de fonctionnalité :
Saisissez les informations suivantes :
Activer les certificats centralisés: sélectionné
Chemin d’accès physique : par exemple :
\\ccdemo\centralcert
- Il s’agit du chemin UNC vers le partage de fichiers où se trouvent les certificats.
Nom d’utilisateur : spécifiez un compte d’utilisateur disposant d’un accès en lecture au partage de fichiers.
Mot de passe Confirmer mot de passe.
Mot de passe de la clé privée du certificat :
Ce paramètre est facultatif. Si les certificats n’ont pas de mot de passe, laissez cette valeur vide.
Si les certificats ont un mot de passe global, entrez ce mot de passe ici.
La fonctionnalité de prise en charge des certificats SSL centralisée est désormais prête à être utilisée. Notez que le gestionnaire IIS lit les certificats et remplit les informations les plus pertinentes sur les certificats. Ces informations sont mises en cache pour de meilleures performances.
Une fonctionnalité de gestion remarquable est la possibilité de regrouper les certificats par date d'expiration :
Découvrez comment il est facile de voir les certificats qui :
Expiré
Expirer demain
Expirer cette semaine
Expirer la semaine suivante
Expirer le mois suivant
Ultérieurement
Créer un site web sécurisé
Ouvrez le Gestionnaire IIS.
Sélectionnez sites dans la fenêtre de navigation de gauche :
Sélectionnez Ajouter un site web :
Renseignez les informations, comme vous le feriez pour créer n’importe quel site :
Nom du site : centralCert0
Chemin d’accès physique :
c:\inetpub\wwwroot
Type : https
Nom d'hôte : centralcert0
- C'est une nouveauté pour Windows Server 2012 dans la mesure où le nom d'hôte peut être spécifié pour SSL.
- La valeur réelle de cette configuration varie en fonction de l'exemple de certificat utilisé.
Exiger une Indication du nom du serveur : Désélectionné
- Vous pouvez également choisir de sélectionner Exiger une Indication du nom du serveur si vous le souhaitez. Le magasin de certificats centralisé ne nécessite pas l'utilisation de SNI, mais il fonctionne correctement lorsque vous utilisez SNI.
- Notez que dans la version Développeur Preview, le magasin de certificats centralisé nécessitait également l'utilisation de SNI. Cette restriction a été supprimée depuis la version bêta.
Utiliser le magasin de certificats centralisé : sélectionné
- Notez qu’il n’est pas nécessaire de sélectionner un certificat correspondant spécifique à utiliser.
- Grâce à l’utilisation du contrat d’affectation de noms, le certificat correspondant est sélectionné automatiquement. Dans cet exemple, IIS tente de lire centralcert0.pfx à partir du partage de fichiers de certificat SSL central.
Vérifiez que le site a été créé :
Vous avez terminé. Le site sécurisé a été créé à l’aide de la prise en charge centralisée des certificats SSL. L’expérience de gestion est très similaire à la configuration partagée et à la liaison SSL traditionnelle. Les différences sont les suivantes :
- Les certificats sont stockés de manière centralisée sur un partage de fichiers.
- Le nom d’hôte peut être spécifié pour le site SSL.
- La liaison SSL n'est pas gérée explicitement 1-to-1.
Tester un site sécurisé
Ouvrez un navigateur et accédez à https://centralcert0/
. Notez que comme condition préalable, le fichier hosts doit être modifié pour acheminer cette requête vers localhost :
De plus, pour voir le nouveau type de liaison SSL, saisissez ce qui suit dans une fenêtre de ligne de commande élevée :
netsh http show sslcert
Notez que la liaison SSL est hostname:port avec la valeur *:443. En outre, aucun hachage de certificat n’est associé à cette liaison, car le certificat correspondant est chargé à la demande en fonction du contrat de nom de fichier du certificat.
Scénarios
Essayez de déployer les scénarios suivants :
La prise en charge centralisée des certificats SSL est conçue pour une mise à l’échelle pour un environnement mutualisé. Essayez de configurer des milliers de sites sécurisés à l’aide de cette fonctionnalité.
Avec des milliers de certificats, exécutez la commande suivante sur une fenêtre de ligne de commande avec élévation de privilèges. Notez que quel que soit le nombre de sites sécurisés, il n’existe qu’une seule liaison :
netsh http show sslcert
Essayez d’ajouter un nouveau serveur dans cette batterie de serveurs. À l’aide de la fonctionnalité de prise en charge des certificats SSL partagés et centralisée, il s’agit maintenant d’un processus en trois étapes :
Configurez le nouveau serveur pour utiliser la configuration partagée.
Configurez le nouveau serveur pour utiliser la prise en charge centralisée des certificats SSL.
Créez la liaison SSL. Dans une fenêtre de ligne de commande élevée, entrez :
add sslcert hostnameport=*:443 appid={00112233-4455-6677-8899-AABBCCDDEFF}
Contrairement aux versions précédentes de Windows Server, les certificats sur Windows Server 2012 sont chargés en mémoire à la demande. Après avoir configuré des milliers de sites sécurisés à l'aide de la fonctionnalité de prise en charge centralisée des certificats SSL, envoyez une requête GET à l'un des sites sécurisés et observez l'utilisation de la mémoire. C'est négligeable. Sur les versions précédentes de Windows Server, si des centaines de sites sécurisés ont été configurés, l'envoi d'une seule requête GET entraîne le chargement par Windows Server de tous les certificats, ce qui entraîne une utilisation élevée de la mémoire et limite encore l'évolutivité.
Créez des sites sécurisés avec la prise en charge des certificats SSL SNI, traditionnels et centralisés. Ils sont conçus pour coexister.
Résumé
Vous avez exploré la fonctionnalité de certificat SSL centralisé dans Windows Server 2012.