Citrix ADC

Catégorisation des URL

La catégorisation des URL limite l’accès des utilisateurs à des sites Web et à des catégories de sites Web spécifiques. En tant que service abonné en collaboration avec NetSTAR, la fonctionnalité permet aux entreprises clientes de filtrer le trafic Web à l’aide d’une base de données de catégorisation commerciale. La NetSTAR base de données contient un grand nombre (milliards) d’URL classées en différentes catégories, telles que les réseaux sociaux, les jeux de hasard, le contenu pour adultes, les nouveaux médias et les achats. En plus de la catégorisation, chaque URL possède un score de réputation mis à jour en fonction du profil de risque historique du site. Nous pouvons utiliser NetSTAR les données pour filtrer le trafic en configurant des politiques avancées basées sur des catégories, des groupes de catégories (tels que le terrorisme, les drogues illégales) ou des scores de réputation du site.

Par exemple, vous pouvez bloquer l’accès à des sites dangereux, tels que des sites connus pour être infectés par des logiciels malveillants. Vous pouvez également restreindre de manière sélective l’accès à des contenus tels que du contenu pour adultes ou des médias de divertissement en streaming pour les utilisateurs professionnels. Vous pouvez également capturer les détails transactionnels de l’utilisateur et les détails du trafic sortant pour surveiller l’analyse du trafic Web sur le serveur Citrix ADM.

Citrix ADC télécharge ou télécharge des données à partir du NetSTAR périphérique préconfiguré nsv10.netstar-inc.com et incompasshybridpc.netstar-inc.com est utilisé comme hôte de nuage par défaut pour les demandes de catégorisation de nuage. L’appliance utilise son adresse NSIP comme adresse IP source et 443 comme port de destination pour la communication.

Fonctionnement de la catégorisation des URL

La figure suivante montre comment un service de catégorisation d’URL Citrix ADC est intégré à une base de données de catégorisation d’URL commerciale et à des services cloud pour des mises à jour fréquentes.

Comment fonctionne la catégorisation d'URL

Les composants interagissent comme suit :

  1. Un client envoie une demande d’URL liée à Internet.

  2. Le proxy de transfert SSL applique une stratégie à la demande en fonction des détails de la catégorie, tels que la catégorie, le groupe de catégories et le score de réputation du site. Les détails des catégories sont extraits de la base de données de catégorisation d’URL. Si la base de données renvoie les détails de la catégorie, le processus passe à l’étape 5.

  3. Si la base de données manque les détails de catégorisation, la demande est envoyée à un service de recherche basé sur le cloud géré par un fournisseur de catégorisation d’URL. Toutefois, l’appliance n’attend pas de réponse. Au lieu de cela, l’URL est marquée comme non classée et une application de stratégie est effectuée (passez à l’étape 5). L’appliance continue de surveiller les commentaires des requêtes dans le cloud et met à jour le cache afin que les futures demandes puissent bénéficier de la recherche dans le cloud.

  4. L’appliance ADC reçoit les détails de la catégorie d’URL (catégorie, groupe de catégories et score de réputation) du service basé sur le cloud et les stocke dans la base de données de catégorisation.

  5. La stratégie autorise l’URL et la demande est envoyée au serveur d’origine. Sinon, l’appliance supprime, redirige ou répond par une page HTML personnalisée.

  6. Le serveur d’origine répond avec les données demandées à l’appliance ADC.

  7. L’appliance envoie la réponse au client.

Cas d’utilisation : utilisation d’Internet dans le cadre de la conformité des entreprises

Vous pouvez utiliser la fonctionnalité de filtrage d’URL pour détecter et mettre en œuvre des stratégies de conformité afin de bloquer les sites qui enfreignent la conformité de l’entreprise. Par exemple, des sites tels que des sites pour adultes, des médias en streaming, des réseaux sociaux qui peuvent être considérés comme non productifs ou qui consomment trop de bande passante Internet dans un réseau d’entreprise. Le blocage de l’accès à ces sites Web peut améliorer la productivité des employés, réduire les coûts d’exploitation liés à l’utilisation de la bande passante et réduire les frais généraux liés à la consommation réseau.

Conditions préalables

La fonctionnalité de catégorisation d’URL fonctionne sur une plate-forme Citrix ADC uniquement si elle dispose d’un service d’abonnement facultatif avec des fonctionnalités de filtrage d’URL et des informations sur les menaces pour le proxy direct SSL. L’abonnement permet aux clients de télécharger les dernières catégorisations de menaces pour les sites Web, puis d’appliquer ces catégories au proxy direct SSL. Avant d’activer et de configurer la fonctionnalité, vous devez installer les licences suivantes :

  • CNS_WEBF_SSERVER_Retail.lic

  • CNS_XXXX_SERVER_PLT_Retail.lic

