ADC

Légende d’inspection du contenu

Lorsqu’une appliance NetScaler envoie une demande ICAP, le serveur ICAP utilise un code d’état pour spécifier l’état de la réponse. Le code d’état spécifie également l’action à entreprendre par la solution matérielle-logicielle. Par exemple, si le code d’état dans une réponse ICAP est 200 OK pour une demande ICAP REQMOD et s’il res-hdr est défini, le client ICAP peut envoyer la réponse reçue du serveur ICAP à l’utilisateur. Toutefois, s’il n’ res-hdr est pas défini, le client ICAP (appliance NetScaler) peut transmettre la demande originale ou adaptée au serveur principal d’origine.

Mais dans certains scénarios, le serveur ICAP ne peut pas prendre la décision finale. Au lieu de cela, il fournit uniquement les informations demandées à la solution matérielle-logicielle et celle-ci peut décider en fonction de l’évaluation de la stratégie. Dans ce cas, le client ICAP ne peut pas dépendre uniquement du code d’état de la réponse ICAP, mais il examine les en-têtes ICAP reçus, évalue l’expression de stratégie sur les en-têtes et applique l’action associée.

Voici quelques cas d’utilisation dans lesquels la légende Inspection du contenu ICAP est nécessaire :

  • À la réception de la demande d’établissement de connexion SSH, le client ICAP (appliance NetScaler) peut classer le domaine accédé et décider de poursuivre l’établissement de connexion ou de l’abandonner.
  • Lors de la réception d’une demande HTTP pour un service, la solution matérielle-logicielle peut vérifier l’autorisation d’accès d’un serveur externe en fonction de l’ID de client de l’utilisateur. Les mesures appropriées peuvent être prises.

Dans les deux scénarios, le serveur ICAP n’a aucune idée de la stratégie configurée, mais renvoie simplement les informations demandées à la solution matérielle-logicielle. La solution matérielle-logicielle applique ensuite la stratégie sur les informations de réponse reçues et applique l’action associée. L’appel d’inspection de contenu ICAP est ajouté à la structure ICAP pour renvoyer les informations de demande à partir d’un serveur ICAP externe. La fonctionnalité de cette légende est très similaire au fonctionnement d’une légende HTTP. Toute expression de stratégie, par exemple Responder ou AppFirewall, peut déclencher la demande ICAP vers le serveur ICAP configuré. Les informations demandées, configurées via ReturnExpr, sont ensuite extraites de la réponse ICAP et transmises au module demandé

L’appel d’inspection de contenu ICAP est ajouté à la structure ICAP pour renvoyer les informations de demande à partir d’un serveur ICAP externe. La fonctionnalité de cette légende est très similaire au fonctionnement d’une légende HTTP. Le module ICAP peut utiliser une expression de stratégie avancée existante et peut être utilisée pour déclencher une légende ICAP vers le serveur ICAP configuré.

Expression de stratégie de légende d’inspection du contenu

L’expression de stratégie d’inspection de contenu suivante est utilisée comme expression de retour dans la légende ICAP. La syntaxe de cette expression de légende d’inspection de contenu est similaire à celle d’une expression de légende HTTP.

SYS.CI_CALLOUT(<ContentInspection callout name>).Operator

Où, <ContentInspection callout name> représente la légende ContentInspection de type ICAP qui définit les propriétés du serveur ICAP. Et le profil ICAP à utiliser pour envoyer et recevoir la demande vers/depuis le serveur ICAP. Le type de retour de la réponse de l’agent de légende ICAP détermine le jeu d’opérateurs que vous pouvez utiliser sur la réponse. Si la partie de la réponse que vous souhaitez analyser est du texte, vous pouvez utiliser un opérateur de texte pour analyser la réponse. Par exemple, vous pouvez utiliser l’ CONTAINS(<string>) opérateur pour vérifier si la partie spécifiée de la réponse contient une chaîne particulière.

Exemple :

SYS.CI_CALLOUT (appel CI). Contient (« valeur à vérifier »)

Configuration de la légende d’inspection de contenu ICAP

Suivez les étapes suivantes pour configurer l’appel d’inspection du contenu ICAP sur votre appliance.

  1. Ajouter un profil ICAP
  2. Ajouter une légende d’inspection du contenu
  3. Définir l’expression de légende d’inspection du contenu
  4. Invoquer la légende d’inspection du contenu

Ajouter un profil ICAP

Ajouter une légende d’inspection du contenu

