Infrastructure de stratégie SSL pour l’interception SSL

Une stratégie agit comme un filtre sur le trafic entrant. Les stratégies de l’appliance Citrix Secure Web Gateway (SWG) aident à définir la gestion des connexions et des demandes par proxy. Le traitement est basé sur les actions configurées pour cette stratégie. Autrement dit, les données contenues dans les demandes de connexion sont comparées à une règle spécifiée dans la stratégie et l’action est appliquée aux connexions qui correspondent à la règle (expression). Après avoir défini une action à affecter à la stratégie et créé la stratégie, vous devez la lier à un serveur proxy, afin qu’elle s’applique au trafic circulant sur ce serveur proxy.

Une stratégie SSL pour l’interception SSL évalue le trafic entrant et applique une action prédéfinie aux demandes qui correspondent à une règle (expression). La décision d’intercepter, de contourner ou de réinitialiser une connexion est prise sur la base de la stratégie SSL définie. Vous pouvez configurer l’une des trois actions d’une stratégie : INTERCEPT, BYPASS ou RESET. Vous devez spécifier une action lorsque vous créez une stratégie. Pour appliquer une stratégie, vous devez la lier à un serveur proxy de l’appliance. Pour spécifier qu’une stratégie est destinée à l’interception SSL, vous devez spécifier le type (point de liaison) comme INTERCEPT_REQ lorsque vous liez la stratégie à un serveur proxy. Lorsque vous déliez une stratégie, vous devez spécifier le type INTERCEPT_REQ.

Note :

Le serveur proxy ne peut pas prendre de décision d’intercepter sauf si vous spécifiez une stratégie.

L’interception du trafic peut être basée sur n’importe quel attribut de poignée de main SSL. Le plus couramment utilisé est le domaine SSL. Le domaine SSL est généralement indiqué par les attributs de la poignée de main SSL. Il peut s’agir de la valeur Indicateur de nom de serveur extraite du message Hello client SSL, le cas échéant, ou de la valeur de nom de serveur (SAN) extraite du certificat du serveur d’origine. La stratégie SSLi sur Citrix SWG présente un attribut spécial nommé DETECTED_DOMAIN, ce qui permet aux clients de créer plus facilement des stratégies d’interception basées sur le domaine SSL à partir du certificat du serveur d’origine. Le client peut faire correspondre le nom de domaine à une chaîne, à une liste d’URL (jeu d’URL ou jeu de patchs) ou à une catégorie d’URL dérivée du domaine.

Créer une stratégie SSL à l’aide de l’interface de ligne de commande Citrix SWG

À l’invite de commandes, tapez :

add ssl policy <name> -rule <expression> -action <string>

Exemples :

Les exemples suivants concernent des stratégies avec des expressions qui utilisent l’attribut detected_domain pour rechercher un nom de domaine.

Ne pas intercepter le trafic vers une institution financière, telle que XYZBANK

add ssl policy pol1 -rule client.ssl.detected_domain.contains("XYZBANK") -action BYPASS

Ne pas autoriser un utilisateur à se connecter à YouTube à partir du réseau d’entreprise

add ssl policy pol2 -rule client.ssl. client.ssl. detected_domain.url_categorize(0,0).category.eq ("YouTube") -action RESET

Intercepter tout le trafic utilisateur

add ssl policy pol3 –rule true –action INTERCEPT

Si le client ne souhaite pas utiliser le domaine detected_domain, il peut utiliser n’importe quel attribut de poignée de main SSL pour extraire et déduire le domaine.

Par exemple, un nom de domaine n’est pas trouvé dans l’extension SNI du message Hello client. Le nom de domaine doit être extrait du certificat du serveur d’origine. Les exemples suivants concernent des stratégies avec des expressions qui vérifient un nom de domaine dans le nom d’objet du certificat du serveur d’origine.

Intercepter tout le trafic utilisateur vers n’importe quel domaine Yahoo

