ADC

Gestion des types de contenu

Les serveurs Web ajoutent un en-tête Content-Type avec une définition MIME/Type pour chaque type de contenu. Les serveurs Web diffusent de nombreux types de contenu différents. Par exemple, le code HTML standard se voit attribuer le type MIME « text/html ». Les images JPG se voient attribuer le type de contenu « image/jpeg » ou « image/jpg ». Un serveur Web normal peut diffuser différents types de contenu, tous définis dans l’en-tête du type de contenu par le type MIME attribué.

De nombreuses règles de filtrage du Web App Firewall sont conçues pour filtrer un type de contenu spécifique. Les règles de filtrage s’appliquent à un type de contenu tel que le HTML et sont souvent inappropriées lors du filtrage d’un autre type de contenu (comme les images). Par conséquent, le Web App Firewall tente de déterminer le type de contenu des demandes et des réponses avant de les filtrer. Si un serveur Web ou un navigateur n’ajoute pas d’en-tête Content-Type à une demande ou à une réponse, le Web App Firewall applique un type de contenu par défaut et filtre le contenu en conséquence.

Le type de contenu par défaut est généralement « application/octet-stream » avec la définition de type MIME la plus générique. Le type MIME convient à tout type de contenu qu’un serveur Web est susceptible de diffuser. Mais ne fournit pas beaucoup d’informations au Web App Firewall pour lui permettre de choisir le filtrage approprié. Si un serveur Web protégé est configuré pour ajouter des en-têtes de type de contenu précis, vous pouvez alors créer un profil pour le serveur Web et lui attribuer un type de contenu par défaut. Ceci est fait pour améliorer à la fois la vitesse et la précision du filtrage.

Vous pouvez également configurer une liste des types de contenu de demande autorisés pour un profil spécifique. Lorsque cette fonctionnalité est configurée, si le Web App Firewall filtre une demande qui ne correspond pas à l’un des types de contenu autorisés, il bloque la demande.

Les demandes doivent toujours être du type « application/x-www-form-urlencoded », « multipart/form-data » ou « text/x-gwt-rpc ». Le Web App Firewall bloque toute demande associée à un autre type de contenu.

Remarque

Vous ne pouvez pas inclure les types de contenu « application/x-www-form-urlencoded » ou « multipart/form-data » dans la liste des types de contenu de réponse autorisés.

Pour définir le type de contenu de demande par défaut à l’aide de l’interface de ligne de commande

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

  • set appfw profile <name> -requestContentType <type>
  • save ns config

Exemple

L’exemple suivant définit le type de contenu « text/html » comme type de contenu par défaut pour le profil spécifié :

set appfw profile profile1 -requestContentType "text/html"
save ns config
<!--NeedCopy-->

Pour supprimer le type de contenu de demande par défaut défini par l’utilisateur à l’aide de l’interface de ligne de commande

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

  • unset appfw profile <name> -requestContentType <type>
  • save ns config

Exemple

L’exemple suivant supprime le type de contenu par défaut « text/html » pour le profil spécifié, ce qui permet au type de revenir à « application/octet-stream » :

unset appfw profile profile1 -requestContentType "text/html"
save ns config
<!--NeedCopy-->

Remarque

Utilisez toujours le dernier en-tête de type de contenu pour le traitement et supprimez les en-têtes de type de contenu restants, le cas échéant, afin de garantir que le serveur principal reçoive une demande avec un seul type de contenu.

Pour bloquer les requêtes qui peuvent être ignorées, ajoutez une stratégie de Web App Firewall avec la règle HTTP.REQ.HEADER (“content-type”).COUNT.GT(1)’ et le profil appfw_block.

Si une demande est reçue sans en-tête Content-Type ou si la demande comporte un en-tête Content-Type sans aucune valeur, Web App Firewall applique la valeur RequestContentType configurée et traite la demande en conséquence.

Pour définir le type de contenu de réponse par défaut à l’aide de l’interface de ligne de commande

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

  • set appfw profile <name> -responseContentType <type>
  • save ns config

Exemple

L’exemple suivant définit le type de contenu « text/html » comme type de contenu par défaut pour le profil spécifié :

set appfw profile profile1 -responseContentType "text/html"
save ns config
<!--NeedCopy-->

Pour supprimer le type de contenu de réponse par défaut défini par l’utilisateur à l’aide de l’interface de ligne de commande

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

  • unset appfw profile <name> -responseContentType <type>
  • save ns config

Exemple

L’exemple suivant supprime le type de contenu par défaut « text/html » pour le profil spécifié, ce qui permet au type de revenir à « application/octet-stream » :

unset appfw profile profile1 -responseContentType "text/html"
save ns config
<!--NeedCopy-->

Pour ajouter un type de contenu à la liste des types de contenu autorisés à l’aide de l’interface de ligne de commande

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

  • bind appfw profile <name> -ContentType <contentTypeName>
  • save ns config

Exemple

L’exemple suivant ajoute le type de contenu « text/shtml » à la liste des types de contenu autorisés pour le profil spécifié :

