Configurer la prise en charge de HTTP strict Transport Security (HSTS)

Les appliances Citrix ADC prennent en charge HTTP strict Transport Security (HSTS) en tant qu’option intégrée dans les profils SSL et les serveurs virtuels SSL. En utilisant HSTS, un serveur peut imposer l’utilisation d’une connexion HTTPS pour toutes les communications avec un client. Autrement dit, le site est accessible uniquement en utilisant HTTPS. La prise en charge de HSTS est requise pour la certification A+ de SSL Labs.

Activez HSTS dans un profil frontal SSL ou sur un serveur virtuel SSL. Si vous activez les profils SSL, vous devez activer HSTS sur un profil SSL au lieu de l’activer sur un serveur virtuel SSL. En définissant l’en-tête d’âge maximal, vous spécifiez que HSTS est en vigueur pour cette durée pour ce client. Vous pouvez également spécifier si des sous-domaines doivent être inclus. Par exemple, vous pouvez spécifier que les sous-domaines de www.example.com, tels que www.abc.example.com et www.xyx.example.com, sont accessibles uniquement à l’aide de HTTPS en définissant le paramètre IncludeSubdomains sur YES.

Si vous accédez à des sites Web prenant en charge HSTS, l’en-tête de réponse du serveur contient une entrée similaire à la suivante :

En-tête de réponse HSTS

Le client stocke ces informations pour la durée spécifiée dans le paramètre max-age. Pour les requêtes ultérieures vers ce site Web, le client vérifie sa mémoire pour une entrée HSTS. Si une entrée est trouvée, elle n’accède à ce site Web qu’à l’aide du protocole HTTPS.

Vous pouvez configurer HSTS au moment de la création d’un profil SSL ou d’un serveur virtuel SSL à l’aide de la commande add. Vous pouvez également configurer HSTS sur un profil SSL existant ou un serveur virtuel SSL en le modifiant à l’aide de la commande set.

Configurer HSTS à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

add ssl vserver <vServerName> -HSTS ( ENABLED | DISABLED ) -maxage <positive_integer> -IncludeSubdomains ( YES | NO)

OU

add ssl profile <name> -HSTS ( ENABLED | DISABLED ) -maxage <positive_integer> -IncludeSubdomains ( YES | NO )

Arguments

HSTS

         State of HTTP Strict Transport Security (HSTS) on an SSL virtual server or SSL profile. Using HSTS, a server can enforce the use of an HTTPS connection for all communication with a client.

          Possible values: ENABLED, DISABLED

          Default: DISABLED

maxage

          Set the maximum time, in seconds, in the strict transport security (STS) header during which the client must send only HTTPS requests to the server.

          Default: 0

          Minimum: 0

          Maximum: 4294967294

IncludeSubdomains

         Enable HSTS for subdomains. If set to Yes, a client must send only HTTPS requests for subdomains.

          Possible values: YES, NO

          Default: NO

Dans les exemples suivants, le client doit accéder au site Web et à ses sous-domaines pendant 157 680 000 secondes uniquement à l’aide de HTTPS.

add ssl vserver VS-SSL –HSTS ENABLED –maxage 157680000 –IncludeSubdomain YES
add sslProfile hstsprofile –HSTS ENABLED –maxage 157680000 –IncludeSubdomain YES

Configurer HSTS à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, sélectionnez un serveur virtuel de type SSL et cliquez sur Modifier.

Effectuez les étapes suivantes si le profil SSL par défaut est activé sur l’appliance.

  1. Sélectionnez un profil SSL et cliquez sur Modifier.

  2. Dans Paramètres de base, cliquez sur l’icône en forme de crayon pour modifier les paramètres. Faites défiler la page vers le bas et sélectionnez HSTS et Inclure les sous-domaines.

    Activer HSTS

Procédez comme suit si le profil SSL par défaut n’est pas activé sur l’appliance.

  1. Dans Paramètres avancés, sélectionnez Paramètres SSL.

  2. Sélectionnez HSTS et Inclure les sous-domaines.

    Activer HSTS sur un serveur virtuel

Prise en charge de la précharge HSTS

Remarque :

Cette fonctionnalité est disponible dans la version 12.1 build 51.x et versions ultérieures.

L’appliance Citrix ADC prend en charge l’ajout d’une précharge HSTS dans l’en-tête de réponse HTTP. Pour inclure le préchargement, vous devez définir le paramètre preload dans le serveur virtuel SSL ou le profil SSL sur YES. L’appliance inclut ensuite le préchargement dans l’en-tête de réponse HTTP vers le client. Vous pouvez configurer cette fonctionnalité à l’aide de l’interface de ligne de commande et de l’interface graphique. Pour plus d’informations sur la précharge HSTS, reportez-vous à la section https://hstspreload.org/.

Voici des exemples d’en-têtes HSTS valides avec préchargement :

Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
Strict-Transport-Security: max-age=63072000; preload

Configurer la précharge HSTS à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

add ssl vserver <vServerName> -HSTS ( ENABLED | DISABLED ) -maxage <positive_integer> -preload ( YES | NO )

OU

add ssl profile <name> -HSTS ( ENABLED | DISABLED ) -maxage <positive_integer> -IncludeSubdomains ( YES | NO ) -preload ( YES | NO )

Configurer la précharge HSTS à l’aide de l’interface graphique

Effectuez les étapes suivantes si le profil SSL par défaut est activé sur l’appliance.

  1. Accédez à Système > Profils > Profils SSL. Sélectionnez un profil SSL et cliquez sur Modifier.

  2. Dans Paramètres de base, cliquez sur l’icône en forme de crayon pour modifier les paramètres. Faites défiler la page vers le bas et sélectionnez HSTS et Preload.

    Activer HSTS

Procédez comme suit si le profil SSL par défaut n’est pas activé sur l’appliance.

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, sélectionnez un serveur virtuel de type SSL et cliquez sur Modifier.

  2. Dans Paramètres avancés, sélectionnez Paramètres SSL.

  3. Sélectionnez HSTS et Preload.

    Activer HSTS sur un serveur virtuel