Menu
picture of tbs certificates
picture of tbs certificates
Les produits
Notre gamme
Partenaires
Support
Numéro vert
Focus


Configurer HSTS sur IIS 7/8

Il est possible de configurer HSTS sur IIS à partir de la version 7.

Compte-tenu du fait qu'une implémentation de HSTS consiste principalement en un jeu de headers (entêtes) spécifiques, avec éventuellement une redirection, il existe plusieurs méthodes afin de configurer HSTS pour IIS.

Via la console graphique

Attention, il n'est pas possible d'écrire des conditions sur l'application des Headers. Les spécifications HSTS précisent clairement qu'il est nécessaire de ne servir les headers HSTS uniquement en HTTPS et pas en HTTP, cette méthode nécessite d'utiliser deux sites différents pour le HTTPS et pour le HTTP afin de respecter la norme HSTS.

Pour ajouter un nouveau header :

  • Lancez le manager IIS.
  • Sélectionnez votre site.
  • Sélectionnez HTTP Response Headers.
  • Cliquez sur Add dans la section Actions.
  • Dans le dialogue Add Custom HTTP Response Header, ajoutez les valeurs suivantes :
    • Pour Name : Strict-Transport-Security
    • Pour Value : max-age=15552001; includeSubDomains; preload

Il est à noter qu'il est également recommandé de rediriger le traffic HTTP en HTTPS.

Via l'édition manuelle de la configuration IIS

Vous pouvez également configurer plus finement vos headers et redirections en éditant directement la configuration de IIS, plus particulièrement la section system.webServer.

Vous pouvez ajouter les instructions suivantes à votre section system.webServer pour ajouter les headers nécessaires à l'activation de HSTS et effectuer une redirection HTTP vers HTTPS automatiquement :

  <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
        <rewrite>
          <rules>
            <rule name="HTTP to HTTPS redirect" stopProcessing="true">
              <match url="(.*)" />
              <conditions>
                <add input="{HTTPS}" pattern="off" ignoreCase="true" />
              </conditions>
              <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
             </rule>
           </rules>
           <outboundRules>
             <rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
               <match serverVariable="RESPONSE_Strict_Transport_Security" pattern=".*" />
               <conditions>
                 <add input="{HTTPS}" pattern="on" ignoreCase="true" />
               </conditions>
               <action type="Rewrite" value="max-age=31536000; includeSubDomains; preload" />
             </rule>
           </outboundRules>
         </rewrite>
       </system.webServer>
     </configuration>

Voir aussi