WAF – Web Application Firewall
1. Définition
Un WAF, ou Web Application Firewall, est un pare-feu conçu spécifiquement pour protéger les applications web. Contrairement à un pare-feu réseau classique, qui filtre le trafic selon les adresses IP ou les ports, un WAF analyse le contenu des requêtes HTTP ou HTTPS pour détecter et bloquer les attaques contre l'application elle-même.
Il protège contre des attaques telles que :
-
Injection SQL
-
Cross-site scripting (XSS)
-
Inclusion de fichiers
-
Exécution de commande distante
-
Cross-site request forgery (CSRF)
-
Exploitation de vulnérabilités zero-day
2. Fonctionnement général
Le WAF agit comme un filtre entre le client (navigateur de l'utilisateur) et le serveur web. Toutes les requêtes HTTP envoyées par l’utilisateur passent d’abord par le WAF, qui les inspecte selon des règles de sécurité.
Schéma logique :
Client → WAF → Application Web
Si la requête est valide, elle est transmise. Si elle est malveillante, elle est bloquée ou modifiée selon la politique du WAF.
3. Modes de déploiement
Il existe plusieurs manières d’intégrer un WAF dans une infrastructure :
-
Mode Reverse Proxy
Le WAF reçoit tout le trafic destiné à l’application, puis le transmet au serveur. Il devient l’interface visible du site web. C’est le mode le plus courant. -
Mode Transparent (Bridge)
Le WAF est placé entre le client et le serveur, sans modifier les adresses IP ni l’URL. Il agit en "homme invisible", en filtrant discrètement le trafic. -
Mode Surveillance uniquement (Monitoring)
Le WAF observe le trafic sans intervenir. Ce mode est utile pour tester les règles ou surveiller sans impact direct.
4. Fonctions principales d’un WAF
Un WAF effectue les tâches suivantes :
-
Analyse du trafic HTTP et HTTPS
-
Inspection des en-têtes, cookies, paramètres et corps des requêtes
-
Détection des motifs d’attaque connus
-
Blocage ou autorisation des requêtes
-
Journalisation des activités suspectes
-
Alerte en cas d’attaque détectée
5. Types de WAF
On distingue plusieurs types selon leur mode d’analyse :
-
WAF à règles statiques (Rule-Based)
Il utilise des règles prédéfinies (exemples : mots-clés interdits, expressions régulières) pour identifier les attaques. -
WAF intelligent (comportemental ou basé sur l’IA)
Il apprend le comportement normal des utilisateurs et détecte automatiquement les anomalies. -
WAF Cloud ou sur site
-
WAF Cloud : hébergé et géré par un fournisseur (exemples : Cloudflare, AWS WAF). Facile à mettre en place.
-
WAF sur site (on-premise) : installé localement, donne plus de contrôle mais nécessite plus d’administration.
-
6. Avantages d’un WAF
-
Protège contre les attaques ciblant le code web
-
Réduit les risques liés aux vulnérabilités applicatives
-
Complète la sécurité réseau (firewall, antivirus)
-
Peut être intégré à un CDN ou à un Load Balancer
-
Aide à respecter certaines normes (comme PCI-DSS)
7. Inconvénients et limites
-
Ne remplace pas un code sécurisé : le développeur doit toujours coder proprement
-
Peut bloquer du trafic légitime si mal configuré (faux positifs)
-
Nécessite une maintenance et des mises à jour régulières
-
Ne protège pas contre les attaques internes ou post-authentification
8. Outils et solutions WAF populaires
Voici quelques WAF fréquemment utilisés :
-
ModSecurity : open source, compatible avec Apache, Nginx, et IIS
-
Cloudflare WAF : basé dans le cloud, facile à déployer
-
AWS WAF : intégré à Amazon Web Services
-
F5 Advanced WAF : solution matérielle/logicielle haut de gamme
-
Imperva WAF : souvent utilisé en environnement professionnel
9. Exemple d’utilisation
Un attaquant essaie d’accéder à la base de données d’un site via une injection SQL avec une URL comme :
www.site.com/page?id=1 UNION SELECT username, password FROM users
Le WAF détecte le mot-clé "UNION SELECT", le compare à ses règles, bloque la requête, et empêche l’attaque. Il peut aussi enregistrer l’incident pour analyse ultérieure.