ADC

Chèque de carte de crédit

Si votre application accepte les cartes de crédit ou si vos sites Web ont accès à des serveurs de base de données qui stockent les numéros de cartes de crédit, vous devez utiliser des mesures de prévention des fuites de données (DLP) et configurer la protection pour chaque type de carte de crédit que vous acceptez.

Le contrôle des cartes de crédit de NetScaler Web App Firewall empêche les attaquants d’exploiter les failles de prévention des fuites de données pour obtenir les numéros de carte de crédit de vos clients. En suivant des étapes de configuration simples, vous pouvez appliquer la protection d’une ou de plusieurs des cartes de crédit suivantes : 1) Visa, 2) Master Card, 3) Discover, 4) American Express (Amex), 5) JCB et 6) Diners Club.

Le contrôle de sécurité des cartes de crédit examine les réponses du serveur afin d’identifier les instances des numéros de carte de crédit cibles et applique une action spécifique lorsqu’un tel numéro est trouvé. L’action peut consister à transformer la réponse en supprimant tous les groupes de chiffres du numéro de carte de crédit sauf le dernier, ou à bloquer la réponse si elle contient plus qu’un nombre spécifié de numéros de carte de crédit. Si vous spécifiez les deux, l’action de blocage est prioritaire. Le paramètre Nombre maximum de cartes de crédit autorisées par page détermine à quel moment l’action de blocage est invoquée. Le paramètre par défaut, 0 (aucun numéro de carte de crédit n’est autorisé sur la page), est le plus sûr, mais vous pouvez en autoriser jusqu’à 255. Selon l’endroit où la violation est détectée dans la réponse et où l’action de blocage est déclenchée, vous pouvez obtenir un nombre de cartes de crédit inférieur au nombre maximum autorisé dans la réponse.

Pour éviter les faux positifs, vous pouvez appliquer des assouplissements pour exempter certains numéros de la vérification de la carte de crédit. Par exemple, un numéro de sécurité sociale, un numéro de bon de commande ou un numéro de compte Google peut être similaire à un numéro de carte de crédit. Vous pouvez spécifier des nombres individuels ou utiliser une expression régulière pour indiquer la chaîne de chiffres à contourner lors du traitement de l’URL de réponse pour l’inspection des cartes de crédit.

Si vous ne savez pas quels numéros de carte de crédit exempter, vous pouvez utiliser la fonction d’apprentissage pour générer des recommandations basées sur les données apprises. Pour obtenir des avantages optimaux sans compromettre les performances, vous pouvez activer cette option pendant une courte période afin d’obtenir un échantillon représentatif des règles, puis déployer les assouplissements et désactiver l’apprentissage.

Si vous activez la fonction de journalisation, la vérification de la carte de crédit génère des messages de journal indiquant les actions entreprises. Vous pouvez surveiller les journaux pour déterminer si les réponses aux demandes légitimes sont bloquées. Une forte augmentation du nombre de messages de journal peut indiquer que des tentatives d’accès ont été contrecarrées. Par défaut, le paramètre DoSecureCreditCardLogging est activé, de sorte que le numéro de carte de crédit n’est pas inclus dans le message de journal généré par la violation du protocole de sécurité du commerce (carte de crédit).

La fonction de statistiques rassemble des statistiques sur les violations et les journaux. Une augmentation inattendue du compteur de statistiques peut indiquer que votre application est attaquée.

Pour configurer le contrôle de sécurité des cartes de crédit afin de protéger votre application, configurez le profil qui régit l’inspection du trafic à destination et en provenance de cette application.

Remarque :

Un site Web qui n’accède pas à une base de données SQL n’a généralement pas accès à des informations privées sensibles telles que les numéros de cartes de crédit.

Utilisation de la ligne de commande pour configurer le contrôle de carte de crédit

Dans l’interface de ligne de commande, vous pouvez utiliser la commande set appfw profile ou la commande add appfw profile pour activer la vérification des cartes de crédit et spécifier les actions à effectuer. Vous pouvez utiliser la commande unset appfw profile pour revenir aux paramètres par défaut. Pour spécifier des relaxations, utilisez la commande bind appfw pour lier les numéros de carte de crédit au profil.

Pour configurer une vérification de carte de crédit à l’aide de la ligne de commande