Où, XXXXX est le type de plate-forme, par exemple : V25000

Expressions de stratégie du répondeur

Le tableau suivant répertorie les différentes expressions de stratégie que vous pouvez utiliser pour vérifier si une URL entrante doit être autorisée, redirigée ou bloquée.

  1. <text>. URL_CATEGORIZE (<min_reputation>, <max_reputation>) - Renvoie un objet URL_CATEGORY. Si <min_reputation> est supérieur à 0, l’objet renvoyé ne contient pas de catégorie dont la réputation est inférieure à <min_reputation>. Si <max_reputation> est supérieur à 0, l’objet renvoyé ne contient pas de catégorie dont la réputation est supérieure à <max_reputation>. Si la catégorie ne parvient pas à résoudre en temps opportun, la valeur undef est renvoyée.
  2. <url_category>. CATEGORY() - Retourne la chaîne de catégorie de cet objet. Si l’URL ne comporte pas de catégorie ou si l’URL est mal formée, la valeur renvoyée est « Inconnu ».
  3. <url_category>. CATEGORY_GROUP() - Retourne une chaîne identifiant le groupe de catégories de l’objet. Ce regroupement est un regroupement de catégories de niveau supérieur, ce qui est utile dans les opérations nécessitant des informations moins détaillées sur la catégorie d’URL. Si l’URL ne comporte pas de catégorie ou si l’URL est mal formée, la valeur renvoyée est « Inconnu ».
  4. <url_category>. REPUTATION() - Retourne le score de réputation sous la forme d’un nombre compris entre 0 et 5, où 5 indique la réputation la plus risquée. S’il existe la catégorie « Inconnu », la valeur de réputation est 1.

Types de stratégie :

  1. Stratégie de sélection des demandes d’URL appartenant à la catégorie Moteur de recherche - add responder policy p1 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY().EQ(“Search Engine”)
  2. Politique de sélection des demandes d’URL appartenant au groupe de catégorie Adulte - add responder policy p1 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY_GROUP().EQ(“Adult”)’
  3. Politique de sélection des demandes pour les URL des moteurs de recherche dont le score de réputation est inférieur à 4 - add responder policy p2 ‘HTTP.REQ.HOSTNAME.APPEND (HTTP.REQ.URL).URL_CATEGORIZE(4,0).HAS_CATEGORY(“Search Engine”)
  4. Politique de sélection des demandes pour les moteurs de recherche et les URL d’achat - add responder policy p3 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0).CATEGORY().EQ (“good_categories”)
  5. Politique de sélection des demandes pour les URL des moteurs de recherche dont le score de réputation est égal ou supérieur à 4 - add responder policy p5 ‘CLIENT.SSL.DETECTED_DOMAIN.URL_CATEGORIZE(4,0). CATEGORY().EQ(“Search Engines”)
  6. Stratégie pour sélectionner les demandes d’URL qui se trouvent dans la catégorie Moteur de recherche et les comparer à un jeu d’URL - ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY().EQ(“Search Engine”) && HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URLSET_MATCHES_ANY(“u1”)’

Types de stratégie du répondeur

Il existe deux types de stratégies utilisées dans une fonctionnalité de catégorisation d’URL et chacun de ces types de stratégie est expliqué dans le tableau suivant :

Type de stratégie Description
URL Category Classez le trafic Web en fonction des résultats de l’évaluation qui bloque, autorise ou redirige le trafic.
Score de réputation d’URL Détermine le score de réputation du site Web et vous permet de contrôler l’accès en fonction du seuil de score de réputation défini par l’administrateur.

Configurer la catégorisation d’URL

Pour configurer la catégorisation d’URL sur une appliance Citrix ADC, procédez comme suit :

  1. Activer le filtrage des URL.
  2. Configurez un serveur proxy pour le trafic Web.
  3. Configurez l’interception SSL pour le trafic Web en mode explicite.
  4. Configurez la mémoire partagée pour limiter la mémoire cache.
  5. Configurez les paramètres de catégorisation d’URL.
  6. Configurez la catégorisation d’URL à l’aide de l’assistant de proxy de transfert SSL Citrix.
  7. Configurez les paramètres de catégorisation d’URL à l’aide de l’assistant de proxy de transfert SSL.
  8. Configurer le chemin de la base de données initiale et le nom du serveur de nuage

