Règles et protection WAF

Des détecteurs et des règles lisibles, un score d'anomalie, des modes par site, par règle et par chemin, des exceptions étroites, des correctifs virtuels et un déploiement progressif. On observe d'abord, on bloque ensuite, et on peut toujours revenir en arrière.

Toutes les fonctions

Où le trouver dans la console : menu Protection : Règles, Exceptions et Politiques ; menu Analyse : Faux positifs ; onglet Protection d'un site.

À quoi ça sert

Observer avant de bloquer

Un nouveau site démarre en mode détection : tout est inspecté et journalisé, rien n'est bloqué. Un rapport montre ce qui aurait été refusé avant que vous passiez en blocage.

Des décisions qui s'expliquent

Chaque événement dit quelle règle a réagi, où (paramètre, en-tête, corps), avec quel score et quelle action. Pas de boîte noire : vous pouvez rejouer une requête et voir la décision.

Corriger un faux positif sans affaiblir le site

Une exception vise une règle, un paramètre, un chemin et une adresse, avec une date d'expiration. Le reste de la protection ne bouge pas.

Changer les règles sans prendre de risque

Simulation sur le trafic passé, déploiement sur une part des nœuds ou des requêtes, versions comparables et retour arrière en une étape.

Comment ToutWAF décide

Chaque requête traverse les mêmes étapes. Le résultat est une décision, enregistrée avec ses preuves.

Des détecteurs et des règles

Les détecteurs intégrés (injections, désérialisation, contrebande de requêtes, téléversements, protocole), l'OWASP CRS et vos propres règles regardent la requête. Le catalogue compte plus de 300 codes d'erreur TW- documentés.

Un score d'anomalie

Chaque détection ajoute des points selon sa gravité : 5 pour critique, 4 pour erreur, 3 pour avertissement, 2 pour notice. Le seuil d'entrée par défaut est 5 : une détection critique bloque, deux avertissements (3 + 3) bloquent, un avertissement seul est journalisé.

Le mode décide de l'action

Désactivé, détection ou blocage, selon le site, la règle, le chemin et la méthode. Certaines règles agissent seules sans passer par le score, par exemple un faux Googlebot ou un JWT sans signature.

Requête d'un visiteurDétecteurs, CRS et vos règleschaque détection porte un code TW-Score d'anomaliecomparé au seuil d'entréeDécision selon le modejournaliser, défier, ralentir, bloquer...
Illustration : de la requête à la décision.

Trois modes, à chaque niveau

Gratuit

Le mode se règle pour tout le site, mais aussi pour une règle, une famille de règles, un chemin ou une méthode. Une règle peut aussi changer d'action : journaliser, défier, ralentir, leurrer, bloquer ou rediriger.

  • Un nouveau site est en détection : les événements portent l'action qui aurait été prise, sans qu'elle soit appliquée.
  • Niveaux de paranoïa de 1 à 4 (1 par défaut), par site ou par chemin. On monte d'un niveau à la fois, en détection, et on lit le rapport avant de bloquer.
  • Un pourcentage des requêtes peut appliquer le blocage (ENFORCE_PERCENT) : un canari au niveau des requêtes.
  • Si le moteur échoue ou dépasse son budget de temps, le site choisit de laisser passer ou de refuser (par site). Choisissez refuser pour un paiement, laisser passer pour un site vitrine.
Désactivérien n'est inspectéDétectioninspecté et journaliséBlocagedécisions appliquées
Illustration : les trois modes d'un site.

OWASP CRS et SecLang

Gratuit

L'OWASP Core Rule Set v4 est évalué par l'analyseur et l'évaluateur SecLang propres à ToutWAF, avec ses extensions adaptées à la technologie détectée sur votre site.

  • Le catalogue de définitions compte environ 85 sources, vérifiées chaque heure, contrôlées avant usage et annulées si elles échouent.
  • Modèles de départ : générique, WordPress, Laravel, Symfony, Django, Spring, Node et application monopage.
  • Vous pouvez cibler un identifiant CRS ou une plage (par exemple 942100-942999) dans un mode ou une exception.

Le CRS v4 complet n'a été testé que sur un jeu réduit.

Vos propres règles

Gratuit

Un langage de conditions lisible, avec un éditeur visuel et un éditeur de texte qui restent synchronisés.

  • Testeur de règle : rejouez une requête contre la politique actuelle et voyez la décision.
  • Essai à blanc sur le trafic réel : la règle est rejouée sur sept jours de requêtes enregistrées, sans rien appliquer.
  • Tests de règles exécutables en intégration continue, avec une sortie JUnit.

Le validateur de la console et le moteur acceptent des sous-ensembles légèrement différents du langage : vérifiez toujours une règle avec un test.

Exceptions étroites et remplacements de règles

Gratuit