Utilisez la commande set appfw profile ou la commande add appfw profile, comme suit :

  • set appfw profile <name> -creditCardAction ( ([block][learn] [log][stats]) | [none])
  • set appfw profile <name> -creditCard (VISA | MASTERCARD | DISCOVER | AMEX | JCB | DINERSCLUB)
  • set appfw profile <name> -creditCardMaxAllowed <integer>
  • set appfw profile <name> -creditCardXOut ([ON] | [OFF])<name> -doSecureCreditCardLogging ([ON] | [OFF])

  • Pour configurer une règle d’assouplissement des règles relatives aux cartes de crédit à l’aide de la ligne de commande

    Utilisez la commande bind pour lier le numéro de carte de crédit au profil. Pour supprimer un numéro de carte de crédit d’un profil, utilisez la commande unbind, avec les mêmes arguments que ceux que vous avez utilisés pour la commande bind. Vous pouvez utiliser la commande show pour afficher les numéros de carte de crédit associés à un profil.

  • Pour associer un numéro de carte de crédit à un profil

    bind appfw profile <profile-name> -creditCardNumber <any number/regex> “<url>”

    Exemple : bind appfw profile test_profile - Numéro de carte de crédit 378282246310005 http://www.example.com/credit\_card\_test.html

    • Pour dissocier un numéro de carte de crédit d’un profil

      unbind appfw profile <profile-name> -creditCardNumber <credit card number / regex> <url>

    • Pour afficher la liste des numéros de cartes de crédit associés à un profil.

      show appfw profile <profile>

Utilisation de l’interface graphique pour configurer le contrôle de carte de crédit

Dans l’interface graphique, vous configurez le contrôle de sécurité de la carte de crédit dans le volet du profil associé à votre application.

Pour ajouter ou modifier le contrôle de sécurité de la carte de crédit à l’aide de l’interface graphique

  1. Accédez à Web App Firewall > Profils, sélectionnez le profil cible et cliquez sur Modifier.

  2. Dans le volet Paramètres avancés, cliquez sur Contrôles de sécurité.

    Le tableau de contrôle de sécurité affiche les paramètres d’action actuellement configurés pour tous les contrôles de sécurité. Deux options de configuration s’offrent à vous :

    1. Si vous souhaitez simplement activer ou désactiver les actions Block, Log, Stats et Learn pour les cartes de crédit, vous pouvez activer ou désactiver les cases à cocher dans le tableau, cliquer sur OK, puis sur Enregistrer et fermer pour fermer le volet de contrôle de sécurité .
    2. Si vous souhaitez configurer des options supplémentaires pour ce contrôle de sécurité, double-cliquez sur Carte de crédit ou sélectionnez la ligne et cliquez sur Paramètres d’action pour afficher les options supplémentaires suivantes :
      • Exclure : masquez tout numéro de carte de crédit détecté dans une réponse en remplaçant chaque chiffre, à l’exception des chiffres du dernier groupe, par la lettre « X ».

      • Nombre maximum de cartes de crédit autorisées par page : spécifiez le nombre de cartes de crédit qui peuvent être transférées au client sans déclencher d’action de blocage.

      • Cartes de crédit protégées. Cochez ou décochez une case pour activer ou désactiver la protection pour chaque type de carte de crédit.

      • Vous pouvez également modifier les actions Block, Log, Stats et Learn dans le volet Paramètres de la carte de crédit.

        Après avoir apporté l’une des modifications ci-dessus, cliquez sur OK pour enregistrer les modifications et revenir au tableau des contrôles de sécurité. Vous pouvez procéder à la configuration d’autres contrôles de sécurité si nécessaire. Cliquez sur OK pour enregistrer toutes les modifications que vous avez apportées dans la section Contrôles de sécurité, puis cliquez sur Enregistrer et fermer pour fermer le volet Contrôle de sécurité.

  3. Dans le volet Paramètres avancés, cliquez sur Paramètres du profil. Pour activer ou désactiver l’enregistrement sécurisé des numéros de cartes de crédit, cochez ou décochez la case Enregistrement sécurisé des cartes de crédit . (Par défaut, il est sélectionné).

    Cliquez sur OK pour enregistrer les modifications.

  • Pour configurer une règle d’assouplissement des règles relatives aux cartes de crédit à l’aide de l’interface graphique

    1. Accédez à Web App Firewall > Profils, mettez en surbrillance le profil cible, puis cliquez sur Modifier.
    2. Dans le volet Paramètres avancés, cliquez sur Règles de relaxation. Le tableau des règles de relaxation contient une entrée de carte de crédit. Vous pouvez double-cliquer ou sélectionner cette ligne et cliquer sur Modifier pour accéder à la boîte de dialogue relative aux règles d’ assouplissement des règles relatives aux cartes de crédit . Vous pouvez effectuer des opérations Ajouter, Modifier, Supprimer, Activer ou Désactiver pour les règles de relaxation.

