Citrix ADC

Paramètres du profil du pare-feu d’application Web

Voici les paramètres de profil que vous devez configurer sur la solution matérielle-logicielle.

À l’invite de commandes, tapez :

add appfw profile <name> [-invalidPercentHandling <invalidPercentHandling>] [-checkRequestHeaders ( ON | OFF )] [-URLDecodeRequestCookies ( ON | OFF )] [-optimizePartialReqs ( ON | OFF )] [-errorURL <expression>] [-logEveryPolicyHit ( ON | OFF )] [-stripHtmlComments <stripHtmlComments>] [-stripXmlComments ( none | all )] [-postBodyLimitSignature <positive_integer>][-fileUploadMaxNum <positive_integer>][-canonicalizeHTMLResponse ( ON | OFF )][-percentDecodeRecursively ( ON | OFF )] [-multipleHeaderAction <multipleHeaderAction> ...][-inspectContentTypes <inspectContentTypes> ...][-semicolonFieldSeparator ( ON | OFF )]

Exemple :

add appfw profile profile1 [-invalidPercentHandling secure_mode] [-checkRequestHeaders ON] [-URLDecodeRequestCookies OFF] [-optimizePartialReqs OFF]

Où,

Le pourcentage de Handling n’est pas valide. Configurez la méthode de traitement des noms et des valeurs codés en pourcentage.

Les paramètres disponibles fonctionnent comme suit :

asp_mode - Enlève et analyse le pourcentage non valide pour l’analyse. Exemple፦ curl –v “http://<vip>/forms/login.html?field=sel%zzect -> Invalid percent encoded char(%zz) est enlevé, le reste du contenu est inspecté et une action est entreprise pour la vérification SQLInjection. secure_mode - Nous détectons la valeur codée Invalid Percent (Pourcentage non valide) et nous l’ignorons. Exemple፦ curl –v “http://<vip>/forms/login.html?field=sel%zzect -> Invalid percent encoded char(%zz) est détecté, les compteurs sont incrémentés et le contenu est transmis tel qu’il est au serveur. apache_mode - Ce mode fonctionne de la même manière que le mode sécurisé. Valeurs possibles : apache_mode, asp_mode, secure_mode Valeur par défaut : secure_mode

Optimisez les demandes partielles. Lorsque la fonction est DÉSACTIVÉ/ACTIVÉE (sans objet sécurisé), une appliance Citrix ADC envoie la demande partielle au serveur principal. Cette réponse partielle a été renvoyée au client. OptimizePartialReqs est logique lorsque l’objet Safe est configuré. La solution matérielle-logicielle envoie des demandes de réponse complète du serveur lorsqu’elle est désactivée, et ne demande qu’une réponse partielle lorsqu’elle est activée.

Les paramètres disponibles sont les suivants :

ON - Les demandes partielles du client entraînent des demandes partielles adressées au serveur principal. OFF - Les demandes partielles du client sont remplacées par des demandes complètes adressées au serveur principal Valeurs possibles : ON, OFF Valeur par défaut : ON

Cookies de demande de décodage d’URL. URL Decode demande des cookies avant de les soumettre à des vérifications SQL et de script intersite.

Valeurs possibles : ON, OFF Valeur par défaut : OFF

Limite du corps de la publication de signature (octets). Limite la charge utile de la requête (en octets) inspectée à la recherche de signatures avec l’emplacement spécifié comme « HTTP_POST_BODY ».

Valeur par défaut : 8096 Valeur minimale : 0 Valeur maximale : 4294967295

Limite de corps de publication (octets). Limite la charge utile de la demande (en octets) inspectée par le pare-feu d’application Web.

Valeur par défaut : 20000000 Valeur minimale : 0 Valeur maximale : 10 Go

Pour plus d’informations sur le paramètre de sécurité et sa procédure GUI, consultez la rubrique Configurer le profil du Web App Firewall .

PostBodyLimitAction. PostBodyLimit respecte les paramètres d’erreur lorsque vous spécifiez la taille maximale du corps HTTP à autoriser. Pour respecter les paramètres d’erreur, vous devez configurer une ou plusieurs actions Limite du corps de publication. La configuration s’applique également aux demandes pour lesquelles l’en-tête de codage de transfert est segmenté.

set appfw profile <profile_name> -PostBodyLimitAction block log stats

Où, Bloquer - Cette action bloque la connexion qui viole le contrôle de sécurité et elle est basée sur la taille maximale du corps HTTP configuré (limite de corps post-). Vous devez toujours activer cette option.

