Aller au contenu principal

Niveau 2 · Protéger

Niveau 2
Mettre un premier site sous protection

Vous activez le pare-feu sur un site, vous appliquez la configuration, puis vous vérifiez avec une règle témoin qu'une règle est réellement active. Les exemples utilisent un site WordPress. Pendant la phase de training, Kokiris fait ces réglages pour vous : ce niveau vous apprend à les comprendre et à les refaire.

4 chapitres · ≈ 30 min · 0/4 terminé

2.1 Activer le WAF et choisir un mode​

Durée 5 minPrérequis chapitre 1.2Rôle éditeur
Objectifs
  • Activer le pare-feu sur un site.
  • Choisir entre Détecter, Bloquer et Bannir.

1Détecter

Le WAF analyse et journalise tout, mais ne bloque rien.

Le mode de la phase de training : on repère les faux positifs sans gêner les visiteurs.

2Bloquer

Les requêtes dont le score atteint le seuil reçoivent une page 403.

À la fin du training, quand Kokiris a validé que les journaux sont propres.

3Bannir

Bloque, et ajoute des points de réputation à l'IP. Au-delà d'un seuil, Fail2Ban la bannit.

Ensuite, sur un site stabilisé, avec l'accord de Kokiris.

En une image

Détecter, c'est la caméra qui filme sans intervenir. Bloquer, c'est le vigile qui refuse l'entrée. Bannir, c'est le vigile qui refuse l'entrée et retient le visage : la prochaine fois, la porte reste fermée un moment.

  1. Dans Sites, cliquez sur ✏️ Modifier sur la ligne du site.
  2. Dans la carte Général, section Chaîne de protection, cochez WAF activé.
  3. Choisissez Détecter, puis cliquez sur Enregistrer les modifications en bas de la page.

Fiche du site wordpress.kokiguard-demo.kokiris.cloud : paranoïa Minimal (PL1), alias www coché, profil de bannissement par défaut, WAF activé et mode Détecter sélectionné

La fiche du site. WAF activé, mode Détecter. L'alias www. hérite des mêmes réglages.

Enregistrer ne suffit pas

Le site est enregistré, mais le pare-feu ne l'applique pas encore. C'est l'objet du chapitre suivant.

Vérifiez

Vous mettez en ligne un nouveau site aujourd'hui. Quel mode choisissez-vous en premier ?

2.2 Appliquer une modification​

Durée 5 minPrérequis chapitre 2.1
Objectifs
  • Comprendre pourquoi une modification n'est pas active tout de suite.
  • Appliquer, puis revenir en arrière si besoin.

Chaque modification est d'abord enregistrée comme « en attente ». Vous pouvez ainsi préparer plusieurs changements et les appliquer en une seule fois, au moment choisi.

  1. Repérez le bandeau en haut de l'écran : Appliquer, Annuler et le lien voir.
  2. Cliquez sur voir pour relire la liste des changements dans Révisions.
  3. Cliquez sur Appliquer.

Barre du haut avec les boutons Appliquer, Annuler et le lien voir, affichés après l'enregistrement d'une modification

Des modifications attendent. Le bandeau reste visible tant que vous n'avez ni appliqué ni annulé.

Ce qui se passe quand vous cliquez sur Appliquer​

  1. kokiGUARD construit une nouvelle révision de la configuration et la valide hors ligne.
  2. Il prend un instantané de la configuration en service.
  3. Il installe la nouvelle configuration, redémarre Coraza, puis recharge HAProxy sans couper les connexions.
  4. En cas d'échec, il remet automatiquement l'instantané en place.
  5. Les autres nœuds du cluster récupèrent la même révision.

Page Révisions de configuration : liste des révisions avec horodatage, raison, nombre de fichiers gérés, statut validée et boutons Voir les différences et Appliquer

Révisions. Chaque application laisse une révision validée, que vous pouvez comparer ou réappliquer.

À retenir
  • Enregistrer prépare. Appliquer met en service.
  • Une application ratée se répare seule : l'instantané précédent est restauré.
Vérifiez

Vous avez enregistré trois modifications sur trois sites différents. Combien de fois devez-vous cliquer sur « Appliquer » ?

2.3 Vérifier avec une règle témoin​

Durée 10 minPrérequis chapitres 2.1 et 2.2Outil terminal avec curl
Objectifs
  • Créer une règle personnalisée inoffensive.
  • Prouver avec curl qu'une règle est inactive, puis active.
  • Reconnaître une réponse bloquée par kokiGUARD.

Une règle témoin bloque une requête que personne n'envoie par hasard. Elle ne gêne donc aucun visiteur, et elle vous donne un test fiable à rejouer après chaque changement.

En une image