La commande ContentInspectionCCallout spécifie les informations du serveur ICAP, l’expression de retour et son type.

À l’invite de commande, tapez :

add contentInspection callout <name> -type ICAP [-profileName <string>] (-serverName <string> | (-serverip <ip_addr|ipv6_addr> [-serverport <positive_integer>])) [-returnType <returnType>] [-resultExpr <string>] [-comment <string>]

Où :

<profileName> - Nom du profil ICAP <returnType> - ( **BOOL) | NUM | TEXTE**) <resultExpr> - L’expression à évaluer lors de la réception de la réponse ICAP doit commencer par ICAP.RES.

Exemple :

Extrayez la valeur de l’en-tête de réponse ICAP de catégorie X-URL, le ResultExpr peut être spécifié comme suit.

add contentInspection callout cic –type ICAP –profileName profile1 –resultExpr “ICAP.RES.HEADER("X-URL-Category")”

L’expression précédente renvoie la valeur de X-URL-Category vérifie la valeur renvoyée et applique l’action associée.

Stratégie de fonctionnalité utilisant la légende d’inspection du contenu et l’action sur les fonctionnalités

Lorsqu’une fonctionnalité NetScaler doit interagir avec un service externe à l’aide d’ICAP, elle peut utiliser la légende d’inspection du contenu, CI_CALLOUT. Dans ce mode, la fonctionnalité utilise CI_CALLOUT dans l’expression de stratégie de fonctionnalité pour déclencher la demande ICAP vers le serveur ICAP externe. À la réception de la réponse, la fonctionnalité peut spécifier l’expression ResultExpression dans l’action ContentInspection pour extraire les informations requises de la réponse ICAP. Le résultat peut être booléen, numérique ou texte. L’entité peut ensuite effectuer l’action associée en fonction du résultat extrait. Voyons un cas d’utilisation de la façon dont les stratégies de fonctionnalité utilisent la légende CI pour effectuer l’action de fonctionnalité.

Cas d’utilisation 1 : Pour extraire le SNI à l’aide de la stratégie de détection de l’optimisation vidéo et supprimer la prise de main si le domaine est « Social Media »

Pour configurer le cas d’utilisation, procédez comme suit :

  1. Ajouter un profil ICAP

    add icapProfile ICAPProfileName –mode REQMOD -insertHTTPRequest q{ "GET / HTTP/1.1\r\nHost: " + CLIENT.SSL.DETECTED_DOMAIN + "\r\n\r\n"}

  2. Ajoutez la légende d’inspection du contenu représentant le serveur ICAP et l’expression de résultat pour extraire les informations de catégorie de la réponse ICAP.

    add contentInspection callout cic -type ICAP -serverName icap-server-name -icapProfile ICAPProfileName -resultExpr "ICAP.res.header("X-URL-Category")" –resultType [same as callout resultType]

  3. Ajoutez une stratégie et une expression de détection vidéo pour récupérer les informations de catégorie d’URL pour le domaine reçu et supprimer la demande si la catégorie est « Médias sociaux ».

    add videooptimization detectionpolicy_urlcat -rule " SYS.CI_CALLOUT(cic).EQ(\"Social Media\")" -action DROP

Cas d’utilisation 2 : Pour récupérer la catégorie d’URL à partir du serveur ICAP et la bloquer à l’aide d’un jeu de modèles

Pour configurer le cas d’utilisation, procédez comme suit :

  1. Ajoutez un profil ICAP qui définit le mode et la demande HTTP.

    add icapProfile ICAPProfileName –mode REQMOD -insertHTTPRequest q{ "GET / HTTP/1.1\r\nHost: " + CLIENT.SSL.DETECTED_DOMAIN + "\r\n\r\n"}

  2. Ajoutez une légende d’inspection du contenu pour récupérer les informations de catégorie.

    add contentInspection callout cic -type ICAP -serverName icap-server-name -icapProfile ICAPProfileName -resultExpr "ICAP.res.header("X-URL-Category")"

  3. Ajoutez un jeu de motifs et liez-y le motif de catégorie bloqué.

    add policy patset blocked-category bind policy patset blocked-category “gambling” –index 1 bind policy patset blocked-category “social media” –index 2 bind policy patset blocked-category “games” –index 3

  4. Ajoutez une stratégie de détection d’optimisation vidéo pour appeler l’action de légende ICAP.

    add videooptimization detectionpolicy_urlcat –rule SYS.CI_CALLOUT(cic).CONTAINS_ANY("blocked-category")" -action DROP

Légende d’inspection du contenu