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 manière de gérer les connexions et les demandes par proxy. Le traitement est basé sur les actions configurées pour cette stratégie. Autrement dit, les données des 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 pour la stratégie et créé la stratégie, liez-la à un serveur proxy, de sorte qu’elle s’applique au trafic passant 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). La 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 d’une stratégie : Intercept, BYPASS ou RESET. Spécifiez 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 dissociez une stratégie, vous devez spécifier le type INTERCEPT_REQ.

Note :

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 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 de l’indicateur de nom de serveur extraite du message Hello client SSL, le cas échéant, ou de la valeur de nom alternatif de serveur (SAN) extraite du certificat du serveur d’origine. La stratégie SSLi sur Citrix SWG présente un attribut spécial nommé DETED_DOMAIN, 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 avec une chaîne, une liste d’URL (jeu 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 Citrix SWG

À l’invite de commandes, tapez :

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

Exemples :

Les exemples suivants concernent les 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

N’autorisez pas 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 l’un des attributs de handshake SSL pour extraire et déduire le domaine.

Par exemple, un nom de domaine est introuvable 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 les stratégies avec des expressions qui vérifient la présence d’un nom de domaine dans le nom de sujet 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 les 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’URL définie « 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 sur un serveur proxy à l’aide de l’interface graphique 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 l’interception, le contournement ou la réinitialisation.
    • Expression.
  3. Cliquez sur Créer.

Liez 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

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

  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 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, au format chaîne. Évaluez la chaîne pour voir si elle contient le texte spécifié. Exemple : client.ssl.detected_domaine.contains ("xyz.com")