đŸ›Ąïž Module C17 – WAF

📘 Cours complet ⏱ 2h30 🎯 Bloc 3 – CybersĂ©curitĂ©
Objectifs : comprendre le rĂŽle d’un WAF, ses modes de protection, les signatures, les faux positifs et savoir le dĂ©ployer.

📖 Introduction

Un Web Application Firewall (WAF) est un dispositif de sĂ©curitĂ© qui surveille, filtre et bloque les requĂȘtes HTTP/HTTPS entre un client et une application web. Il protĂšge contre les vulnĂ©rabilitĂ©s courantes comme les injections SQL, les XSS, le CSRF et bien d’autres. Il agit comme une couche de sĂ©curitĂ© supplĂ©mentaire, au‑delĂ  des pare‑feu rĂ©seau traditionnels.

🎯

À l'issue de ce module, vous serez capable de :

  • Expliquer le rĂŽle et les modes de dĂ©ploiement d’un WAF.
  • Identifier les principales attaques bloquĂ©es par un WAF.
  • Configurer un WAF open‑source (ModSecurity) avec Apache/Nginx.
  • Analyser les logs et gĂ©rer les faux positifs.

🔍 Qu'est-ce qu'un WAF ?

Un WAF est un filtre applicatif qui analyse en profondeur le trafic web. Il peut ĂȘtre :

Il fonctionne selon deux modes principaux :

📐 Attaques protĂ©gĂ©es par un WAF

AttaqueDescriptionExemple
Injection SQLInsertion de requĂȘtes SQL malveillantes via des champs de formulaire.' OR '1'='1
XSSInjection de code JavaScript malveillant dans les pages web.<script>alert('XSS')</script>
CSRFForcer un utilisateur Ă  exĂ©cuter des actions non souhaitĂ©es sur une application oĂč il est authentifiĂ©.RequĂȘte POST piĂ©gĂ©e
Path TraversalAccéder à des fichiers sensibles via des chemins relatifs.../../etc/passwd
Attaque par force bruteTentatives multiples de connexion avec des identifiants.Script de dictionnaire

đŸ› ïž Mise en pratique avec ModSecurity

Installation sur Debian/Ubuntu

sudo apt update && sudo apt install libapache2-mod-security2 -y

Le fichier de configuration principal est /etc/modsecurity/modsecurity.conf.

Configuration de base

Activation du moteur de rĂšgles

# /etc/modsecurity/modsecurity.conf
SecRuleEngine On
SecAuditEngine RelevantOnly
SecAuditLog /var/log/apache2/modsec_audit.log
  • SecRuleEngine On : active les rĂšgles de dĂ©tection/ blocage.
  • SecAuditEngine RelevantOnly : ne journalise que les transactions qui dĂ©clenchent des rĂšgles.
  • SecAuditLog : dĂ©finit l’emplacement du journal d’audit.

Activer les rĂšgles OWASP Core Rule Set (CRS)

sudo apt install modsecurity-crs -y
sudo cp /usr/share/modsecurity-crs/crs-setup.conf.example /etc/modsecurity/crs-setup.conf

Puis, dans la configuration Apache, inclure les rĂšgles :

# /etc/apache2/mods-enabled/security2.conf
Include /usr/share/modsecurity-crs/*.conf
  • OWASP CRS : ensemble de rĂšgles open‑source pour ModSecurity.
  • crs-setup.conf : fichier de paramĂ©trage du CRS (score d’anomalie, paranoĂŻa, etc.).

Analyse des logs

sudo tail -f /var/log/apache2/modsec_audit.log

Les logs contiennent les requĂȘtes bloquĂ©es, avec les rĂšgles dĂ©clenchĂ©es et les dĂ©tails de la transaction.

đŸ§Ș Mise en pratique

Simulation d’une injection SQL bloquĂ©e par ModSecurity

RequĂȘte HTTP malveillante :

GET /login.php?user=admin' OR '1'='1 HTTP/1.1
Host: mon-site.com

ModSecurity dĂ©tectera la tentative d’injection SQL et renverra un statut 403 Forbidden.

Gestion des faux positifs

Désactiver une rÚgle pour un chemin spécifique

# Dans la configuration Apache
<Location /api/public/>
    SecRuleRemoveById 942100
</Location>
  • SecRuleRemoveById : dĂ©sactive la rĂšgle portant l’ID 942100 (injection SQL).
  • Utile lorsque l’application gĂ©nĂšre lĂ©gitimement des caractĂšres dĂ©clenchant des alertes.

📝 Exercices d'application

Exercice 1 – Modes WAF

Quelle est la diffĂ©rence entre le mode passif et le mode actif d’un WAF ?

En mode passif, le WAF dĂ©tecte les attaques et journalise les alertes sans bloquer. En mode actif, il bloque les requĂȘtes malveillantes en temps rĂ©el.

Exercice 2 – Rùgles OWASP

À quoi sert l’ensemble de rùgles OWASP Core Rule Set (CRS) ?

Le CRS est un ensemble de rĂšgles open‑source pour ModSecurity, basĂ© sur l’OWASP Top 10, qui protĂšge contre les vulnĂ©rabilitĂ©s web les plus critiques.

🎯 Quiz d'auto‑évaluation

1. Un WAF protÚge uniquement contre les attaques réseau.

2. ModSecurity est un WAF open‑source populaire.

3. Les faux positifs surviennent lorsque le WAF bloque une requĂȘte lĂ©gitime.

4. Le mode passif bloque automatiquement les requĂȘtes malveillantes.

5. La directive SecRuleRemoveById permet de désactiver une rÚgle spécifique.

📚 Ressources


← Retour au portail
BTS SIO – LycĂ©e NDLP Avranches – Module C17 v1.0