Utilisation de la fonction d’apprentissage avec la vérification de la carte de crédit

Lorsque l’action d’apprentissage est activée, le moteur d’apprentissage du Web App Firewall surveille le trafic et apprend les violations déclenchées. Vous pouvez inspecter périodiquement ces règles apprises. Après mûre réflexion, si vous souhaitez exempter une chaîne de chiffres spécifique du contrôle de sécurité des cartes de crédit, vous pouvez déployer la règle apprise en tant que règle d’assouplissement.

  • Pour afficher ou utiliser les données apprises à l’aide de l’interface de ligne de commande

    show appfw learningdata <profilename> creditCardNumber

    rm appfw learningdata <profilename> -creditcardNumber <credit card number> "<url>"

    export appfw learningdata <profilename> creditCardNumber

  • Pour afficher ou utiliser les données apprises à l’aide de l’interface graphique

    1. Accédez à Web App Firewall > Profils, mettez en surbrillance le profil cible, puis cliquez sur Modifier.
    2. Dans le volet Paramètres avancés, cliquez sur Règles apprises. Vous pouvez sélectionner l’entrée relative à la carte de crédit dans le tableau des règles apprises et double-cliquer dessus pour accéder aux règles apprises. Vous pouvez déployer les règles apprises ou modifier une règle avant de la déployer en tant que règle de relaxation. Pour annuler une règle, vous pouvez la sélectionner et cliquer sur le bouton Ignorer . Vous ne pouvez modifier qu’une règle à la fois, mais vous pouvez sélectionner plusieurs règles à déployer ou à ignorer.

    Vous pouvez également afficher une vue résumée des relaxations apprises en sélectionnant l’entrée relative à la carte de crédit dans le tableau des règles apprises et en cliquant sur Visualiseur pour obtenir une vue consolidée de toutes les violations apprises. Le visualiseur permet de gérer très facilement les règles apprises. Il présente une vue complète des données sur un seul écran et facilite la prise de mesures sur un groupe de règles en un seul clic. Le principal avantage du visualiseur est qu’il recommande des expressions régulières pour consolider plusieurs règles. Vous pouvez sélectionner un sous-ensemble de ces règles, en fonction du délimiteur et de l’URL d’action. Vous pouvez afficher 25, 50 ou 75 règles dans le visualiseur, en sélectionnant le nombre dans une liste déroulante. Le visualiseur des règles apprises offre la possibilité de modifier les règles et de les déployer sous forme d’assouplissements. Vous pouvez également ignorer les règles pour les ignorer.

Utilisation de la fonction de journalisation avec la vérification de la carte de crédit

Lorsque l’action du journal est activée, les violations du contrôle de sécurité des cartes de crédit sont enregistrées dans le journal d’audit en tant que violations APPFW_SAFECOMMERCE ou APPFW_SAFECOMMERCE_XFORM. Le Web App Firewall prend en charge les formats de journaux natifs et CEF. Vous pouvez également envoyer les journaux à un serveur Syslog distant.

Le paramètre par défaut pour DoSecureCreditCardLogging est ON. Si vous le définissez sur OFF, le numéro et le type de carte de crédit sont inclus dans le message du journal.

