Infrastructure de stratégie SSL pour l’interception SSL

Une stratégie agit comme un filtre sur le trafic entrant. Les stratégies sur l’appliance Citrix Secure Web Gateway™ (SWG) aident à définir la manière de gérer les connexions et les requêtes proxyfiées. Le traitement est basé sur les actions configurées pour cette stratégie. Autrement dit, les données des requêtes 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 pour la stratégie et créé la stratégie, liez-la à un serveur proxy afin qu’elle s’applique au trafic transitant par ce serveur proxy.

Une stratégie SSL pour l’interception SSL évalue le trafic entrant et applique une action prédéfinie aux requêtes qui correspondent à une règle (expression). Une décision d’intercepter, de contourner ou de réinitialiser une connexion est prise en fonction de la stratégie SSL définie. Vous pouvez configurer l’une des trois actions suivantes pour une stratégie : INTERCEPT, BYPASS ou RESET. Spécifiez une action lorsque vous créez une stratégie. Pour qu’une stratégie prenne effet, vous devez la lier à un serveur proxy sur 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. Lors de la déliaison d’une stratégie, vous devez spécifier le type comme INTERCEPT_REQ.

Remarque :

Le serveur proxy peut décider d’intercepter uniquement si vous spécifiez une stratégie.

L’interception du trafic peut être basée sur n’importe quel attribut de négociation SSL. Le plus couramment utilisé est le domaine SSL. Le domaine SSL est généralement indiqué par les attributs de la négociation SSL. Il peut s’agir de la valeur Server Name Indicator (SNI) extraite du message SSL Client Hello, si elle est présente, ou de la valeur Server Alternate Name (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 facilite la création de stratégies d’interception basées sur le domaine SSL à partir du certificat du serveur d’origine pour les clients. Le client peut faire correspondre le nom de domaine à une chaîne, une liste d’URL (ensemble d’URL ou patset) 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 (CLI) Citrix® SWG

À l’invite de commandes, tapez :

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

Exemples :

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

N’interceptez pas le trafic vers une institution financière, telle que XYZBANK

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

N’autorisez pas un utilisateur à se connecter à YouTube depuis le réseau d’entreprise.

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

Interceptez tout le trafic utilisateur.

add ssl policy pol3 –rule true –action INTERCEPT
<!--NeedCopy-->

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

Par exemple, un nom de domaine n’est pas trouvé dans l’extension SNI du message client hello. 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 du sujet du certificat du serveur d’origine.

Interceptez 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
<!--NeedCopy-->

Interceptez 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
<!--NeedCopy-->

Interceptez tout le trafic utilisateur vers une URL non catégorisée.

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

Les exemples suivants concernent des stratégies qui font correspondre le domaine à une entrée dans un ensemble d’URL.

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

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

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

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

Créer une stratégie SSL pour un serveur proxy à l’aide de l’interface graphique (GUI) SWG

  1. Accédez à Secure Web Gateway > SSL > Policies.
  2. Dans l’onglet SSL Policies, cliquez sur Add et spécifiez les paramètres suivants :
    • Nom de la stratégie
    • Action de la stratégie – Sélectionnez parmi intercepter, contourner ou réinitialiser.
    • Expression
  3. Cliquez sur Create.

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

À l’invite de commandes, tapez :

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

Exemple :

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

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

  1. Accédez à Secure Web Gateway > Proxy Virtual Servers.
  2. Sélectionnez un serveur virtuel et cliquez sur Edit.
  3. Dans Advanced Settings, cliquez sur SSL Policies.
  4. Cliquez à l’intérieur de la zone SSL Policy.
  5. Dans Select Policy, sélectionnez une stratégie à lier.
  6. Dans Type, sélectionnez INTERCEPT_REQ.
  7. Cliquez sur Bind, puis sur OK.

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

À l’invite de commandes, tapez :

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

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

Expression Description
CLIENT.SSL.CLIENT_HELLO.SNI.* Renvoie l’extension SNI au format 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 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, soit à partir de l’extension SNI, soit à partir du certificat du serveur d’origine, au format chaîne. Évaluez la chaîne pour voir si elle contient le texte spécifié. Exemple : client.ssl.detected_domain.contains("xyz.com")