Vérification par carte de crédit

Si vous disposez d’une application qui 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 carte de crédit, vous devez utiliser les 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.

La vérification de carte de crédit du pare-feu Citrix Web Web App 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.

La vérification de sécurité de la carte de crédit examine les réponses du serveur pour identifier les instances des numéros de carte de crédit cible et applique une action spécifiée lorsqu’un tel numéro est trouvé. L’action peut être de transformer la réponse en X’ing tous les chiffres sauf le dernier groupe de chiffres dans le numéro de carte de crédit, ou de bloquer la réponse si elle contient plus d’un nombre spécifié de numéros de carte de crédit. Si vous spécifiez les deux, l’action de blocage a priorité. Le paramètre Nombre maximal de cartes de crédit autorisées par page détermine le moment où 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 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 moins que le nombre maximal autorisé de cartes de crédit dans la réponse.

Pour éviter les faux positifs, vous pouvez appliquer des relaxations pour exempter des numéros spécifiques du chèque de 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 de carte de crédit.

Si vous n’êtes pas sûr des numéros de carte de crédit à exempter, vous pouvez utiliser la fonctionnalité d’apprentissage pour générer des recommandations basées sur les données apprises. Pour obtenir un avantage optimal sans compromettre les performances, vous pouvez activer cette option pendant une courte période pour obtenir un échantillon représentatif des règles, puis déployer les relaxations et désactiver l’apprentissage.

Si vous activez la fonction de journal, la vérification de carte de crédit génère des messages de journal indiquant les actions qu’elle prend. 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 des tentatives contrecarrées d’accès. Par défaut, le paramètre doSecureCreditCardLogging est ON, 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 de commerce sécurisé (carte de crédit).

La fonctionnalité des 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 la vérification de sécurité de la carte de crédit pour 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 confidentielles telles que les numéros de carte de crédit.

Utilisation de la ligne de commande pour configurer la vérification 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 de carte 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 soit la commande set appfw profile, soit 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 de relaxation de carte 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 vous avez utilisés pour la commande bind. Vous pouvez utiliser la commande show pour afficher les numéros de carte de crédit liés à un profil.

  • Pour lier un numéro de carte de crédit un profil

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

    Exemple : bind appfw profil test_profile -CreditCardNumber 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 carte de crédit liés à un profil.

      show appfw profile <profile>

Utilisation de l’interface graphique pour configurer la vérification 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 pour le 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, mettez en surbrillance le profil cible et cliquez sur Modifier.

  2. Dans le volet Paramètres avancés, cliquez sur Vérifications de sécurité.

    La table de vérification de sécurité affiche les paramètres d’action actuellement configurés pour tous les contrôles de sécurité. Vous avez 2 options de configuration :

    1. Si vous souhaitez simplement activer ou désactiver les actions Bloquer, Journaliser, Statistiques et Apprendre pour Carte de crédit, vous pouvez activer ou désactiver les cases à cocher dans le tableau, cliquez sur OK, puis cliquez sur Enregistreret fermerpour fermer le volet 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 :
      • Out : 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 groupe final, par la lettre « X.

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

      • Cartes de crédit protégées. Activez ou désactivez une case à cocher pour activer ou désactiver la protection pour chaque type de carte de crédit.

      • Vous pouvez également modifier les actions Bloquer, Journaliser, Statistiques et Apprendre dans le volet Paramètres de carte de crédit.

        Après avoir effectué l’une des modifications ci-dessus, cliquez sur OK pour enregistrer les modifications et revenir au tableau Vérifications de sécurité. Vous pouvez procéder à la configuration d’autres vérifications de sécurité si nécessaire. Cliquez sur OK pour enregistrer toutes les modifications apportées dans la section Vérifications de sécurité, puis cliquez sur Enregistrer et fermer pour fermer le volet Vérification 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 carte de crédit, activez ou désactivez la case à cocher Sécuriser l’enregistrement des cartes de crédit. (Par défaut, il est sélectionné).

    Cliquez sur OK pour enregistrer les modifications.

  • Pour configurer une règle de relaxation de carte de crédit à l’aide de l’interface graphique

    1. Accédez à Web App Firewall > Profils, mettez en surbrillance le profil cible et cliquez sur Modifier.
    2. Dans le volet Paramètres avancés, cliquez sur Règles de relaxation. Le tableau Règles de relaxation comporte une entrée par 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 Règles de relaxation de la carte 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 le chèque de 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 avoir dûment pris en considération, si vous souhaitez exempter une chaîne de chiffres spécifique du contrôle de sécurité de la carte de crédit, vous pouvez déployer la règle apprise en tant que règle de relaxation.

  • 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 et cliquez sur Modifier.
    2. Dans le volet Paramètres avancés, cliquez sur Règles apprises. Vous pouvez sélectionner l’entrée Carte de crédit dans le tableau 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 ignorer une règle, vous pouvez la sélectionner et cliquer sur le bouton Ignorer. Vous ne pouvez modifier qu’une seule règle à la fois, mais vous pouvez sélectionner plusieurs règles à déployer ou à ignorer.

    Vous avez également la possibilité d’afficher une vue récapitulative des relaxations apprises en sélectionnant l’entrée Carte de crédit dans le tableau Règles apprises et en cliquant sur Visualizer pour obtenir une vue consolidée de toutes les violations apprises. Le visualiseur facilite la gestion des règles apprises. Il présente une vue complète des données sur un seul écran et facilite l’action sur un groupe de règles en un seul clic. Le plus grand 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 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 en tant que relaxations. Ou vous pouvez ignorer les règles pour les ignorer.

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