add ssl policy pol4 -rule client.ssl.origin_server_cert.subject.contains("yahoo") –action INTERCEPT

Intercepter tout le trafic utilisateur pour la catégorie’Shopping/Retail “

add ssl policy pol_url_category -rule client.ssl. origin_server_cert.subject.URL_CATEGORIZE(0,0).CATEGORY.eq("Shopping/Retail") -action INTERCEPT

Intercepter tout le trafic utilisateur vers une URL non classée

add ssl policy pol_url_category -rule client.ssl.origin_server_cert.subject.url_categorize(0,0).category.eq("Uncategorized") -action INTERCEPT

Les exemples suivants concernent des stratégies qui correspondent au domaine par rapport à une entrée d’un jeu d’URL.

Intercepter tout le trafic utilisateur si le nom de domaine dans SNI correspond à une entrée de l’ensemble d’URL « top100 »

add ssl policy pol_url_set  -rule client.ssl.client_hello.SNI.URLSET_MATCHES_ANY("top100") -action INTERCEPT

Intercepter tout le trafic utilisateur du nom de domaine si le certificat du serveur d’origine correspond à une entrée de l’ensemble d’URL « top100 »

add ssl policy pol_url_set  -rule client.ssl.origin_server_cert.subject.URLSET_MATCHES_ANY("top100") -action INTERCEPT

Créer une stratégie SSL vers un serveur proxy à l’aide de l’interface utilisateur graphique de Citrix SWG

  1. Accédez à Secure Web Gateway > SSL> Stratégies.
  2. Sous l’onglet Stratégies SSL, cliquez sur Ajouter et spécifiez les paramètres suivants :
    • Nom de la stratégie
    • Action de stratégie : sélectionnez entre intercepter, contourner ou réinitialiser.
    • Expresssion
  3. Cliquez sur Créer.

Lier une stratégie SSL à un serveur proxy à l’aide de l’interface de ligne de commande SWG

À l’invite de commandes, tapez :

bind ssl vserver <vServerName> -policyName <string> -priority <positive_integer> -type  INTERCEPT_REQ

Exemple :

bind ssl vserver <name> -policyName pol1 -priority 10 -type INTERCEPT_REQ

Lier une stratégie SSL à un serveur proxy à l’aide de l’interface graphique graphique de Citrix SWG

  1. Accédez à Secure Web Gateway > Serveurs virtuels proxy.
  2. Sélectionnez un serveur virtuel et cliquez sur Modifier.
  3. Dans Paramètres avancés, cliquez sur Stratégies SSL.
  4. Cliquez dans la zone Stratégie SSL.
  5. Dans Sélectionner une stratégie, sélectionnez une stratégie à lier.
  6. Dans Type, sélectionnez INTERCEPT_REQ.
  7. Cliquez sur Lier, puis sur OK.

Délier une stratégie SSL à un serveur proxy à l’aide de la ligne de commande

À l’invite de commandes, tapez :

unbind ssl vserver <vServerName> -policyName <string> -type INTERCEPT_REQ

Expressions SSL utilisées dans les stratégies SSL pour SWG

Expression Description
CLIENT.SSL.CLIENT_HELLO.SNI.* Renvoie l’extension SNI dans un format de chaîne. Évaluez la chaîne pour voir si elle contient le texte spécifié. Exemple : client.ssl.client_hello.sni.contains ("xyz.com")
CLIENT.SSL.ORIGIN_SERVER_CERT.* Renvoie un certificat, reçu d’un serveur principal, au format de chaîne. Évaluez la chaîne pour voir si elle contient le texte spécifié. Exemple : client.ssl.origin_server_cert.subject.contains ("xyz.com")
CLIENT.SSL.DETECTED_DOMAIN.* Renvoie un domaine, à partir de l’extension SNI ou du certificat du serveur d’origine, dans un format de chaîne. Évaluez la chaîne pour voir si elle contient le texte spécifié. Exemple : client.ssl.detected_domain.contains ("xyz.com")