Citrix ADC

Appliquer la conformité HTTP RFC

Citrix Web App Firewall inspecte le trafic entrant pour vérifier la conformité HTTP RFC et supprime toute demande ayant des violations RFC par défaut. Toutefois, il existe certains scénarios, dans lesquels l’appliance doit contourner ou bloquer une demande de conformité non-RFC. Dans de tels cas, vous pouvez configurer l’appliance pour contourner ou bloquer de telles demandes au niveau global ou du profil.

Bloquer ou contourner les demandes non conformes RFC au niveau mondial

Le module HTTP marque une requête comme non valide si elle est incomplète ou invalide et que ces requêtes ne peuvent pas être traitées par WAF. Par exemple, une requête HTTP entrante dont l’en-tête d’hôte est manquant. Pour bloquer ou contourner ces demandes non valides, vous devez configurer l’option « MalformedReqAction » dans les paramètres globaux du pare-feu de l’application.

Remarque :

Si vous désactivez l’option « block » dans le paramètre « MalformedReqAction », l’appliance contourne le traitement complet du pare-feu de l’application pour toutes les demandes de conformité non-RFC et transmet les demandes au module suivant.

Pour bloquer ou contourner des requêtes HTTP non RFC non valides à l’aide de l’interface de ligne de commande

Pour bloquer ou contourner des demandes non valides, entrez la commande suivante :

set appfw settings -malformedreqaction <action>

Exemple :

set appfw settings –malformedReqAction block

Pour afficher les paramètres d’action de requête mal formés

Pour afficher les paramètres d’action de requête mal formés, entrez la commande suivante :

show appfw settings

Sortie :

DefaultProfile:  APPFW_BYPASS UndefAction:  APPFW_BLOCK SessionTimeout:  900     LearnRateLimit:  400     SessionLifetime:  0 SessionCookieName:  citrix_ns_id ImportSizeLimit:  134217728 SignatureAutoUpdate:  OFF SignatureUrl:"https://s3.amazonaws.com/NSAppFwSignatures/SignaturesMapping.xml" CookiePostEncryptPrefix:  ENC GeoLocationLogging:  OFF CEFLogging:  OFF       EntityDecoding:  OFF     UseConfigurableSecretKey:  OFF SessionLimit:  100000    MalformedReqAction:  block log stats
 Done

Pour bloquer ou contourner les requêtes HTTP de plainte non-RFC non valides à l’aide de l’interface graphique Citrix ADC

  1. Accédez à Sécurité > Citrix Web App Firewall.
  2. Dans la page Citrix Web App Firewall, cliquez sur Modifier les paramètres du moteur sous Paramètres.
  3. Dans la page Configurer les paramètres du Citrix Web App Firewall, sélectionnez l’option Journal des demandes malformées en tant que Bloc, Journal ou Statistiques.
  4. Cliquez sur OK et Fermer.

Remarque :

Si vous désélectionnez l’action « bloquer » ou si vous ne sélectionnez aucune action de requête mal formée, l’appliance contourne la demande sans informer l’utilisateur.

Bloquer ou contourner les demandes non conformes RFC au niveau du profil

D’autres demandes non conformes RFC peuvent être configurées pour bloquer ou contourner au niveau du profil. Vous devez définir le profil RFC en mode « Bloc » ou « Bypass ». Ce faisant, tout trafic non valide qui correspond au profil de Web App Firewall est ignoré ou bloqué en conséquence.

Remarque :

Lorsque vous définissez le profil RFC en mode « Bypass », vous devez vous assurer de désactiver l’option de transformation dans les sections « Paramètres de script inter-site HTML » et « Paramètres d’injection SQL HTML ». Si vous activez l’option et que vous définissez le profil rfc en mode « Bypass », l’appliance affiche un message d’avertissement indiquant que « Transformer les scripts intersites » et « Transformer les caractères spéciaux SQL » sont tous deux activés. Il est recommandé de l’éteindre lorsqu’il est utilisé avec APPFW_RFC_BYPASS ».

Important :

En outre, l’appliance affiche une note d’avertissement : « Les vérifications de sécurité Appfw activées peuvent ne pas s’appliquer aux demandes qui violent les vérifications RFC lorsque ce profil est défini. L’activation d’un paramètre de transformation n’est pas recommandée car les requêtes peuvent être partiellement transformées qui contiennent des violations RFC. »

Pour configurer le profil RFC dans le profil de Web App Firewall à l’aide de l’interface de ligne de commande

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

set appfw profile <profile_name> -rfcprofile <rfcprofile_name

Exemple

set appfw profile P1 -rfcprofile APPFW_RFC_BLOCK

Remarque :

Par défaut, le profil rfc est lié au profil de Web App Firewall en mode « Bloquer ».

Pour configurer le profil RFC dans le profil de Web App Firewall à l’aide de l’interface graphique

  1. Accédez à Sécurité > Pare-feu d’application > Profils.
  2. Dans la page Profils, sélectionnez un profil et cliquez sur Modifier.
  3. Dans la page Profil du Web App Firewall, cliquez sur Paramètres du profil dans la section Paramètres avancés.
  4. Dans la section Paramètres HTTP, définissez le profil RFC en mode APPFW_RFC_BYPASS. Le système affiche un message d’avertissement : « Les vérifications de sécurité Appfw activées peuvent ne pas s’appliquer aux demandes qui violent les vérifications RFC lorsque ce profil est défini. L’activation d’un paramètre de transformation n’est pas recommandée car les requêtes peuvent être partiellement transformées qui contiennent des violations RFC ».