Quand une règle réagit à tort, on la contourne au plus juste plutôt que de la désactiver.

  • Une exception porte sur une règle, un paramètre (argument, en-tête, cookie, champ JSON ou corps), un préfixe de chemin et une adresse, avec une expiration et une raison.
  • Depuis un événement, le bouton « C'est un faux positif » propose l'exception la plus étroite et montre son effet sur les événements enregistrés avant de la créer.
  • ToutWAF propose aussi des exceptions à partir du trafic : vous les acceptez ou vous les écartez.
  • Un remplacement de règle change le mode ou l'action d'une règle, d'une étiquette ou d'une famille, pour un chemin et des méthodes. Chaque changement est versionné, comparé et audité.

Exemple de remplacements de règles, dans la politique d'un site

YAML
rule_overrides:
  - { rule: tw-sqli-orderby-probe, mode: detect }
  - { rule: "tag:attack-xss", mode: block, path_prefix: /checkout }
  - { rule: "family:4xxx", action: challenge, methods: [POST] }

Une politique qui se hérite

Gratuit

Les réglages vont du général au particulier : globaux, puis par organisation, par site et par chemin. Ce qui est plus précis l'emporte.

  • Chaque changement est une version : différence structurée, historique et retour arrière en une étape.
  • Approbation à quatre yeux : un second relecteur approuve une version avant sa mise en ligne.
  • Politique en code : exportez, validez, comparez et appliquez du YAML ou du JSON depuis votre intégration continue.
GlobalOrganisationSiteChemin
Illustration : les niveaux de la politique, du plus général au plus précis.

Mettre une règle en ligne sans risque

Le chemin recommandé est : observer, relire, simuler, basculer, surveiller, et garder le retour arrière prêt.

Brouillon

Vous modifiez la politique dans un brouillon ; rien n'est publié.

Simulation

La politique est rejouée sur le trafic passé : requêtes qui seraient nouvellement bloquées ou autorisées.

Canari

Une part des nœuds, une part des requêtes ou une seule règle ; vous surveillez puis vous étendez.

Publication et retour arrière

La publication est automatique et rapide ; si un nœud refuse la politique, on revient à la dernière version acceptée.

BrouillonSimulation sur le trafic passéCanaripart des nœuds ou des requêtesVersion activeretour arrière en une étape
Illustration : du brouillon à la version active.

Correctifs virtuels

Gratuit

Une faille connue est bloquée au niveau du WAF en attendant que l'application soit corrigée.

  • Un catalogue intégré couvre notamment Log4Shell, Spring4Shell et des failles de Confluence, activable par site.
  • Les signatures Emerging Threats Open ne sont converties que lorsque la traduction est exacte ; elles journalisent par défaut.
  • Les alertes CISA KEV sont consultatives tant qu'aucun motif vérifié n'existe : elles ne bloquent rien.

Règles automatiques

GratuitPro et plus

ToutWAF règle ses faux positifs et passe de l'observation au blocage, avec des preuves que vous auditez et annulez.

  • Gratuit : l'auto-test d'un site, l'estimation du taux de faux positifs par groupe de règles, l'indicateur « Prêt à bloquer » et le journal des décisions.
  • Sous licence : le profil Automatique (journaliser, défier, puis bloquer un groupe de règles à la fois) et les exceptions automatiques, étroites et à durée limitée.
  • Garde-fous : seules les règles de protocole et d'injection web peuvent être contournées automatiquement, jamais en désactivant la règle, et tout se défait en un clic.

Ce qui n'est pas fait, ou pas éprouvé

Nous préférons le dire clairement.

  • Le chargement du CRS v4 complet n'a été testé que sur un jeu réduit.
  • Les règles automatiques ont été exercées par des tests et par un banc local, pas sur du trafic de production.
  • Les seuls chiffres de détection et de performance publiés se trouvent dans la documentation : ils viennent d'un corpus synthétique du projet, ne sont pas des mesures indépendantes et ne classent ToutWAF face à aucun autre produit. Cette page n'en donne aucun.
  • Un WAF réduit le risque, il ne remplace pas la correction de l'application : gardez les mises à jour et les contrôles d'accès de votre code.

Cas d'usage

Mettre une boutique en ligne sans coupure

Une semaine de détection, le rapport propose quelques exceptions étroites, vous passez en blocage et gardez le retour arrière prêt.

Réagir à une faille connue

Un correctif virtuel bloque l'exploitation pendant que l'application attend sa mise à jour.

Un éditeur de texte riche déclenche une règle

Une exception limitée à ce champ, ce chemin et trente jours règle le cas sans toucher au reste.

Ce qui est inclus, par édition

La base est gratuite ; les options avancées demandent une offre payante. Une option sous licence reste visible dans la console, verrouillée, jamais cachée.

ÉditionGratuit Inclus dans toutes les offres, dont les deux offres gratuites (Free et Free +)Pro et plus Offres payantes : visible dans la console, verrouillé sans licence. À partir de Pro, sauf mention Agency ou Enterprise

