ADC

Appliquer la conformité HTTP RFC

NetScaler Web App Firewall inspecte le trafic entrant pour vérifier sa conformité aux RFC HTTP et supprime par défaut toute demande présentant des violations des RFC. Toutefois, dans certains scénarios, l’appliance peut devoir contourner ou bloquer une demande de conformité non RFC. Dans ce cas, vous pouvez configurer l’appliance pour contourner ou bloquer ces demandes au niveau global ou au niveau du profil.

Bloquer ou contourner les demandes non conformes à la RFC au niveau mondial

Le module HTTP identifie une demande comme non valide si elle est incomplète et que de telles demandes 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.

Le paramètre « MalformedReqAction » valide la requête entrante pour une longueur de contenu non valide, une requête fragmentée non valide, une absence de version HTTP et un en-tête incomplet.

Remarque :

Si vous désactivez l’option de blocage dans le paramètre malformedReqAction, l’appliance contourne l’ensemble du traitement 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 les demandes HTTP non valides non conformes à la RFC à l’aide de l’interface de ligne de commande

Pour bloquer ou contourner les demandes non valides, saisissez la commande suivante :

set appfw settings -malformedreqaction <action>

Exemple :

set appfw settings –malformedReqAction block

Pour afficher des paramètres d’action de demande incorrects

Pour afficher les paramètres d’action de demande incorrects, saisissez 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
<!--NeedCopy-->

Pour bloquer ou contourner les requêtes HTTP non conformes à la norme RFC non valides à l’aide de l’interface graphique NetScaler

  1. Accédez à Sécurité > NetScaler Web App Firewall.
  2. Dans la page NetScaler Web App Firewall, cliquez sur Modifier les paramètres du moteur sous Paramètres.
  3. Sur la page Configurer les paramètres du NetScaler Web App Firewall, sélectionnez l’option Consigner la demande malformée sous la forme Bloc, Log ou Stats.
  4. Cliquez sur OK et Fermer.

Remarque :

Si vous désélectionnez l’action de blocage ou si vous ne sélectionnez aucune action de demande mal formée, l’appliance contourne la demande sans en insinuer 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 configurer le profil RFC en mode Block ou Bypass. En effectuant cette configuration, tout trafic non valide correspondant au profil Web App Firewall est contourné ou bloqué en conséquence. Le profil RFC valide les contrôles de sécurité suivants :

  • Demandes GWT-RPC non valides
  • En-têtes de type de contenu
  • Demandes en plusieurs parties non valides
  • Demandes JSON non valides
  • Vérifications de paires de noms de cookie en double

Remarque :

Lorsque vous définissez le profil RFC en mode « Contournement », vous devez vous assurer de désactiver l’option de transformation dans les sections Paramètres de script intersiteHTML et Paramètres d’injection SQL HTML . Si vous activez et définissez le RFC profil en mode Contournement, l’appliance affiche un message d’avertissement, « 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 :

De plus, l’appliance affiche une note d’avertissement : « Les contrôles de sécurité Appfw activés peuvent ne pas être applicables aux demandes qui enfreignent 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 demandes peuvent être partiellement transformées qui contiennent des violations RFC. »

Pour configurer un profil RFC dans le profil 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 Web App Firewall en mode Bloquer.

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

  1. Accédez à Sécurité > NetScaler Web App Firewall> 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 de profil dans la section Paramètres avancés .
  4. Dans la section Paramètres HTML, définissez le profil RFC sur le 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 ».
Appliquer la conformité HTTP RFC