Étape 1 : Activation du filtrage des URL

Pour activer la catégorisation d’URL, activez la fonction de filtrage d’URL et activez les modes de catégorisation d’URL.

Pour activer la catégorisation d’URL à l’aide de la CLI

À l’invite de commandes, tapez :

enable ns feature URLFiltering

disable ns feature URLFiltering

Étape 2 : Configurer un serveur proxy pour le trafic Web en mode explicite

L’appliance Citrix ADC prend en charge les serveurs virtuels proxy transparents et explicites. Pour configurer un serveur virtuel proxy pour le trafic SSL en mode explicite, procédez comme suit :

  1. Ajoutez un serveur proxy.
  2. Liez une stratégie SSL au serveur proxy.

Pour ajouter un serveur proxy à l’aide de la CLI

À l’invite de commandes, tapez :

add cs vserver <name> [-td <positive_integer>] <serviceType> [-cltTimeout <secs>]

Exemple :

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180

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

bind ssl vserver <vServerName> -policyName <string> [-priority <positive_integer>]

Étape 3 : Configurer l’interception SSL pour le trafic HTTPS

Pour configurer l’interception SSL pour le trafic HTTPS, procédez comme suit :

  1. Liez une paire de clés de certificat d’autorité de certification au serveur virtuel proxy.
  2. Configurez le profil SSL par défaut avec des paramètres SSL.
  3. Liez un profil SSL frontal au serveur virtuel proxy et activez l’interception SSL dans le profil SSL frontal.

Pour lier une paire de clés de certificat d’autorité de certification au serveur virtuel proxy à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName> -CA –skipCAName

Pour configurer le profil SSL par défaut à l’aide de la CLI

À l’invite de commandes, tapez :

set ssl profile <name> -denySSLReneg <denySSLReneg> -sslInterception (ENABLED | DISABLED) -ssliMaxSessPerServer positive_integer>

Lier un profil SSL frontal à un serveur virtuel proxy à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

set ssl vserver <vServer name> -sslProfile ssl_profile_interception

Étape 4 : Configurer la mémoire partagée pour limiter la mémoire cache

Pour configurer la mémoire partagée afin de limiter la mémoire cache à l’aide de la CLI

À l’invite de commandes, tapez :

set cache parameter [-memLimit <megaBytes>]

Où, la limite de mémoire configurée pour la mise en cache est définie sur 10 Mo.

Étape 5 : Configurer les paramètres de catégorisation d’URL

Pour configurer les paramètres de catégorisation d’URL à l’aide de la CLI

À l’invite de commandes, tapez :

set urlfiltering parameter [-HoursBetweenDBUpdates <positive_integer>] [-TimeOfDayToUpdateDB <HH:MM>]

Exemple :

set urlfiltering parameter –urlfilt_hours_betweenDB_updates 20

Étape 6 : Configurer la catégorisation d’URL à l’aide de l’assistant de proxy de transfert SSL Citrix

  1. Ouvrez une session sur l’appliance Citrix ADC et accédez à la page Sécurité > Proxy de transfert SSL .
  2. Dans le volet d’informations, effectuez l’une des opérations suivantes :
    1. Cliquez sur Assistant Proxy de transfert SSL pour créer une nouvelle configuration.
    2. Sélectionnez une configuration existante et cliquez sur Modifier.
  3. Dans la section Filtrage d’URL, cliquez sur Modifier.
  4. Cochez la case Catégorisation d’URL pour activer la fonctionnalité.
  5. Sélectionnez une stratégie de catégorisation d’URL et cliquez sur Lier.
  6. Cliquez sur Continuer, puis Terminé.

Pour plus d’informations sur la stratégie de catégorisation d’URL, voir Comment créer une stratégie de catégorisation d’URL.

Étape 7 : Configuration des paramètres de catégorisation d’URL à l’aide d’un Assistant Proxy de transfert SSL

  1. Ouvrez une session sur l’appliance Citrix ADC et accédez à Sécurité > Filtrage d’URL.
  2. Sur la page Filtrage d’URL, cliquez sur le lien Modifier les paramètres de filtrage d’URL .
  3. Dans la page Configuration des paramètres de filtrage d’URL, spécifiez les paramètres suivants.
    1. Heures entre les mises à jour des bases Heures de filtrage d’URL entre les mises à jour de Valeur minimale : 0 et valeur maximale : 720.
    2. Heure de mise à jour de la base de données. Heure de la journée de filtrage d’URL pour mettre à jour la base
    3. Hôte Cloud. Le chemin d’accès URL du serveur cloud.
    4. Chemin de base de données Seed Chemin d’accès URL du serveur de recherche de base de données de départ.
  4. Cliquez sur OK et sur Fermer.