Selon les paramètres configurés pour les vérifications des cartes de crédit, les messages de journal générés par le pare-feu de l’application peuvent inclure les informations suivantes :

  • La réponse a été bloquée ou n’a pas été bloquée.
  • Les numéros de cartes de crédit ont été transformés (un X a été retiré). Un message de journal distinct est généré pour chaque numéro de carte de crédit transformé, de sorte que plusieurs messages de journal peuvent être générés lors du traitement d’une seule réponse.
  • La réponse contenait le nombre maximum de numéros de cartes de crédit potentiels.
  • Numéros de cartes de crédit et types correspondants.

  • Pour accéder aux messages du journal à l’aide de la ligne de commande

    Passez au shell et suivez le fichier ns.logs dans le dossier /var/log/ pour accéder aux messages du journal relatifs aux violations des cartes de crédit :

    • Shell
    • tail -f /var/log/ns.log | grep SAFECOMMERCE
  • Pour accéder aux messages du journal à l’aide de l’interface graphique

    1. L’interface graphique inclut un outil très utile (Syslog Viewer) pour analyser les messages du journal. Deux options s’offrent à vous pour accéder au visualiseur Syslog : Accédez au profil cible > Vérifications de sécurité. Surlignez la ligne Carte de crédit et cliquez sur Journaux. Lorsque vous accédez aux journaux directement à partir du contrôle de sécurité du profil par carte de crédit, il filtre les messages du journal et affiche uniquement les journaux relatifs à ces violations du contrôle de sécurité.

    2. **Vous pouvez également accéder à la visionneuse Syslog en accédant à **NetScaler > Système > Audit.** Dans la section Messages d’audit, cliquez sur le lien **Messages Syslog pour afficher la visionneuse Syslog, qui affiche tous les messages de journal, y compris les autres journaux de violation de vérification de sécurité. Ceci est utile pour le débogage lorsque plusieurs violations de contrôle de sécurité peuvent être déclenchées pendant le traitement des demandes.

      La visionneuse Syslog basée sur HTML fournit diverses options de filtre pour sélectionner uniquement les messages de journal qui vous intéressent. Pour accéder aux messages du journal des violations des contrôles de sécurité des cartes de crédit, filtrez en sélectionnant APPFW dans les options déroulantes du module. Le type d’événement affiche un ensemble complet d’options pour affiner votre sélection. Par exemple, si vous cochez les cases APPFW_SAFECOMMERCE et APPFW_SAFECOMMERCE_XFORM et que vous cliquez sur le bouton Appliquer, seuls les messages du journal relatifs aux violations du contrôle de sécurité des cartes de crédit apparaissent dans le visualiseur Syslog.

      Si vous placez le curseur sur la ligne correspondant à un message de journal spécifique, plusieurs options, telles que Module et EventType, apparaissent sous le message de journal. Vous pouvez sélectionner l’une de ces options pour mettre en surbrillance les informations correspondantes dans les journaux.

Exemple de message de journal au format natif lorsque la réponse n’est pas bloquée

May 29 01:26:31 <local0.info> 10.217.31.98 05/29/2015:01:26:31 GMT ns 0-PPE-0 :
default APPFW APPFW_SAFECOMMERCE 2181 0 :  10.217.253.62 1098-PPE0
4erNfkaHy0IeGP+nv2S9Rsdu77I0000 pr_ffc http://aaron.stratum8.net/FFC/CreditCardMind.html
Maximum number of potential credit card numbers seen <not blocked>
<!--NeedCopy-->

Exemple de message de journal au format CEF lorsque la réponse est transformée

May 28 23:42:48 <local0.info> 10.217.31.98
CEF:0|Citrix|NetScaler|NS11.0|APPFW|APPFW_SAFECOMMERCE_XFORM|6|src=10.217.253.62
spt=25314 method=GET request=http://aaron.stratum8.net/FFC/CreditCardMind.html
msg=Transformed (xout) potential credit card numbers seen in server response
cn1=66 cn2=1095 cs1=pr_ffc cs2=PPE2 cs3=xzE7M0g9bovAtG/zLCrLd2zkVl80002
cs4=ALERT cs5=2015 act=transformed
<!--NeedCopy-->

Exemple de message de journal au format CEF lorsque la réponse est bloquée. Le numéro et le type de carte de crédit sont visibles dans le journal, car le paramètre DoSecureCreditCardLogging est désactivé.

May 28 23:42:48 <local0.info> 10.217.31.98
CEF:0|Citrix|NetScaler|NS11.0|APPFW|APPFW_SAFECOMMERCE|6|src=10.217.253.62
spt=25314 method=GET request=http://aaron.stratum8.net/FFC/CreditCardMind.html
msg=Credit Card number 4505050504030302 of type Visa is seen in response cn1=68
cn2=1095 cs1=pr_ffc cs2=PPE2 cs3=xzE7M0g9bovAtG/zLCrLd2zkVl80002 cs4=ALERT cs5=2015
act=blocked
<!--NeedCopy-->

Statistiques relatives aux violations des cartes de crédit