Protection des applications

  • Injection SQL reconnue par la structure de ses jetons plutôt que par des listes de mots-clés, pour cinq dialectesGratuit
  • Injection NoSQL : opérateurs de type MongoDB et JavaScript côté serveur dans les requêtes, formulaires et corps JSONGratuit
  • Cross-site scripting : analyseur HTML avec détecteurs de contexte, SVG, puits DOM et polyglottesGratuit
  • Injection de commandes et exécution de code : shell, PowerShell, interpréteurs et évaluation de langagesGratuit
  • Inclusion de fichiers et traversée de chemin, avec décodage multi-passes des encodagesGratuit
  • SSRF : requêtes vers une adresse interne, les métadonnées d'un cloud ou des schémas exotiquesGratuit
  • XXE et expansion d'entités XML, injection XPathGratuit
  • Injection de gabarits : Jinja2, Twig, Freemarker, Velocity, ThymeleafGratuit
  • Désérialisation dangereuse : Java, PHP, .NET, Python, YAMLGratuit
  • LDAP, langages d'expression (OGNL, SpEL), CRLF, redirection ouverte et pollution de prototypeGratuit
  • Contrebande de requêtes HTTP, cadrage strict RFC 9112 et limites contre les abus HTTP/2Gratuit
  • Un corps plus grand que la fenêtre d'inspection est refusé ou signalé, jamais transmis sans avoir été vuGratuit
  • Téléversement : extension, double extension, octets magiques, webshell, macros, analyse ClamAV facultativeGratuit
  • Protection des CMS : WordPress, Drupal, Joomla, PrestaShop, Magento, NextcloudGratuit
  • Scanners et outils offensifs (sqlmap, Nikto, Nuclei, Burp) et énumération par rafales de 404Gratuit
  • CSRF : contrôle de l'Origin et du Referer, injection d'un jeton dans les formulairesGratuit
  • Protection des sessions : fixation, détournement, chiffrement des cookiesGratuit
  • Analyse bornée : limites de profondeur, de taille et de nombre de paramètres, expressions régulières en temps linéaireGratuit

Règles, politique et déploiement

  • OWASP CRS v4 chargé tel quel, avec l'analyseur et l'évaluateur SecLang propres à ToutWAFGratuit
  • Niveaux de paranoïa de 1 à 4, par site ou par cheminGratuit
  • Score d'anomalie avec seuils en entrée et en sortieGratuit
  • Modes désactivé, détection ou blocage par site, par règle et par chemin, avec remplacement de l'actionGratuit
  • Langage de règles lisible pour écrire vos propres règlesGratuit
  • Exceptions fines par règle, paramètre, chemin et adresse, avec expiration et aperçu de l'impactGratuit
  • Correctifs virtuels pour des vulnérabilités connues (Log4Shell, Spring4Shell, Confluence et d'autres), activables par siteGratuit
  • Faux positifs : de l'événement à l'exception la plus étroite en un clic, avec explication en langage clairGratuit
  • Simulation : rejouer le trafic passé contre une politique en brouillonGratuit
  • Rapport de détection à la fin de la période d'observation, avec les exceptions proposéesGratuit
  • Déploiement progressif : une part des nœuds, une part des requêtes ou une seule règleGratuit
  • Héritage de la politique : global, organisation, site, cheminGratuit
  • Modèles : générique, WordPress, Laravel, Symfony, Django, Spring, Node, application monopageGratuit
  • Versions, différence structurée et retour arrière en une étapeGratuit
  • Approbation à quatre yeux avant la mise en ligne d'une versionGratuit
  • Politique en code : exporter, valider, comparer et appliquer du YAML ou du JSON depuis la CIGratuit
  • Tests de règles exécutables en CI, avec sortie JUnitGratuit
  • Publication automatique : chaque changement est compilé, validé et envoyé aux nœuds en quelques secondes, avec retour arrière automatique si un nœud le refuseGratuit

Règles automatiques

  • Auto-test du site : des requêtes ordinaires évaluées par votre plan de données avant tout blocageGratuit
  • Taux de faux positifs estimé par groupe de règles et indicateur « Prêt à bloquer »Gratuit
  • Extensions CRS adaptées à la technologie détectée sur votre siteGratuit
  • Journal des décisions automatiques avec les preuves, et annulation en un clicGratuit
  • Profil Automatique : journalisation seule, puis défi, puis blocage, un groupe de règles à la foisPro et plus
  • Exceptions automatiques : étroites, à durée limitée, créées seulement sur de solides preuves tirées du trafic réelPro et plus
  • Retour arrière automatique d'une mise à jour de règles qui bloque des requêtes ordinairesPro et plus

Revenir à la valeur par défaut d'une option avancée est toujours possible. Ce qui se passe à la fin d'une licence payante est décrit dans la FAQ des tarifs : 48 h de grâce, 48 h de lecture seule, puis protection WAF désactivée jusqu'au renouvellement.

Tarifs Lire la documentation

Placez un bouclier devant vos applications dès aujourd'hui

Installez-le sur votre propre serveur, ou écrivez-nous pour parler de licences.