Journal - Consigner les violations de cette vérification de sécurité.

Stats - Générez des statistiques pour cette vérification de sécurité.

Remarque :

Le format du journal pour l’action de limitation du corps de publication est désormais modifié pour suivre le format de journalisation d’audit standard, par exemple : ns.log.4.gz:Jun 25 1.1.1.1. <local0.info> 10.101.10.100 06/25/2020:10:10:28 GMT 0-PPE-0 : default APPFW APPFW_POSTBODYLIMIT 1506 0 : <Netscaler IP> 4234-PPE0 - testprof ><URL> Request post body length(<Post Body Length>) exceeds post body limit.

InspectQueryContentTypes Inspectez les requêtes de demande et les formulaires Web pour les scripts SQL injectés et intersite pour les types de contenu suivants.

set appfw profile p1 -inspectQueryContentTypes HTML XML JSON OTHER

Valeurs possibles : HTML, XML, JSON, OTHER

Par défaut, ce paramètre est défini sur « InspectQueryContentTypes : HTML JSON OTHER » pour les profils appfw de base et avancés.

Exemple pour inspecter le type de contenu de la requête en tant que XML :

> set appfw profile p1 -type XML
Warning: HTML, JSON checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action” will not be applicable when profile type is not HTML or JSON respectively.
<!--NeedCopy-->

Exemple pour inspecter le type de contenu de la requête en HTML :

> set appfw profile p1 -type HTML
Warning: XML, JSON checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action” will not be applicable when profile type is not XML or JSON respectively
Done
<!--NeedCopy-->

Exemple pour inspecter le type de contenu de requête au format JSON :

> set appfw profile p1 -type JSON
Warning: HTML, XML checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action will not be applicable when profile type is not HTML or XML respectively
Done
<!--NeedCopy-->

Expression ErrorUrl. URL utilisée par le Citrix Web App Firewall comme URL d’erreur. Longueur maximale : 2047.

Remarque :

Pour bloquer les violations dans une URL demandée, si l’URL d’erreur est similaire à l’URL de signature, la solution matérielle-logicielle réinitialise la connexion.

LogeVeryPolicyHit - Consignez chaque correspondance de profil, quels que soient les résultats des contrôles de sécurité. Valeurs possibles : ON, OFF. Valeur par défaut : OFF.

StripXMLComments - Supprimez les commentaires XML avant de transférer une page Web envoyée par un site Web protégé en réponse à une demande d’un utilisateur. Valeurs possibles : none, all, exclude_script_tag. Valeur par défaut : aucune

PostBodyLimitSignature - Taille maximale autorisée du corps de publication HTTP pour l’inspection des signatures pour l’emplacement HTTP_POST_BODY dans les signatures, en octets. Les changements de valeur peuvent avoir un impact sur le processeur et le profil de latence. Valeur par défaut : 2048. Valeur minimale : 0 Valeur maximale : 4294967295

FileUploadMaxNum  : nombre maximal autorisé de téléchargements de fichiers par demande de soumission de formulaire. Le paramètre maximum (65535) permet un nombre illimité de téléchargements. Valeur par défaut : 65535 Valeur minimale : 0 Valeur maximale : 65535

CanonicAlizeHTMLResponse - Effectuez le codage des entités HTML pour tous les caractères spéciaux des réponses envoyées par vos sites Web protégés. Valeurs possibles : ON, OFF Valeur par défaut : ON

PercentDecodeRecursivement - Configurez si le pare-feu d’application doit utiliser le décodage récursif en pourcentage. Valeurs possibles : ON, OFF Valeur par défaut : ON

MultipleHeaderAction - Une ou plusieurs actions d’en-tête multiples. Les paramètres disponibles fonctionnent comme suit :

  • Bloc. Bloquez les connexions comportant plusieurs en-têtes.
  • Bûche. Consignez les connexions qui ont plusieurs en-têtes.
  • KeepLast. Ne conservez que le dernier en-tête lorsque plusieurs en-têtes sont présents.

InspectContentTypes  : une ou plusieurs listes InspectContentType.

  • application/x-www-form-urlencoded
  • données multipart/formulaire
  • texte/x-gwt-rpc

Valeurs possibles : aucun, application/x-www-form-urlencoded, multipart/form-data, text/x-gwt-rpc

SemiColonFieldSeparator - Autorise « ; » comme séparateur de champ de formulaire dans les requêtes URL et les corps de formulaire POST. Valeurs possibles : ON, OFF Valeur par défaut : OFF

Paramètres du profil du pare-feu d’application Web