Citrix ADC

Champs confidentiels

Vous pouvez définir les champs de formulaire Web comme confidentiels afin de protéger les informations que les utilisateurs y saisissent. Normalement, toutes les informations qu’un utilisateur saisit dans un formulaire Web sur l’un de vos serveurs Web protégés sont enregistrées dans les journaux Citrix ADC. Les informations saisies dans un champ de formulaire Web désigné comme confidentiel ne sont toutefois pas enregistrées. Ces informations ne sont enregistrées que lorsque le site Web est configuré pour enregistrer ces données, normalement dans une base de données sécurisée.

Les types courants d’informations que vous pouvez vouloir protéger avec une désignation de champ confidentiel sont les suivants :

  • Mots de passe
  • Numéros de carte de crédit, codes de validation et dates d’expiration
  • Numéros de sécurité sociale
  • Numéros d’identification fiscale
  • Adresses domiciliaires
  • Numéros de téléphone privés

En plus d’être une bonne pratique, l’utilisation appropriée de désignations de champs confidentielles peut être nécessaire pour la conformité PCI-DSS sur les serveurs de commerce électronique, la conformité HIPAA sur les serveurs qui gèrent les informations médicales aux États-Unis et la conformité à d’autres normes de protection des données.

Important :

Dans les deux cas suivants, la désignation de champ confidentiel ne fonctionne pas comme prévu :

  • Si un formulaire Web contient un champ confidentiel ou une URL d’action de plus de 256 caractères, le champ ou l’URL de l’action est tronqué dans les journaux Citrix ADC.
  • Avec certaines transactions SSL, les journaux sont tronqués si le champ confidentiel ou l’URL de l’action comporte plus de 127 caractères.

Dans l’un ou l’autre de ces cas, le Web App Firewall masque une chaîne de quinze caractères avec la lettre « x », au lieu de la chaîne normale de huit caractères. Pour garantir la suppression de toute information confidentielle, l’utilisateur doit utiliser le nom du champ de formulaire et les expressions d’URL d’action qui correspondent aux 256 premiers caractères ou (dans les cas où SSL est utilisé) aux 127 premiers caractères.

Pour configurer votre Web App Firewall afin qu’il traite un champ de formulaire Web d’un site Web protégé comme confidentiel, vous ajoutez ce champ à la liste Champs confidentiels. Vous pouvez entrer le nom du champ sous forme de chaîne ou saisir une expression régulière compatible PCRE spécifiant un ou plusieurs champs. Vous pouvez activer la désignation du champ confidentiel lorsque vous ajoutez le champ, ou vous pouvez modifier la désignation ultérieurement.

Remarque

À partir de la version 13.1 build 27.x, les champs confidentiels sont également pris en charge dans les profils WAF. Pour plus d’informations, consultez Champs confidentiels dans le profil WAF.

Pour ajouter un champ confidentiel à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes :

  • add appfw confidField <fieldName> <url> [-isRegex ( REGEX | NOTREGEX )] [-comment "<string>"] [-state ( ENABLED | DISABLED )]
  • save ns config

Exemple

L’exemple suivant ajoute tous les champs de formulaire Web dont le nom commence par Password à la liste des champs confidentiels.

add appfw confidField Password "https?://www[.]example[.]com/[^<>]\*[^a-z]password[0-9a-z._-]\*[.](asp|cgi|htm|html|htp|js|php)" -isRegex REGEX -state ENABLED
save ns config
<!--NeedCopy-->

Pour modifier un champ confidentiel à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes :

  • set appfw confidField <fieldName> <url> [-isRegex ( REGEX | NOTREGEX )][-comment "<string>"] [-state ( ENABLED | DISABLED )]
  • save ns config

Exemple

L’exemple suivant modifie la désignation du champ confidentiel pour y ajouter un commentaire.

set appfw confidField Password "https?://www[.]example[.]com/[^<>]\*[^a-z]password[0-9a-z._-]\*[.](asp|cgi|htm|html|htp|js|php)" -comment "Protect password fields." -isRegex REGEX -state ENABLED
save ns config
<!--NeedCopy-->

Pour supprimer un champ confidentiel à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes :

  • rm appfw confidField <fieldName> <url>
  • save ns config

