ADC
Merci pour vos commentaires

Ce article a été traduit automatiquement. (Clause de non responsabilité)

Configuration de la prise en charge de la sécurité stricte du transport HTTP (HSTS)

Le protocole HTTP Strict Transport Security (HSTS) permet de protéger les sites Web contre diverses attaques, telles que la suppression du protocole SSL, le détournement de cookie et la rétrogradation du protocole. À l’aide de HSTS, un serveur peut imposer l’utilisation d’une connexion HTTPS pour toutes les communications avec un client. En d’autres termes, le site n’est accessible qu’en utilisant HTTPS.

Les appliances NetScaler prennent en charge le protocole HSTS en tant qu’option intégrée dans les profils SSL et les serveurs virtuels SSL. La prise en charge de HSTS est requise pour la certification A+ des laboratoires SSL.

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.

Spécifiez la durée (en secondes) pendant laquelle un navigateur ne doit pas accepter de connexions non cryptées. Utilisez le maxage paramètre pour spécifier que le protocole HSTS est en vigueur pour cette durée pour ce client. Par défaut, l’en-tête HSTS s’applique uniquement au domaine racine. Vous pouvez 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 uniquement accessibles via HTTPS en définissant le IncludeSubdomains paramètre sur YES. Les sous-domaines doivent prendre en charge le protocole HTTPS. Toutefois, il n’est pas nécessaire que le HSTS soit activé pour chacun d’entre eux.

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 pendant la durée spécifiée dans le paramètre max-age. Pour les demandes ultérieures à ce site Web, le client vérifie sa mémoire à la recherche d’une entrée HSTS. Si une entrée est trouvée, elle accède à ce site Web uniquement en utilisant HTTPS. Par exemple, si vous définissez le maxage paramètre sur 31536000, le navigateur se souvient de n’utiliser que le protocole HTTPS pour accéder au domaine pendant un an.

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 la CLI

À l’invite de commande, tapez :

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

OU

add ssl profile <name> -maxage <positive_integer> -IncludeSubdomains ( YES | NO ) set ssl profile <name> -HSTS ( ENABLED | DISABLED ) 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 en utilisant HTTPS.

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

Configurer HSTS à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels.
  2. Sélectionnez un serveur virtuel de type SSL, puis 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

Effectuez les étapes suivantes 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

Un en-tête HSTS protège l’application Web en empêchant les navigateurs d’établir des connexions non cryptées à un domaine. Toutefois, si un utilisateur accède au site Web pour la première fois, le navigateur n’a pas encore vu l’en-tête HSTS. Un attaquant peut prendre le contrôle de la connexion avant que le serveur Web ne puisse demander au navigateur d’utiliser le protocole HTTPS.

Pour résoudre ce problème, l’appliance NetScaler 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 preload paramètre du serveur virtuel SSL ou du profil SSL sur YES. L’appliance inclut ensuite la précharge dans l’en-tête de réponse HTTP au client. Vous pouvez configurer cette fonctionnalité à l’aide de la CLI 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 le préchargement HSTS à l’aide de la CLI

À l’invite de commande, tapez :

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

OU

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

Configurer le préchargement 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

Effectuez les étapes suivantes 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.
  2. Sélectionnez un serveur virtuel de type SSL, puis cliquez sur Modifier.

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

  4. Sélectionnez HSTS et préchargement.

    Activer HSTS sur un serveur virtuel

Cas d’utilisation

L’utilisateur1 souhaite visiter certains sites Web en toute sécurité à l’aide d’un navigateur Web. Le site exemple.com offre une expérience de navigation sécurisée à ses clients.

L’utilisateur1 possède un compte sur exemple.com et effectue régulièrement des transactions via ce site Web. L’utilisateur1 doit transférer de l’argent à un ami et accéder à exemple.com en saisissant www.exemple.com dans un navigateur Web. Le navigateur convertit l’URL en http://www.exemple.com. Le navigateur détecte le nom exemple.com et communique avec le serveur DNS pour obtenir l’adresse IP du serveur hôte. Le navigateur contacte l’adresse IP via le port 80. Le site Web de la banque redirige la demande vers https://www.exemple.com. Un handshake SSL est effectué, ce qui permet d’établir une connexion SSL. Le cadenas de l’URL passe au vert et indique qu’il est verrouillé. L’utilisateur1 peut désormais saisir les informations d’identification pour effectuer une transaction.

Scénario du problème

Même si un site Web active le protocole HTTPS, un client peut toujours essayer de se connecter via HTTP. Le site Web peut rediriger la demande vers HTTPS, mais cette redirection n’est pas sécurisée car un attaquant peut capturer les informations de l’utilisateur ou rediriger l’utilisateur vers un faux site Web. Par exemple, un intermédiaire peut intercepter la demande de résolution pour exemple.com et envoyer à User1 sa propre adresse IP de serveur. Lorsqu’une requête est envoyée à cette adresse IP sur le port 80, l’intermédiaire peut rediriger l’utilisateur1 vers un site Web portant le même nom sur le port 443, par exemple https://www.example.com (notez la légère modification orthographique). L’utilisateur1 peut ne pas remarquer la différence (example.com au lieu de exemple.com) et saisir les informations d’identification.

Solution

Effectuez les étapes suivantes sur l’appliance NetScaler pour protéger votre site Web contre les attaques. À l’invite CLI, tapez :

add ssl profile sample-profile -maxage 63072000 -IncludeSubdomains YES -preload YES set ssl profile sample-profile -HSTS ENABLED

Le protocole HSTS étant activé, l’appliance inclut le préchargement dans la réponse HTTP au client. De plus, le HSTS est en vigueur pendant la durée spécifiée et les sous-domaines sont également inclus. Par conséquent, seules les connexions HTTPS sont acceptées depuis un client.

La version officielle de ce document est en anglais. Certains contenus de la documentation Cloud Software Group ont été traduits de façon automatique à des fins pratiques uniquement. Cloud Software Group n'exerce aucun contrôle sur le contenu traduit de façon automatique, qui peut contenir des erreurs, des imprécisions ou un langage inapproprié. Aucune garantie, explicite ou implicite, n'est fournie quant à l'exactitude, la fiabilité, la pertinence ou la justesse de toute traduction effectuée depuis l'anglais d'origine vers une autre langue, ou quant à la conformité de votre produit ou service Cloud Software Group à tout contenu traduit de façon automatique, et toute garantie fournie en vertu du contrat de licence de l'utilisateur final ou des conditions d'utilisation des services applicables, ou de tout autre accord avec Cloud Software Group, quant à la conformité du produit ou service à toute documentation ne s'applique pas dans la mesure où cette documentation a été traduite de façon automatique. Cloud Software Group ne pourra être tenu responsable de tout dommage ou problème dû à l'utilisation de contenu traduit de façon automatique.
Configuration de la prise en charge de la sécurité stricte du transport HTTP (HSTS)