Partager via


Indication du nom du serveur IIS 8.0 (SNI) : Scalabilité SSL

Auteur : Shaun Eagan

Compatibilité

Version Notes
IIS 8.0 L’indication du nom du serveur a été introduite dans IIS 8.0.
IIS 7.5 L’indication du nom du serveur n’a pas été prise en charge dans IIS 7.5.
IIS 7.0 L’indication du nom du serveur n’a pas été prise en charge dans IIS 7.0.

Problème

À mesure que d’autres sites de commerce électronique sont mis en ligne et que d’autres entreprises stockent et partagent des documents sensibles en ligne, la possibilité d’héberger et de mettre à l’échelle des sites sécurisés est de plus en plus importante. Avant Windows Server 2012, il y avait quelques défis en matière d’hébergement de sites sécurisés :

  • 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.
  • pénurie IPv4: étant donné que le point de terminaison réseau ne peut être identifié qu’avec la liaison IP :Port, où les locataires demandent d’utiliser le port SSL standard, 443, l’hébergement d’un site sécurisé signifie souvent offrir une adresse IP dédiée par locataire.

Solution

Sur Windows Server 2012, IIS prend en charge l’indication de nom de serveur (SNI), qui est une extension TLS pour inclure un domaine virtuel dans le cadre de la négociation SSL. Ce que cela signifie effectivement, c’est que le nom de domaine virtuel, ou un nom d’hôte, peut maintenant être utilisé pour identifier le point de terminaison réseau. En outre, un magasin WebHosting hautement évolutif a été créé pour compléter SNI. Le résultat est que la densité de site sécurisée est beaucoup plus élevée sur Windows Server 2012 et qu’elle est obtenue avec une seule adresse IP.

Il convient de noter que pour que cette fonctionnalité soit utilisée, vos navigateurs clients doivent prendre en charge SNI. La plupart des navigateurs modernes prennent en charge SNI ; Toutefois, Internet Explorer (d’une version) sur Windows XP ne prend pas en charge SNI.

Instructions pas à pas

Configuration requise :

  • IIS 8.0 est installé sur Windows Server 2012.

    • Le magasin de certificats WebHosting et SNI font partie de l’installation IIS par défaut. Il n'existe aucune fonctionnalité IIS spécifique qui doit être installée à partir du Gestionnaire de serveur.
  • Exemples de certificats.

  • \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 TAPTesting, le fichier hosts doit contenir :

    127.0.0.1 TAPTesting
    

Solutions de contournement pour les bogues connus :

Il existe des cas d’angle dans lesquels le Gestionnaire IIS peut supprimer une liaison SSL involontaire lorsqu’il existe des liaisons SSL traditionnelles (IP :Port) et des liaisons SNI (Nom d’hôte :Port) sont configurées sur le même ordinateur. Pour contourner ce problème et/ou pour confirmer les liaisons SSL réelles, utilisez l’outil en ligne de commande :

netsh http show sslcert

Importer des certificats dans le magasin d’hébergement web :

  1. Ouvrez MMC.
  2. Sous fichier, sélectionnez Ajouter/Supprimer un composant logiciel enfichable:
    Screenshot that shows the menu for File in M M C. Add Remove Snap in is highlighted.
  3. Sélectionnez Certificats. Cliquez sur Ajouter.
    Screenshot that shows the Add or Remove Snap ins dialog box with Certificates selected under Available snap ins.
  4. Sélectionnez compte d’ordinateur:
    Screenshot that shows the Certificates snap in dialog box. Computer account is selected.
  5. Sélectionnez ordinateur local, puis cliquez sur Terminer:
    Screenshot that shows the Select Computer dialog box. Local computer is selected.
  6. Cliquez sur OK:
    Screenshot that shows the Add or Remove Snap ins.
  7. Sous le volet de navigation, recherchez magasin d’hébergement web :
    Screenshot that shows Web Hosting highlighted under the Certificates node.
    Le magasin hébergement web fonctionne comme le magasin de personnel , de sorte que tous les outils existants pour importer et exporter des certificats fonctionnent de la même façon. La principale différence entre magasin d’hébergement web et magasin de personnel est que magasin d’hébergement web est conçu pour être mis à l’échelle vers un plus grand nombre de certificats.
  8. Importez vos exemples de certificats dans le magasin d’hébergement web .

Créer un site web sécurisé:

  1. Ouvrez le Gestionnaire IIS.

  2. Sélectionnez sites dans la fenêtre de navigation de gauche :
    Screenshot that shows I I S Manager. Sites is selected.

  3. Cliquez avec le bouton droit sur sites , puis sélectionnez Ajouter un site web:
    Screenshot that shows the context menu for Sites.

  4. Renseignez les informations, comme vous le feriez pour créer n’importe quel site :

    • nom du site: Test

    • Chemin d’accès physique : c:\inetpub\wwwroot

    • Type : https

    • nom d’hôte: TAPTesting

      • C'est une nouveauté pour Windows Server 8 dans la mesure où le nom d'hôte peut être spécifié pour SSL.
      • Pour éviter l’erreur d’incompatibilité de nom de certificat, vérifiez que le nom d’hôte spécifié ici correspond au nom CN du certificat.
      • La valeur réelle de cette configuration varie en fonction de l'exemple de certificat utilisé.
    • utiliser l’indication du nom du serveur: sélectionné

    • certificat SSL: choisissez le nom de votre certificat ; par exemple : TAPTesting.

      • Notez que les certificats sont présentés à la fois à partir de magasins de personnels et d’hébergement web.

      Screenshot that shows the Add Website dialog box.

  5. Vérifiez que le site a été créé :
    Screenshot that shows Test highlighted under the Sites node.

  6. Vous avez terminé. Le site sécurisé a été créé à l’aide de SNI. L’expérience de gestion est très similaire à la liaison SSL traditionnelle. Les seuls différences sont les suivantes :

    • Le nom d’hôte peut être spécifié pour le site SSL.
    • Le certificat est stocké dans le magasin d’hébergement web pour la scalabilité.

Tester un site sécurisé:

Ouvrez un navigateur et accédez à https://TAPTesting/. Notez que, dans le cadre de la configuration requise, votre fichier hosts doit avoir été modifié pour acheminer cette requête vers localhost :

Screenshot that shows Internet Explorer. I I S 8 is written in large text on the web page.

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

Screenshot that shows a command window. Host name and port are highlighted.

Notez que la liaison SSL est nom d’hôte :port avec la valeur TAPTesting:443.

Scénarios

Essayez de déployer les scénarios suivants :

  • SNI est conçu pour être mis à l’échelle pour un environnement mutualisé. Essayez de configurer des milliers de sites sécurisés à l’aide de SNI.
  • 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 SNI, 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 sont configurés, l’envoi d’une seule requête GET entraîne le chargement de Windows Server tous les certificats , ce qui entraîne une utilisation élevée de la mémoire et limite davantage l’évolutivité.
  • Configurez Windows Server 2012 avec SNI et des sites sécurisés traditionnels. Ils sont conçus pour coexister.

Résumé

Vous avez exploré la fonctionnalité SNI (Server Name Indication) dans Windows Server 2012.