Exemple de configuration :

enable ns feature LB CS SSL IC RESPONDER AppFlow URLFiltering

enable ns mode FR L3 Edge USNIP PMTUD

set ssl profile ns_default_ssl_profile_frontend -denySSLReneg NONSECURE -sslInterception ENABLED -ssliMaxSessPerServer 100

add ssl certKey swg_ca_cert -cert ns_swg_ca.crt -key ns_swg_ca.key

set cache parameter -memLimit 100

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180

add responder action act1 respondwith ""HTTP/1.1 200 OK\r\n\r\n" + http.req.url.url_categorize(0,0).reputation + "\n""

add responder policy p1 "HTTP.REQ.URL.URL_CATEGORIZE(0,0).CATEGORY.eq("Shopping/Retail") || HTTP.REQ.URL.URL_CATEGORIZE(0,0).CATEGORY.eq("Search Engines & Portals

")" act1

bind cs vserver starcs_PROXY -policyName p1 -priority 10 -gotoPriorityExpression END -type REQUEST

add dns nameServer 10.140.50.5

set ssl parameter -denySSLReneg NONSECURE -defaultProfile ENABLED -sigDigestType RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512 -ssliErrorCache ENABLED

-ssliMaxErrorCacheMem 100000000

add ssl policy pol1 -rule "client.ssl.origin_server_cert.subject.  URL_CATEGORIZE(0,0).CATEGORY.eq("Search Engines & Portals")"" -action INTERCEPT

add ssl policy pol3 -rule "client.ssl.origin_server_cert.subject.ne("citrix")" -action INTERCEPT

add ssl policy swg_pol -rule "client.ssl.client_hello.SNI.URL_CATEGORIZE(0,0).CATEGORY.ne("Uncategorized")" -action INTERCEPT

set urlfiltering parameter -HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00
<!--NeedCopy-->

Configurer le chemin de la base de données initiale et le nom du serveur de nuage

Vous pouvez désormais configurer le chemin de la base de données de départ et le nom du serveur de recherche cloud pour le réglage manuel du nom du serveur de recherche cloud et du chemin de la base de données de départ Pour ce faire, deux nouveaux paramètres, « CloudHost » et « SeedDbPath », sont ajoutés au paramètre de filtrage d’URL.

À l’invite de commandes, tapez :

set urlfiltering parameter [-HoursBetweenDBUpdates <positive_integer>] [-TimeOfDayToUpdateDB <HH:MM>] [-LocalDatabaseThreads <positive_integer>] [-CloudHost <string>] [-SeedDBPath <string>]

Exemple :

set urlfiltering parameter -HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00 –CloudHost localhost –SeedDBPath /mypath

Communication entre une appliance Citrix ADC et NetSTAR peut nécessiter un serveur de noms de domaine. Vous pouvez tester à l’aide d’une simple console ou d’une connexion Telnet à partir de l’appliance.

Exemple :

root@ns# telnet nsv10.netstar-inc.com 443
Trying 1.1.1.1...
Connected to nsv10.netstar-inc.com.
Escape character is '^]'.

root@ns# telnet incompasshybridpc.netstar-inc.com 443
Trying 10.10.10.10...
Connected to incompasshybridpc.netstar-inc.com.
Escape character is '^]'.
<!--NeedCopy-->

Configurer la messagerie du journal d’audit