Lorsque l’action du journal est activée, les violations de vérification de sécurité de la carte 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 de doSecureCreditCardLogging est ON. Si vous le remplacez par OFF, le numéro et le type de carte de crédit sont inclus dans le message de journal.

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

  • La réponse a été bloquée ou non bloquée.
  • Les numéros de carte de crédit ont été transformés (X’d out). 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 maximal de numéros de carte de crédit potentiels.
  • Numéros de carte de crédit et leurs types correspondants.

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

    Basculez vers le shell et recherchez les fichiers ns.logs dans le dossier /var/log/ pour accéder aux messages de journal relatifs aux violations de la carte de crédit :

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

    1. L’interface utilisateur graphique Citrix inclut un outil très utile (Syslog Viewer) pour analyser les messages du journal. Vous disposez de quelques options pour accéder à la visionneuse Syslog : accédez au profil cible > Vérifications de sécurité. Mettez en surbrillance la ligne Carte de crédit et cliquez sur Journaux. Lorsque vous accédez aux journaux directement à partir de la vérification de sécurité de la carte de crédit du profil, il filtre les messages de journal et affiche uniquement les journaux relatifs à ces violations de 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 vérification de sécurité peuvent être déclenchées pendant le traitement de la demande.

      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 de vérification de sécurité de la carte 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 activez les cases à cocher APPFW_SAFECOMMERCE et APPFW_SAFECOMMERCE_XFORM et que vous cliquez sur le bouton Appliquer, seuls les messages relatifs aux violations de vérification de sécurité de la carte de crédit apparaissent dans la visionneuse Syslog.

      Si vous placez le curseur dans la ligne d’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>

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

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 peuvent être vus 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

Statistiques pour les violations de la carte de crédit

Lorsque l’action des statistiques est activée, le compteur correspondant pour la vérification de 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émentation 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 de carte de crédit max autorisé est 0, la demande d’une page contenant 20 numéros de carte de crédit incrémente le compteur de statistiques d’un lorsque la page est bloquée dès que le premier numéro de carte de crédit est détecté. Toutefois, si le bloc est désactivé et que la transformation est activée, le traitement de la même demande incrémente le compteur de statistiques pour les journaux de 20, car chaque transformation de carte de crédit génère un message de journal distinct.

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

    À l’invite de commandes, 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 de carte 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 afficher 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é

Notez les 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 la vérification de protection par carte 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 diriger la sortie de la commande sh appfw profile et grep for CreditCard pour voir toute la configuration spécifique à la carte de crédit. Par exemple, sh appfw profile my_profile | grep CreditCard affiche les paramètres configurés de différents paramètres ainsi que les règles de relaxation relatives à la vérification de carte de crédit pour le profil de Web App Firewall nommé my_profile.
  • Vous pouvez exclure des numéros spécifiques de l’inspection par carte de crédit sans contourner l’inspection de contrôle de sécurité pour le reste des numéros de carte de crédit.
  • La détente 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 Ajouter, Modifier, Supprimer, Activer ou Désactiver sur les règles de relaxation.
  • Le moteur d’apprentissage du Web App Firewall peut surveiller le trafic sortant pour recommander des règles basées sur les violations observées. La prise en charge de Visualizer 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. Il ne concerne pas le total cumulé des numéros de carte de crédit observés pendant toute la session utilisateur.
  • Le nombre de X chiffres sortis dépend de la longueur des numéros de carte de crédit. Dix chiffres sont X pour les cartes de crédit qui ont 13 à 15 chiffres. Douze chiffres sont X pour les cartes de crédit qui ont 16 chiffres. Si votre application ne nécessite pas l’envoi du numéro complet 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 maximal 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, toutes les 4 cartes de crédit sont X’d-out, mais elles ne sont pas bloquées. Si les numéros de carte de crédit sont répartis 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’en tenir compte. Lorsque ce paramètre est désactivé, les numéros de carte de crédit sont affichés et sont accessibles dans les messages du journal. Ces nombres 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 exposé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.