waf : le mode dit en clair par la sonde ; journal du passage en blocage

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-09-29 18:09:02 -04:00
parent 4678ca0223
commit b01de94493
2 changed files with 19 additions and 1 deletions

View file

@ -1,5 +1,23 @@
# CHANGELOG — Set-OPS
## 2026-09-29 (42) — Le WAF des frontaux passe en blocage
**Avant de basculer, le journal d'audit relu** : chez Chezlepro, la seule transaction signalée
était l'injection de test ; chez Technolibre, les requêtes du prototype (dont `?q=bonjour`
marqué 920350 parce qu'il visait une adresse IP brute). Aucune requête légitime signalée — sur
un trafic encore mince, ce qui est dit dans la déclaration.
**Par locataire** (`group_vars/serveur_web_frontal.yml` : `serveur_web_frontal_waf_mode: "On"`),
pas dans le défaut du rôle : un nouveau locataire commence en détection et observe.
**Éprouvé depuis l'Internet, sur `essai.chezlepro.ca`** : page et recherche normales → 200 ;
injection SQL → 403 ; script injecté (XSS) → 403 ; remontée de répertoires → 400 (nginx la
refuse avant même le WAF). La sonde `frontal` dit désormais le mode en clair (« blocage »,
« détection seule »).
Un faux positif se corrige par une exclusion ciblée du CRS
(`REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf`), pas en revenant en détection.
## 2026-09-29 (41) — Le chemin public éprouvé de bout en bout : Internet → `.61` → WAF → dorsal → forge du site
**Le contenu vient de la forge du site.** Organisation `essais` (distincte du génome), dépôt

View file

@ -9,7 +9,7 @@
# refuse fait echouer `nginx -t`).
set -uo pipefail
MODE='{{ serveur_web_frontal_waf_mode }}'
MODE='{{ {'On': 'blocage', 'DetectionOnly': 'detection seule', 'Off': 'ETEINT'}.get(serveur_web_frontal_waf_mode, serveur_web_frontal_waf_mode) }}'
EXPOSITIONS="{{ serveur_web_frontal_expositions | default([]) | map(attribute='fqdn') | unique | sort | join(' ') }}"
systemctl is-active --quiet nginx || { echo "Le frontal (nginx) n'est pas actif : les services publics sont injoignables."; exit 2; }