Aller au contenu principal

Niveau 3 · Ajuster

Niveau 3
Adapter la protection au site

Un pare-feu utile bloque les attaques sans gêner vos clients. Kokiris fait l'essentiel de ces réglages pendant la phase de training. Ce niveau vous apprend à corriger un faux positif, à exempter du trafic de confiance et à limiter les abus quand votre site évolue.

5 chapitres · ≈ 35 min · 0/5 terminé

3.1 Corriger un faux positif​

Durée 10 minPrérequis chapitre 2.4
Objectifs
  • Choisir la portée la plus étroite possible pour une correction.

Un faux positif est une requête légitime que le pare-feu prend pour une attaque. Exemple courant : un éditeur de contenu qui enregistre du HTML dans un champ de formulaire.

PortéeEffetQuand l'utiliser
Ignorer un champ précisLa règle ignore un seul paramètre, par exemple ARGS:content.Le cas le plus fréquent. Choisissez-le d'abord.
Seulement sur un cheminLa règle est coupée sous un chemin, par exemple /wp-admin/.Un outil d'administration envoie des données inhabituelles.
Désactiver complètementLa règle ne s'applique plus du tout sur le site, ou partout.En dernier recours, quand la règle ne sert à rien pour ce site.
  1. Dans Journaux, ouvrez la ligne concernée et cliquez sur Corriger ce blocage. RuleForge s'ouvre, déjà rempli.
  2. Choisissez la portée la plus étroite et indiquez une raison. Ajoutez une date d'expiration si la correction est provisoire.
  3. Enregistrez, puis appliquez. Rejouez la requête légitime pour vérifier qu'elle passe.

Page Faux positifs avec son introduction et le bouton pour corriger une règle

Faux positifs. Toutes les corrections, globales ou par site, avec leur portée et leur expiration.

L'IA peut préparer la correction

Dans le détail d'un événement, le bouton « Faux positif ? (IA) » analyse la requête et peut proposer un brouillon d'exclusion prêt à pré-remplir (chapitre 5.4).

Vérifiez

La règle 941100 (XSS) bloque le champ content de l'éditeur WordPress, et seulement lui. Quelle portée choisissez-vous ?

3.2 Déclarer du trafic de confiance​

Durée 5 minPrérequis chapitre 3.1
Objectifs
  • Faire la différence entre « Ne pas inspecter » et « Toujours inspecter ».

Le trafic de confiance ne passe pas par Coraza. On l'utilise pour une sonde de supervision, un partenaire qui appelle une API, ou un outil interne connu.

  • Ne pas inspecter : l'IP, la plage, le chemin ou le paramètre n'est plus analysé.
  • Toujours inspecter : force l'analyse, même si une autre règle de confiance couvre ce trafic. Elle l'emporte toujours.
  • Ne pas journaliser ce trafic : le WAF reste actif, mais ces requêtes n'encombrent plus les journaux.
En une image

C'est le badge du personnel : on ne fouille pas le sac des employés connus. Raison de plus pour ne le donner qu'à ceux que vous connaissez vraiment.

Page Trafic de confiance avec son introduction et le bouton Ajouter une règle de trafic

Trafic de confiance. Chaque règle peut viser un site ou tous les sites, et porter une date d'expiration.

À ne pas confondre avec un faux positif

Un faux positif se corrige règle par règle. Le trafic de confiance retire toute l'inspection. Gardez-le pour les sources que vous maîtrisez.

Vérifiez

Votre outil de supervision appelle /health toutes les minutes et se fait bloquer. Quelle est la bonne réponse ?

3.3 Limiter le débit​

Durée 10 minPrérequis chapitre 2.2Outil curl
Objectifs
  • Protéger une page de connexion contre les essais de mots de passe en série.
  • Vérifier la limite avec une boucle curl.
  1. Ouvrez la fiche du site, carte Contrôle du trafic, puis cliquez sur + Ajouter une limite.
  2. Saisissez le chemin de votre page de connexion (/wp-login.php pour WordPress), 5 requêtes, fenêtre de 60 secondes.
  3. Enregistrez, puis appliquez.

Carte Contrôle du trafic : mode maintenance, file d'attente, vérification JS, et une limitation de débit sur /wp-login.php à 5 requêtes par 60 secondes

Contrôle du trafic. Quatre outils : maintenance, file d'attente, vérification JavaScript et limitation de débit.

Ce que vous devez voir​

