ADC

Cas d’utilisation : comment forcer les options de cookie Secure et HttpOnly pour les sites Web à l’aide de l’appliance NetScaler

Les administrateurs Web peuvent forcer Secure, ou HttpOnly, ou les deux indicateurs sur l’ID de session et les cookies d’authentification générés par les applications Web. Vous pouvez modifier les en-têtes Set-Cookie pour inclure ces deux options en utilisant un serveur virtuel d’équilibrage de charge HTTP et en réécrivant les politiques sur une appliance NetScaler.

  • HttpOnly - Cette option sur un cookie oblige les navigateurs Web à renvoyer le cookie à l’aide du protocole HTTP ou HTTPS uniquement. Les méthodes non HTTP telles que les références JavaScript document.cookie ne peuvent pas accéder au cookie. Cette option permet de prévenir le vol de cookie dus à des scripts intersites.

    REMARQUE

    Vous ne pouvez pas utiliser l’option HttpOnly lorsqu’une application Web a besoin d’accéder au contenu des cookies à l’aide d’un script côté client, tel que JavaScript ou une applet Java côté client. Vous pouvez utiliser la méthode mentionnée dans ce document pour réécrire uniquement les cookies générés par le serveur et non les cookies générés par l’appliance NetScaler. Par exemple, AppFirewall, persistance, cookies de session VPN, etc.

  • Sécurisé  : cette option sur un cookie fait en sorte que les navigateurs Web ne renvoient que la valeur du cookie lorsque la transmission est cryptée par SSL. Cette option peut être utilisée pour empêcher le vol de cookies par écoute de connexion.

REMARQUE

La procédure suivante ne s’applique pas aux serveurs virtuels VPN.

Pour configurer l’appliance NetScaler afin de forcer les indicateurs Secure et HttpOnly à un serveur virtuel HTTP existant à l’aide de l’interface de ligne de commande

  1. Créez une action de réécriture.

    Cet exemple est configuré pour définir les indicateurs Secure et HttpOnly. Si l’une ou l’autre est manquante, modifiez-la si nécessaire pour d’autres combinaisons.

    add rewrite action act_cookie_Secure replace_all http.RES.full_Header ""Secure; HttpOnly; path=/"" -search "regex(re!(path=/\\; Secure; HttpOnly)|(path=/\\; Secure)|(path=/\\; HttpOnly)|(path=/)!)"
    <!--NeedCopy-->
    

    Cette stratégie remplace toutes les instances de « path=/ », « path=/ ; Secure », « path=/ ; Secure ; HttpOnly » et « path=/ ; HttpOnly » par « Secure ; HttpOnly ; path=/ ». Cette expression régulière (regex) échoue si la casse ne correspond pas.

  2. Créez une stratégie de réécriture pour déclencher l’action.

    add rewrite policy rw_force_secure_cookie "http.RES.HEADER("Set-Cookie").EXISTS" act_cookie_Secure
    <!--NeedCopy-->
    
  3. Liez la stratégie de réécriture au serveur virtuel à sécuriser. Si Secure l’option est utilisée, un serveur virtuel SSL doit être utilisé.

    bind lb vserver mySSLVServer -policyName rw_force_secure_cookie -priority 100 -gotoPriorityExpression NEXT -type RESPONSE
    <!--NeedCopy-->
    

Exemples :

L’exemple suivant montre le cookie avant de définir l’indicateur HttpOnly.

Set-Cookie: CtxsAuthId=C5614491; path=/Citrix/ProdWeb
<!--NeedCopy-->

L’exemple suivant montre le cookie après avoir défini l’indicateur HttpOnly.

Set-Cookie: CtxsAuthId=C5614491; Secure; HttpOnly; path=/Citrix/ProdWeb/
<!--NeedCopy-->

Pour configurer l’appliance NetScaler de manière à forcer les indicateurs Secure et HttpOnly à un serveur virtuel HTTP existant à l’aide de l’interface graphique

  1. Accédez à AppExpert > Réécriture > Actions, puis cliquez sur Ajouter pour ajouter une nouvelle action de réécriture.

    Configurer les actions de réécriture

  2. Accédez à AppExpert > Réécriture > Stratégies, puis cliquez sur Ajouter pour ajouter une nouvelle stratégie de réécriture.

    Configuration de la politique de réécriture

  3. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis liez la stratégie de réécriture (réponse) au serveur virtuel SSL correspondant.

    Lier une stratégie de réécriture

Cas d’utilisation : comment forcer les options de cookie Secure et HttpOnly pour les sites Web à l’aide de l’appliance NetScaler