Les Web Application Firewalls servent à protéger les applications web. Mais quels rôles précis peuvent-ils jouer dans une architecture web?
Leur capacité à améliorer la sécurité de votre plateforme dépendra de vos choix de configuration.

Utiliser un WAF pour bloquer les attaques

Un WAF peut être utilisé pour analyser les échanges entre le client et le serveur, dans le but de bloquer les éléments malveillants ou dangereux.

Dans cette configuration, le moteur de détection de menaces du firewall détecte le trafic entrant suspect et décide de bloquer la requête. La requête en question n’atteindra pas le serveur web, et une réponse générique sera renvoyée au client.
Afin de déterminer si une requête est inoffensive ou malveillante, le WAF utilise un modèle de sécurité positif ou négatif :
Le modèle de sécurité négatif suppose que toutes les transactions sont inoffensives par défaut. Une transaction est bloquée lorsque certains signes de menaces sont détectés.
Le modèle de sécurité positif, au contraire, suppose que toutes les transactions peuvent être dangereuses, et cherche à reconnaître une transaction comme légitime avant de l’autoriser.

Web application firewall


Le WAF va aussi bloquer le trafic sortant suspect. Cela protège l’application, lorsqu’une requête malveillante a réussi à passer à travers le WAF sans être interceptée. L’attaque est détectée lorsque le serveur retourne une information sensible.
Dans ce cas, le WAF va détecter les informations supposées ne pas être retournée par le serveur (par exemple un fichier de configuration ou un fichier de mots de passe), et va bloquer la transaction pour empêcher une fuite de données sensibles.

Utiliser un WAF pour détecter les attaques

Un WAF peut être également utilisé comme un Système de Détection d’Intrusion (IDS). Dans cette configuration, il se contente d’observer le trafic, de remarquer des transactions dangereuses et de les enregistrer (log).

Etant en mode passif, le WAF ne peut ni modifier ni interrompre le trafic web. Les attaques ne sont donc pas interceptées.
Rechercher des attaques sans les bloquer peut être utile dans une phase d’installation et de configuration du firewall. Imaginez un scénario où une transaction légitime serait réalisée par un utilisateur normal et considérée par erreur comme dangereuse… Mieux vaudrait ne pas la bloquer.
En effet, obtenir une configuration parfaite d’un WAF demande de l’expérience et du savoir-faire. Une phase de tests peut s’avérer nécessaire afin d’installer le pare-feu sans mettre l’activité de l’entreprise en danger.

L’inconvénient d’une période de tests en mode logging est qu’elle peut durer trop longtemps… Si le WAF n’est pas basculé dans un mode “blocking” à un moment donné, les attaques du site web ou de l’application ne seront jamais stoppées.

Utiliser un WAF pour « patcher » les failles

Corriger une faille de sécurité sur une application web peut prendre du temps, et requérir beaucoup de tests et de validations avant de déployer les modifications en production. Le WAF peut alors être utilisé comme une solution de “patching” des failles en urgence.

Dans ce mode de configuration, le pare-feu agit comme un bouclier de protection contre des failles identifiées dans l’application web. Des failles récemment découvertes, qu’elles soient propres à l’application ou massivement répandues, peuvent ainsi être atténuées en bloquant leurs tentatives d’exploitation par des hackers.
Plutôt que de mobiliser l’équipe de développement en urgence, on peut ainsi patcher la plateforme de manière rapide.

Par exemple, si une plateforme web utilise un CMS sur lequel une faille vient juste d’être découverte, et qu’aucune mise à jour de sécurité n’est disponible pour le moment (vulnérabilité zero-day), l’utilisation du WAF comme solution de patching virtuel est une bonne option. Lorsque le correctif de sécurité du CMS sera disponible, celui-ci pourra être mis à jour et la protection spécifique du WAF désactivée.

NB : Bien qu’un pare-feu applicatif puisse être utilisé afin de « boucher » des failles connues, corriger le code de l’application reste la solution recommandée. Rappelez-vous qu’un pare-feu ne peut être utilisé que comme un filet de sécurité, quelle que soit sa configuration.