C'est la sirène d'alerte testée le premier mercredi du mois à midi : on vérifie que l'alarme fonctionne, sans qu'il y ait d'incendie.

  1. Ouvrez Règles perso, puis cliquez sur + Ajouter une règle.
  2. Remplissez : Site votre site, Variables ARGS:kokiguard-test, Opérateur @streq, Valeur bloque-moi, Action deny, Sévérité Critique.
  3. Cliquez sur Enregistrer. N'appliquez pas encore.

Formulaire Ajouter une règle personnalisée rempli : nom Règle témoin kokiGUARD, site wordpress, variable ARGS, opérateur @streq, valeur bloque-moi, action deny, sévérité Critique, phase 2

La règle témoin. Elle refuse toute requête dont le paramètre kokiguard-test vaut exactement bloque-moi.

Test 1 : règle enregistrée mais pas appliquée​

terminal · avant « Appliquer »
curl -s -o /dev/null -w '%{http_code}\n' 'https://www.votre-site.fr/?kokiguard-test=bloque-moi'
réponse
200

Remplacez www.votre-site.fr par l'adresse de votre site. La requête passe : la règle existe dans le panel, mais pas encore dans le pare-feu.

Test 2 : après « Appliquer »​

terminal · après « Appliquer »
curl -s -D - -o /dev/null 'https://www.votre-site.fr/?kokiguard-test=bloque-moi'
réponse
HTTP/2 403
x-waf-action: blocked
cache-control: no-cache
content-length: 3157
content-type: text/html; charset=UTF-8
alt-svc: h3=":443"; ma=60

Deux signes prouvent que c'est kokiGUARD qui bloque : le code 403 et l'en-tête x-waf-action: blocked.

Test 3 : une requête normale passe toujours​

terminal · contre-épreuve
curl -s -o /dev/null -w '%{http_code}\n' 'https://www.votre-site.fr/?kokiguard-test=bonjour'
réponse
200

Page de blocage 403 de kokiGUARD affichée dans un navigateur pour le site wordpress, avec un identifiant de requête

Ce que voit un visiteur bloqué. Une page 403 bilingue, avec le nom du site et un identifiant de requête à communiquer au support.

Pourquoi cette règle bloque même en mode Détecter

L'action deny bloque tout de suite, sans passer par le score d'anomalie. Réservez-la aux cas certains, comme cette règle témoin. Les règles du CRS, elles, respectent le mode du site.

Vérifiez

Vous venez d'enregistrer une règle et curl renvoie encore 200. Quelle est la cause la plus probable ?

2.4 Lire les journaux​

Durée 10 minPrérequis chapitre 2.3
Objectifs
  • Retrouver une requête bloquée.
  • Lire un score d'anomalie.

La page Journaux montre chaque requête inspectée, sur tous les nœuds du cluster. En mode Détecter, c'est ici que vous voyez ce qui aurait été bloqué.

Journaux WAF : filtres Request ID, site et IP, période Aujourd'hui en direct, puis une liste chronologique avec heure, nœud, IP avec drapeau, site, score et chemin

Journaux WAF. On y voit les requêtes témoin, mais aussi de vrais robots qui cherchent /.env ou /.git.

Lire le score​

Chaque règle qui réagit ajoute des points selon sa sévérité : critique 5, erreur 4, avertissement 3, notice 2. Quand le total atteint le seuil du site (5 par défaut), la requête est bloquée en mode Bloquer ou Bannir.

En une image

Un contrôle à l'aéroport : chaque indice suspect ajoute des points. À 5 points, on ouvre la valise. En mode Détecter, on note et on laisse passer ; en mode Bloquer, on ne laisse pas passer.

  1. Filtrez sur votre site et votre IP pour retrouver vos tests.
  2. Passez en vue Regroupés pour voir les motifs répétés plutôt que chaque requête.
  3. Cliquez sur 🔍 Inspecter la requête pour voir les en-têtes et les règles déclenchées.
  4. Pour retrouver une requête précise, collez dans Rechercher par Request ID l'identifiant affiché sur la page de blocage (voir Que faire si…).
À retenir
  • Les journaux sont votre source de vérité, surtout en mode Détecter.
  • Score ≥ seuil du site = requête bloquée (hors mode Détecter).
Vérifiez

Sur une requête, deux règles d'avertissement (3 points chacune) ont réagi. Le site est en mode Bloquer, avec le seuil par défaut. Que se passe-t-il ?

Ce que vous savez maintenant
  • Activer le pare-feu sur un site et choisir entre Détecter, Bloquer et Bannir.
  • Faire la différence entre enregistrer et appliquer, et revenir en arrière avec les révisions.
  • Prouver avec une règle témoin et curl qu'une règle est active.
  • Lire un score d'anomalie dans les journaux.