La journalisation d’audit vous permet de passer en revue une condition ou une situation dans n’importe quelle phase du processus de catégorisation d’URL. Lorsqu’une appliance Citrix ADC reçoit une URL entrante, si la stratégie de répondeur possède une expression de filtrage d’URL, la fonctionnalité de journal d’audit collecte des informations de jeu d’URL dans l’URL. Il stocke les informations sous forme de messages de journal pour toute cible autorisée par la journalisation d’audit.

  • Adresse IP source (adresse IP du client qui a fait la demande).

  • Adresse IP de destination (adresse IP du serveur demandé).

  • URL demandée contenant le schéma, l’hôte et le nom de domaine (http://www.example.com).

  • Catégorie d’URL renvoyée par le cadre de filtrage d’URL.

  • Groupe de catégories d’URL renvoyé par le cadre de filtrage d’URL.

  • Numéro de réputation d’URL renvoyé par le cadre de filtrage d’URL.

  • Action du journal d’audit effectuée par la stratégie.

Pour configurer la journalisation d’audit pour une fonctionnalité de liste d’URL, vous devez effectuer les tâches suivantes :

  1. Activer le journal d’audit :
  2. Action Créer un message de journal d’audit.
  3. Définissez la stratégie de répondeur de liste d’URL avec l’action de message Journal d’audit.

Pour plus d’informations, consultez la rubrique Audit Logging .

Stockage des erreurs d’échec à l’aide de la messagerie SYSLOG

À n’importe quel stade du processus de filtrage d’URL, en cas de défaillance au niveau du système, l’appliance ADC utilise le mécanisme du journal d’audit pour stocker les journaux dans le fichier ns.log. Les erreurs sont stockées sous forme de messages texte au format SYSLOG afin qu’un administrateur puisse les consulter ultérieurement dans un ordre chronologique d’occurrence des événements. Ces journaux sont également envoyés à un serveur SYSLOG externe pour archivage. Pour plus d’informations, consultez l’article CTX229399.

Par exemple, si un échec se produit lorsque vous initialisez le SDK de filtrage d’URL, le message d’erreur est stocké dans le format de messagerie suivant.

Oct 3 15:43:40 <local0.err> ns URLFiltering[1349]: Error initializing NetStar SDK (SDK error=-1). (status=1).

L’appliance Citrix ADC stocke les messages d’erreur sous quatre catégories de défaillance différentes :

  • Échec du téléchargement. Si une erreur se produit lorsque vous tentez de télécharger la base de données de catégorisation.

  • échec de l’intégration. Si une erreur se produit lors de l’intégration d’une mise à jour dans la base de données de catégorisation existante.

  • Échec d’initialisation. Si une erreur se produit lorsque vous initialisez la fonctionnalité de catégorisation d’URL, définissez des paramètres de catégorisation ou mettez fin à un service de catégorisation.

  • Échec de récupération. Si une erreur se produit lorsque l’appliance récupère les détails de catégorisation de la demande.

Configurer des interruptions SNMP pour les événements NetStar

La fonction de filtrage d’URL génère des interruptions SNMP si les conditions suivantes se produisent :

  • La mise à jour de base de données NetStar échoue ou réussit.
  • L’initialisation du SDK NetStar échoue ou réussit.

L’appliance possède un ensemble d’entités conditionnelles appelées alarmes SNMP. Lorsqu’une condition de l’alarme SNMP est remplie, l’appliance génère des interruptions et les envoie à une destination d’interruption spécifiée. Par exemple, si l’initialisation du SDK NetStar échoue, un OID SNMP 1.3.6.1.4.1.5951.1.1.0.183 est généré et envoyé à la destination d’interruption.

Pour que l’appliance génère des interruptions, vous devez d’abord activer et configurer les alarmes SNMP. Ensuite, vous spécifiez la destination d’interruption à laquelle l’appliance envoie les messages d’interruption générés.

Activer une alarme SNMP

L’appliance Citrix ADC génère des interruptions uniquement pour les alarmes SNMP qui sont activées. Certaines alarmes sont activées par défaut, mais vous pouvez les désactiver.

Lorsque vous activez une alarme SNMP, la fonction de filtrage d’URL génère des messages d’interruption lorsqu’un événement de réussite ou d’échec se produit. Certaines alarmes sont activées par défaut.

Pour activer une alarme SNMP à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez les commandes suivantes pour définir les paramètres et vérifier la configuration :

enable snmp alarm <trapName> show snmp alarm <trapName>

Pour activer une alarme SNMP à l’aide de l’interface graphique Citrix ADC

  1. Accédez à Système > SNMP > Alarmes, puis sélectionnez l’alarme.
  2. Cliquez sur Actions et sélectionnez Activer.

Configurer l’alarme SNMP à l’aide du CLI

À l’invite de commandes, tapez les commandes suivantes pour définir les paramètres et vérifier la configuration :

set snmp alarm <trapName> [-thresholdValue <positive_integer> [-normalValue <positive_integer>]] [-time <secs>] [-state ( ENABLED | DISABLED )] [-severity <severity>] [-logging ( ENABLED | DISABLED )]

Exemple :

set snmp alarm URL-FIL-DB-UPDATE-STATUS –state ENABLED set snmp alarm URL-FIL-INIT-SDK –state ENABLED

Configurer les alarmes SNMP à l’aide de l’interface graphique

Accédez à Système > SNMP > Alarmes, sélectionnez une alarme et configurez les paramètres d’alarme.

Pour plus d’informations sur les interruptions SNMP, consultez la rubrique SNMP