bind appfw profile profile1 -contentType "text/shtml"
save ns config
<!--NeedCopy-->

Pour supprimer un type de contenu de la liste des types de contenu autorisés à l’aide de l’interface de ligne de commande

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

  • unbind appfw profile <name> -ContentType <contentTypeName>
  • save ns config

Exemple

L’exemple suivant supprime le type de contenu « text/shtml » de la liste des types de contenu autorisés pour le profil spécifié :

unbind appfw profile profile1 -contentType "text/shtml"
save ns config
<!--NeedCopy-->

Gérez les types de contenu codés en URL et multipartites

Le NetScaler Web App Firewall vous permet désormais de configurer les types de contenu à code URL et à formulaires multiples pour les formulaires. La configuration du type de contenu est similaire à celle des listes XML et JSON. En fonction de la configuration, le Web App Firewall classe les demandes et inspecte le type de contenu codé en URL ou en plusieurs parties.

Pour configurer le profil Web App Firewall avec des types de contenu Urlencoded et Multipart-Form À l’invite de commande, tapez :

bind appfw profile p2 -contentType <string>

Exemple :

bind appfw profile p2 -contentType UrlencodedFormContentType

bind appfw profile p2 -ContentType appfwmultipartform

Pour gérer les types de contenu par défaut et autorisés à l’aide de l’interface graphique

  1. Accédez à Sécurité > Web App Firewall > Profils.
  2. Dans le volet d’informations, sélectionnez le profil que vous souhaitez configurer, puis cliquez sur Modifier. La boîte de dialogue Configurer le profil du Web App Firewall s’affiche.
  3. Dans la boîte de dialogue Configurer le profil du Web App Firewall, cliquez sur l’onglet Paramètres .
  4. Dans l’onglet Paramètres, faites défiler l’écran vers le bas jusqu’à la zone Type de contenu.
  5. Dans la zone Type de contenu, configurez le type de contenu de demande ou de réponse par défaut :
    • Pour configurer le type de contenu de demande par défaut, tapez la définition MIME/Type du type de contenu que vous souhaitez utiliser dans la zone de texte Demande par défaut.
    • Pour configurer le type de contenu de réponse par défaut, tapez la définition MIME/Type du type de contenu que vous souhaitez utiliser dans la zone de texte Réponse par défaut.
    • Pour créer un nouveau type de contenu autorisé, cliquez sur Ajouter. La boîte de dialogue Ajouter un type de contenu autorisé s’affiche.
    • Pour modifier un type de contenu autorisé existant, sélectionnez ce type de contenu, puis cliquez sur Ouvrir. La boîte de dialogue Modifier le type de contenu autorisé s’affiche.
  6. Pour gérer les types de contenu autorisés, cliquez sur Gérer les types de contenu autorisés.
  7. Pour ajouter un nouveau type de contenu ou modifier un type de contenu existant, cliquez sur Ajouter ou sur Ouvrir, puis dans la boîte de dialogue Ajouter un type de contenu autorisé ou Modifier le type de contenu autorisé, procédez comme suit.
    1. Cochez/décochez la case Activé pour inclure le type de contenu dans la liste des types de contenu autorisés ou l’exclure de celle-ci.

    2. Dans la zone de texte Type de contenu, tapez une expression régulière qui décrit le type de contenu que vous souhaitez ajouter, ou modifiez l’expression régulière de type de contenu existante.

      Les types de contenu sont formatés exactement comme le sont les descriptions des types MIME.

      Remarque :

      Vous pouvez inclure n’importe quel type MIME valide dans la liste des types de contenus autorisés. Étant donné que de nombreux types de documents peuvent contenir du contenu actif et donc potentiellement du contenu malveillant, vous devez faire preuve de prudence lorsque vous ajoutez des types MIME à cette liste.

    3. Fournissez une brève description expliquant la raison pour laquelle ce type MIME particulier a été ajouté à la liste des types de contenus autorisés.

    4. Cliquez sur Créer ou sur OK pour enregistrer vos modifications.

  8. Cliquez sur Fermer pour fermer la boîte de dialogue Gérer les types de contenu autorisés et revenir à l’onglet Paramètres .
  9. Cliquez sur OK pour enregistrer vos modifications.

Pour gérer les types de contenu codés en URL et sous forme de formulaires en plusieurs parties à l’aide de l’interface graphique de NetScaler

  1. Accédez à Sécurité > Web App Firewall > Profils.
  2. Dans le volet d’informations, sélectionnez le profil que vous souhaitez configurer, puis cliquez sur Modifier.
  3. Sur la page Configurer le profil du Web App Firewall, sélectionnez les paramètres du profil dans la section Paramètres avancés .
  4. Dans la section Type de contenu inspecté, définissez les paramètres suivants :

    1. application/x-www-form-urlencoded. Cochez la case pour inspecter le type de contenu codé en URL.
    2. données multiparties/de formulaire. Cochez la case pour inspecter le type de contenu du formulaire multipartie.
  5. Cliquez sur OK.

Gestion du contenu