Lorsque l’action statistique est activée, le compteur correspondant à la vérification de la carte de crédit est incrémenté lorsque le Web App Firewall prend une action pour cette vérification de sécurité. Les statistiques sont collectées pour le taux et le nombre total pour le trafic, les violations et les journaux. L’incrément du compteur de journaux peut varier en fonction des paramètres configurés. Par exemple, si l’action de blocage est activée et que le paramètre Nombre maximum de cartes de crédit autorisées est 0, la demande d’une page contenant 20 numéros de carte de crédit incrémente le compteur de statistiques d’une unité lorsque la page est bloquée dès que le premier numéro de carte de crédit est détecté. Toutefois, si le blocage est désactivé et que la transformation est activée, le traitement de la même demande incrémente le compteur de statistiques des journaux de 20, car chaque transformation de carte de crédit génère un message de journal distinct.

  • Pour afficher les statistiques des cartes de crédit à l’aide de la ligne de commande

    À l’invite de commande, tapez :

    sh appfw stats

    Pour afficher les statistiques d’un profil spécifique, utilisez la commande suivante :

    stat appfw profile <profile name>

    Pour afficher les statistiques des cartes de crédit à l’aide de l’interface graphique

    1. Accédez à Système > Sécurité > Web App Firewall.
    2. Dans le volet droit, accédez au lien Statistiques .
    3. Utilisez la barre de défilement pour consulter les statistiques sur les violations des cartes de crédit et les journaux. Le tableau des statistiques fournit des données en temps réel et est mis à jour toutes les 7 secondes.

Résumé

Prenez note des points suivants concernant le contrôle de sécurité de la carte de crédit :

  • Le Web App Firewall vous permet de protéger les informations de carte de crédit et de détecter toute tentative d’accès à ces données sensibles.
  • Pour utiliser le contrôle de protection des cartes de crédit, vous devez spécifier au moins un type de carte de crédit et une action. La vérification est ensuite appliquée aux profils HTML, XML et Web 2.0.
  • Vous pouvez rediriger la sortie de la commande sh appfw profile et grep pour CreditCard pour voir toutes les configurations spécifiques à la carte de crédit. Par exemple, sh appfw profile my_profile | grep CreditCard affiche les paramètres configurés ainsi que les règles de relaxation relatives à la vérification des cartes de crédit pour le profil du Web App Firewall nommé my_profile.
  • Vous pouvez exclure des numéros spécifiques de l’inspection des cartes de crédit sans contourner l’inspection de sécurité pour les autres numéros de carte de crédit.
  • La fonctionnalité Relaxation est disponible pour tous les modèles de cartes de crédit protégés par le Web App Firewall. Dans l’interface graphique, vous pouvez utiliser le visualiseur pour spécifier les opérations d’ajout, de modification, de suppression, d’activation ou de désactivation sur les règles de relaxation.
  • Le moteur d’apprentissage du Web App Firewall peut surveiller le trafic sortant afin de recommander des règles en fonction des violations observées. Le support du visualiseur est également disponible pour gérer les règles de carte de crédit apprises dans l’interface graphique. Vous pouvez modifier et déployer les règles apprises, ou les ignorer après une inspection minutieuse.
  • Le paramètre du nombre de cartes de crédit autorisées s’applique à chaque réponse. Cela ne concerne pas le total cumulé des numéros de cartes de crédit observés pendant toute la session utilisateur.
  • Le nombre de chiffres en X dépend de la longueur des numéros de carte de crédit. Pour les cartes de crédit comportant de 13 à 15 chiffres, les dix chiffres sont en croix. Douze chiffres sont supprimés en X pour les cartes de crédit à 16 chiffres. Si votre application ne nécessite pas l’envoi de l’intégralité du numéro de carte de crédit dans la réponse, Citrix vous recommande d’activer cette action pour masquer les chiffres des numéros de carte de crédit.
  • L’opération X-out transforme toutes les cartes de crédit et fonctionne indépendamment des paramètres configurés pour le nombre maximum de cartes de crédit autorisées. Par exemple, si la réponse contient 4 cartes de crédit et que le paramètre CreditCardMaxAllowed est défini sur 10, les 4 cartes de crédit sont sorties en X, mais elles ne sont pas bloquées. Si les numéros de carte de crédit sont dispersés dans le document, une réponse partielle avec des numéros X’D-Out peut être envoyée au client avant que la réponse ne soit bloquée.
  • Ne désactivez pas le paramètre DoSecureCreditCardLogging avant d’y avoir dûment réfléchi. Lorsque ce paramètre est désactivé, les numéros de carte de crédit s’affichent et sont accessibles dans les messages du journal. Ces chiffres ne sont pas masqués dans les journaux, même si l’action X-out est activée. Si vous envoyez des journaux à un serveur Syslog distant et que les journaux sont compromis, les numéros de carte de crédit peuvent être divulgués.
  • Lorsque la page de réponse est bloquée en raison d’une violation de carte de crédit, le Web App Firewall ne redirige pas vers la page d’erreur.