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
- Accédez à Sécurité > NetScaler Web App Firewall.
- Sur la pageNetScaler Web App Firewall, cliquez surModifier les paramètres du moteur sous Paramètres.
- Sur la page Configurer les paramètres du pare-feu NetScaler Web App, sélectionnez l’option Enregistrer les demandes malformées sous la forme Block, Log ou Stats.
- Cliquez sur OK et sur 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 leRFC
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é avecAPPFW_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
- Accédez à Sécurité > NetScaler Web App Firewall > Profils.
- Dans la page Profils, sélectionnez un profil et cliquez sur Modifier.
- Dans la page Profil du Web App Firewall, cliquez sur Paramètres de profil dans la section Paramètres avancés .
- Dans la section Paramètres HTML, définissez le profil
RFC
sur le modeAPPFW_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 ».