Pour configurer un champ confidentiel à l’aide de l’interface graphique

  1. Accédez à Sécurité > Pare-feu d’applications.
  2. Dans le volet d’informations, sous Paramètres, cliquez sur Gérer les champs confidentiels.
  3. Dans la boîte de dialogue Gérer les champs confidentiels, effectuez l’une des opérations suivantes :
    • Pour ajouter un nouveau champ de formulaire à la liste, cliquez sur Ajouter.
    • Pour modifier la désignation d’un champ confidentiel existant, sélectionnez-le, puis cliquez sur Modifier. La boîte de dialogue Champs confidentiels du Web App Firewall s’affiche.

      Remarque :

      Si vous sélectionnez une désignation de champ confidentiel existant, puis que vous cliquez sur Ajouter, la boîte de dialogue Créer un champ de formulaire confidentiel affiche les informations relatives à ce champ confidentiel. Vous pouvez modifier ces informations pour créer votre nouveau champ confidentiel.

  4. Dans la boîte de dialogue, remplissez les éléments. Ils sont :
    • Case à cocher Activée. Sélectionnez ou désactivez cette option pour activer/désactiver cette désignation de champ confidentiel.
    • Case à cocher Nom du champ de formulaire est-il une expression régulière ? Sélectionnez ou désactivez cette option pour activer les expressions régulières au format PCRE dans le nom du champ de formulaire.
    • Nom du champ. Entrez une chaîne littérale ou une expression régulière au format PCRE qui représente un nom de champ spécifique ou qui met en correspondance plusieurs champs dont les noms suivent un modèle.
    • URL de l’action. Entrez une URL littérale ou une expression régulière qui définit une ou plusieurs URL de la ou des pages Web sur lesquelles se trouvent le (s) formulaire (s) Web contenant le champ confidentiel.
    • Commentaires. Saisissez un commentaire. Facultatif.
  5. Cliquez sur Créer ou sur OK.
  6. Pour supprimer une désignation de champ confidentiel de la liste des champs confidentiels, sélectionnez la liste des champs confidentiels que vous souhaitez supprimer, puis cliquez sur Supprimer pour la supprimer, puis cliquez sur OK pour confirmer votre choix.
  7. Lorsque vous avez terminé d’ajouter, de modifier et de supprimer les désignations de champs confidentielles, cliquez sur Fermer.

Exemples

Voici quelques expressions régulières qui définissent des noms de champs de formulaire qui peuvent vous être utiles :

  • ^passwd_ (Applies confidential-field status to all field names that begin with the “passwd_” string.)

  • ^((\[0-9a-zA-Z._-]*||\\x\[0-9A-Fa-f][0-9A-Fa-f])+-)?passwd_ (Applies confidential-field status to all field names that begin with the string passwd_, or that contain the string -passwd_ after another string that might contain non-ASCII special characters.)

Voici quelques expressions régulières qui définissent des types d’URL spécifiques qui peuvent vous être utiles. Remplacez votre (vos) propre (s) hébergeur (s) Web et domaine (s) par ceux des exemples.

  • Si le formulaire Web apparaît sur plusieurs pages Web de l’hôte Web www.exemple.com, mais que toutes ces pages Web sont nommées logon.pl ? , vous pouvez utiliser l’expression régulière suivante :

     https?://www[.]example[.]com/([0-9A-Za-z][0-9A-Za-z_.-]*/)*logon[.]pl?
     <!--NeedCopy-->
    
  • Si le formulaire Web apparaît sur plusieurs pages Web de l’hôte Web www.example-español.com, qui contient le caractère spécial n-tilde (ñ), vous pouvez utiliser l’expression régulière suivante, qui représente le caractère spécial n-tilde sous la forme d’une chaîne UTF-8 codée contenant C3 B1, le code hexadécimal assigné à caractère dans le jeu de caractères UTF-8 :

     https?://www[.]example-espa\xC3\xB1ol[.]com/([0-9A-Za-z][0-9A-Za-z_.-]\*/)\* logon[.]pl?
     <!--NeedCopy-->
    
  • Si le formulaire Web contenant query.pl apparaît sur plusieurs pages Web sur différents hôtes du domaine exemple.com, vous pouvez utiliser l’expression régulière suivante :

     https?://([0-9A-Za-z][0-9A-Za-z_-.]*[.])\*example[.]com/([0-9A-Za-z][0-9A-Za-z_-.]\*/)*logon[.]pl?
     <!--NeedCopy-->
    
  • Si le formulaire Web contenant query.pl apparaît sur plusieurs pages Web sur différents hôtes dans différents domaines, vous pouvez utiliser l’expression régulière suivante :

     https?://([0-9A-Za-z][0-9A-Za-z_-.]\*[.])\*[0-9A-Za-z][0-9A-Za-z_-.]+[.][a-z]{2,6}/([0-9A-Za-z][0-9A-Za-z_-.]*/)*logon[.]pl?
     <!--NeedCopy-->
    
  • Si le formulaire Web apparaît sur plusieurs pages Web de l’hôte Web www.exemple.com, mais que toutes ces pages Web sont nommées logon.pl ? , vous pouvez utiliser l’expression régulière suivante :

     https?://www[.]example[.]com/([0-9A-Za-z][0-9A-Za-z_-.]*/)*logon[.]pl?
     <!--NeedCopy-->