terminal · 8 requêtes de suite
for i in $(seq 1 8); do curl -s -o /dev/null -w '%{http_code} ' https://www.votre-site.fr/wp-login.php; done; echo
réponse
200 200 200 200 200 429 429 429
terminal · la réponse 429 en détail
curl -s -D - -o /dev/null https://www.votre-site.fr/wp-login.php
réponse
HTTP/2 429
retry-after: 60
cache-control: no-cache
content-length: 2818
content-type: text/html; charset=UTF-8
alt-svc: h3=":443"; ma=60

Les cinq premières requêtes passent. À partir de la sixième, HAProxy répond 429 et indique au client d'attendre 60 secondes.

OutilRéponseExemple d'usage
Limitation de débit429Page de connexion, API publique
Mode maintenance503* pendant une mise à jour, !/api pour garder l'API ouverte
File d'attente429Soldes : au plus N visiteurs simultanés
Vérification JS200 + page de calculÉcarter les robots simples sur /panier
Vérifiez

Avec une limite de 5 requêtes par 60 s, à partir de quelle requête un client reçoit-il 429 ?

3.4 Bloquer par pays​

Durée 5 minPrérequis chapitre 2.2
Objectifs
  • Créer une règle géographique globale.
  • Faire une exception pour un site.

La page Blocage géographique agit par pays ou par continent, pour tous les sites. Trois actions : Bloquer (403), Détection seule (journalise sans bloquer) et Rediriger vers une URL.

Page Blocage géographique avec les règles globales par pays et continent et la base de zones

Blocage géographique. Les règles globales, et la base de zones à mettre à jour de temps en temps.

Pour un site qui doit faire autrement, utilisez la carte Blocage géographique · Dérogation par site de sa fiche : ajouter des pays à la liste globale, en retirer (liste blanche), ou la remplacer.

Signal à reconnaître

Une requête bloquée par pays reçoit un 403 avec l'en-tête X-Geo-Blocked: 1.

3.5 Paranoïa et catégories : laissez Kokiris régler​

Durée 5 minPrérequis chapitre 0.3
Objectifs
  • Comprendre ce que règlent la paranoïa et les catégories.
  • Savoir pourquoi ce réglage se fait avec Kokiris.
Nous vous déconseillons de modifier le niveau de paranoïa

Ce réglage change le comportement de centaines de règles à la fois. Trop haut, il bloque de vrais clients. Trop bas, il laisse passer des attaques. Kokiris le fixe pour vous pendant la phase de training, à partir du trafic réel de vos sites, et l'adapte ensuite si vos sites évoluent.

Vous voulez renforcer ou assouplir la protection ? Demandez-le à Kokiris : le changement sera testé en mode Détecter avant d'être mis en production.

En une image

La paranoïa, c'est la sensibilité d'un détecteur de fumée. Trop sensible, il sonne pour un toast ; pas assez, il rate un début d'incendie. Le bon réglage dépend de la pièce, c'est-à-dire de votre site et de son trafic.

Pour comprendre ce que vous voyez dans la fiche d'un site :

NiveauEffet
PL1 · MinimalPeu de faux positifs, protection de base solide. Le point de départ habituel.
PL2 · StandardPlus de détections, quelques faux positifs à corriger.
PL3 · StrictDétection fine, beaucoup de corrections à prévoir.
PL4 · ParanoïaqueTrès strict, beaucoup de faux positifs.

Sous le niveau de paranoïa, la carte Catégories de règles activées liste les 13 familles du CRS. Kokiris désactive pendant le training les familles qui ne concernent pas votre site, par exemple Injection Java sur un site PHP.

Page Règles CRS : catalogue des règles OWASP avec filtres par catégorie et sévérité

Règles CRS. Le catalogue complet. Pour chaque règle, vous pouvez demander une explication à l'IA.

À retenir
  • La paranoïa et les catégories se règlent avec Kokiris, pendant le training puis sur demande.
  • Tout changement passe d'abord par le mode Détecter.
Vérifiez

Votre boutique a subi une vague d'attaques et vous voulez la protéger davantage. Que faites-vous ?

Ce que vous savez maintenant
  • Corriger un faux positif avec la portée la plus étroite.
  • Choisir entre trafic de confiance et correction de faux positif.
  • Poser une limite de débit, une page de maintenance, une file d'attente ou une vérification JavaScript.
  • Bloquer un pays, en détection d'abord.
  • Laisser la paranoïa et les catégories à Kokiris, et savoir pourquoi.