Règles et groupes de règles DRS et CRS de Web Application Firewall
Article
Les ensembles de règles managées par Azure dans le pare-feu d’applications web (WAF) Application Gateway protègent activement les applications web contre les vulnérabilités et les attaques courantes. Ces ensembles de règles, gérés par Azure, sont mis à jour si nécessaire pour se prémunir contre les nouvelles signatures d’attaques. L’ensemble de règles par défaut incorpore également les règles de collecte Microsoft Threat Intelligence. L’équipe Microsoft Intelligence collabore à la rédaction de ces règles, ce qui garantit une meilleure couverture, des correctifs de vulnérabilités spécifiques et une réduction des faux positifs.
Vous pouvez également utiliser des règles définies en fonction des ensembles de règles de base OWASP 3.2, 3.1, 3.0 ou 2.2.9.
Vous pouvez désactiver des règles individuellement ou définir des actions spécifiques pour chaque règle. Cet article répertorie les règles et ensembles de règles actuels disponibles. Si un ensemble de règles publié nécessite une mise à jour, nous la documenterons ici.
Remarque
Lorsqu'une version d'un ensemble de règles est modifiée dans une stratégie WAF, toutes les personnalisations existantes que vous avez apportées à votre ensemble de règles seront réinitialisées aux valeurs par défaut du nouvel ensemble de règles. Voyez : Mise à niveau ou modification de la version du jeu de règles.
Ensembles de règles par défaut
L’ensemble de règles par défaut (DRS) managé par Azure comprend des règles de protection contre les catégories de menaces suivantes :
Scripts intersites (XSS)
Attaques Java
Inclusion de fichier local (LFI)
Injection de code PHP
Exécution de commande à distance
Inclusion de fichier distant (RFI)
Fixation de session
Protection contre les injections de code SQL
Attaquants de protocole Le numéro de version de l’ensemble de règles par défaut (DRS) s’incrémente quand de nouvelles signatures d’attaque sont ajoutées à l’ensemble de règles.
Règles de collecte de Microsoft Threat Intelligence
Les règles de collecte de Microsoft Threat Intelligence sont écrites en partenariat avec l’équipe Microsoft Threat Intelligence, afin de fournir une couverture accrue, des correctifs pour des vulnérabilités spécifiques et une meilleure réduction des faux positifs.
Remarque
Suivez les instructions suivantes pour paramétrer le WAF pendant que vous commencez à utiliser la version 2.1 sur le WAF Application Gateway. Les détails des règles sont décrits ci-dessous.
Identificateur de la règle
Groupe de règles
Description
Détails
942110
SQLI
Attaque par injection de code SQL : Test d’injection commune détecté
Désactiver, remplacé par la règle MSTIC 99031001
942150
SQLI
Attaque par injection de code SQL
Désactiver, remplacé par la règle MSTIC 99031003
942260
SQLI
Détecte les tentatives de contournement d’authentification SQL de base 2/3
Désactiver, remplacé par la règle MSTIC 99031004
942430
SQLI
Détection restreinte d’anomalies de caractères SQL (args) : nombre de caractères spéciaux dépassés (12)
Désactiver, trop de faux positifs.
942440
SQLI
Séquence de commentaire SQL détectée
Désactiver, remplacé par la règle MSTIC 99031002
99005006
MS-ThreatIntel-WebShells
Tentative d’interaction Spring4Shell
Laisser la règle activée pour empêcher la vulnérabilité SpringShell
99001014
MS-ThreatIntel-CVEs
Tentative d’injection d’expression de routage Spring Cloud CVE-2022-22963
Laisser la règle activée pour empêcher la vulnérabilité SpringShell
99001015
MS-ThreatIntel-WebShells
Tentative d’exploitation d’objets de classe non sécurisée Spring Framework CVE-2022-22965
Laisser la règle activée pour empêcher la vulnérabilité SpringShell
99001016
MS-ThreatIntel-WebShells
Tentative d’injection d’actionneur Spring Cloud Gateway CVE-2022-22947
Laisser la règle activée pour empêcher la vulnérabilité SpringShell
99001017
MS-ThreatIntel-CVEs
Tentative d’exploitation du chargement de fichiers Apache Struts CVE-2023-50164
Définissez l’action sur Bloquer pour contrer la vulnérabilité d’Apache Struts. Score d’anomalie non pris en charge pour cette règle.
Ensembles de règles de base
Le pare-feu d’applications web Application Gateway est préconfiguré avec CRS 3.2 par défaut, mais vous pouvez choisir d’utiliser n’importe quelle autre version de CRS prise en charge.
CRS 3.2 offre un nouveau moteur et de nouveaux ensembles de règles qui assurent une protection contre les injections Java, un ensemble initial de contrôles des chargements de fichiers et moins de faux positifs en comparaison avec les versions antérieures de CRS. Vous pouvez également personnaliser les règles en fonction de vos besoins. En savoir plus sur le nouveau moteur WAF Azure.
Le WAF protège contre les vulnérabilités web suivantes :
Attaques par injection de code SQL
Attaques par exécution de scripts de site à site
Autres attaques courantes comme l’injection de commande, les dissimulations de requêtes HTTP, la séparation de réponse HTTP et les attaques RFI (Remote File Inclusion)
Violations de protocole HTTP
Anomalies de protocole HTTP comme un agent utilisateur hôte manquant et les en-têtes Accept
Bots, robots de recherche et scanneurs
Erreurs de configuration d’application courantes (par exemple, Apache et IIS)
Réglage des ensembles de règles managés
Le DRS et le CRS sont activés par défaut en mode détection dans vos stratégies WAF. Vous pouvez activer ou désactiver des règles individuellement dans l’ensemble de règles managé en fonction des exigences propres à votre application. Vous pouvez également définir des actions spécifiques par règle. Le DRS/CRS prend en charge les actions de blocage, de journalisation et de score d’anomalie. L’ensemble de règles Bot Manager prend en charge les actions d’autorisation, de blocage et de journalisation.
Parfois, il peut s’avérer nécessaire d’omettre certains attributs de requête d’une évaluation WAF. Les jetons insérés par Active Directory qui sont utilisés pour l’authentification en sont un exemple courant. Vous pouvez configurer des exclusions à appliquer lorsque des règles WAF spécifiques sont évaluées ou pour qu’elles s’appliquent globalement à l’évaluation de toutes les règles WAF. Les règles d’exclusion s’appliquent à l’ensemble de votre application web. Pour plus d’informations, consultez Web Application Firewall (WAF) avec listes d’exclusions Application Gateway.
Par défaut, DRS version 2.1/CRS version 3.2 et les versions ultérieures utilisent la notation des anomalies lorsqu’une requête correspond à une règle. CRS 3.1 et les versions antérieures bloquent les demandes correspondantes par défaut. De plus, il est possible de configurer des règles personnalisées dans la même stratégie WAF si vous souhaitez ignorer les règles préconfigurées de l’ensemble de règles de base.
Les règles personnalisées sont toujours appliquées avant l’évaluation des règles de l’ensemble de règles de base. Si une demande correspond à une règle personnalisée, l’action de la règle correspondante est appliquée. La demande est bloquée ou transmise au back-end. Aucune autre règle personnalisée ou règle de l’ensemble de règles de base n’est traitée.
Scoring d’anomalie
Quand vous utilisez le CRS ou le DRS 2.1, votre WAF est configuré par défaut pour utiliser le scoring d’anomalie. Le trafic correspondant à une règle n’est pas immédiatement bloqué, même lorsque votre WAF est en mode prévention. Au lieu de cela, les ensembles de règles OWASP définissent une gravité pour chaque règle : Critique, Erreur, Avertissement ou Avis. La gravité affecte à la requête une valeur numérique appelée score d’anomalie :
Gravité des règles
Valeur contribuant au score de l’anomalie
Critique
5
Error
4
Avertissement
3
Avis
2
Si le score d’anomalie est supérieur ou égal à 5 et que le WAF est en mode de prévention, la requête est bloquée. Si le score d’anomalie est supérieur ou égal à 5 et que le WAF est en mode de détection, la requête est journalisée mais pas bloquée.
Par exemple, une seule correspondance de règle Critique suffit pour que le WAF bloque une requête, en mode de prévention, car le score d’anomalie global est de 5. En revanche, une correspondance de règle Avertissement n’augmente le score d’anomalie que de 3, ce qui est insuffisant en soi pour bloquer le trafic. Quand une règle d’anomalie est déclenchée, elle présente une action « Correspondance » dans les journaux. Si le score d’anomalie est supérieur ou égal à 5, une règle distincte est déclenchée avec l’action « Bloqué » ou « Détecté », selon que la stratégie WAF est en mode de prévention ou de détection. Pour plus d’informations, consultez Mode Scoring d’anomalie.
Mise à niveau ou changement de la version d’un ensemble de règles
Si vous effectuez une mise à niveau ou attribuez une nouvelle version d'ensemble de règles et souhaitez conserver les remplacements et exclusions de règles existants, il est recommandé d'utiliser PowerShell, CLI, REST API ou des modèles pour apporter des modifications à la version d'ensemble de règles. Une nouvelle version d'un ensemble de règles peut contenir des règles plus récentes, des groupes de règles supplémentaires et des mises à jour des signatures existantes pour renforcer la sécurité et réduire les faux positifs. Il est recommandé de valider les modifications dans un environnement de test, d'affiner si nécessaire, puis de déployer dans un environnement de production.
Remarque
Si vous utilisez le portail Azure pour affecter un nouvel ensemble de règles managé à une stratégie WAF, toutes les personnalisations précédentes de l’ensemble de règles managé existant, telles que l’état des règles, les actions des règles et les exclusions de niveau règle, sont réinitialisées aux valeurs par défaut du nouvel ensemble de règles managé. Toutefois, les règles personnalisées, les paramètres de stratégie et les exclusions globales restent inchangés lors de l’affectation du nouvel ensemble de règles. Vous devez redéfinir les remplacements de règles et valider les changements avant de les déployer dans un environnement de production.
DRS 2.1
Les règles DRS 2.1 offrent une meilleure protection que les versions antérieures de DRS. Il inclut d’autres règles développées par l’équipe Microsoft Threat Intelligence et des mises à jour des signatures pour réduire les faux positifs. Il prend également en charge les transformations au-delà du simple décodage d’URL.
DRS 2.1 inclut 17 groupes de règles, comme le montre le tableau suivant. Chaque groupe contient plusieurs règles, et vous pouvez personnaliser le comportement des règles individuelles, des groupes de règles ou d’un ensemble de règles entier. DRS 2.1 est basé sur CRS (Core Rule Set) OWASP (Open Web Application Security Project) 3.3.2 et comprend des règles de protection propriétaire supplémentaires développées par l’équipe Veille des menaces Microsoft.
CRS 3.2 inclut 14 groupes de règles, comme illustré dans le tableau suivant. Chaque groupe contient plusieurs règles qui peuvent être désactivées. L’ensemble de règles est basé sur la version OWASP CRS 3.2.0.
Notes
CRS 3.2 est uniquement disponible sur la référence SKU WAF_v2. Étant donné que CRS 3.2 s’exécute sur le nouveau moteur WAF Azure, vous ne pouvez pas passer à CRS 3.1 ou version antérieure. Si vous devez passer à une version antérieure, contactez le Support Azure.
CRS 3.1 inclut 14 groupes de règles, comme illustré dans le tableau suivant. Chaque groupe contient plusieurs règles qui peuvent être désactivées. L’ensemble de règles est basé sur la version OWASP CRS 3.1.1.
Notes
CRS 3.1 est uniquement disponible sur la référence SKU WAF_v2.
CRS 3.0 inclut 13 groupes de règles, comme illustré dans le tableau suivant. Chaque groupe contient plusieurs règles qui peuvent être désactivées. L’ensemble de règles est basé sur la version OWASP CRS 3.0.0.
Protéger contre les attaques par fixation de session.
OWASP CRS 2.2.9
CRS 2.2.9 inclut 10 groupes de règles, comme illustré dans le tableau suivant. Chaque groupe contient plusieurs règles qui peuvent être désactivées.
Notes
CRS 2.2.9 n’est plus pris en charge pour les nouvelles stratégies WAF. Nous vous recommandons d’effectuer une mise à niveau vers la dernière version de CRS 3.2/DRS 2.1 et les versions ultérieures.
L’ensemble de règles de Bot Manager 1.0 offre une protection contre les bots malveillants et permet de détecter les bons bots. Les règles fournissent un contrôle granulaire sur les bots détectés par WAF en classant les bots dans les catégories suivantes selon leur trafic : bon (Good), mauvais (Bad) ou inconnu (Unknown).
L’ensemble de règles de Bot Manager 1.1 améliore l’ensemble de règles de Bot Manager 1.0. Il offre une protection renforcée contre les bots malveillants et une meilleure détection des bons bots.
Possible attaque XSS détectée - Gestionnaire de balise HTML
941330
Filtre XSS IE - Attaque détectée.
941340
Filtre XSS IE - Attaque détectée.
941350
XSS IE d’encodage UTF-7 - Attaque détectée.
941360
Obfuscation JavaScript détectée.
941370
Variable globale JavaScript détectée
941380
Injection de modèle côté client AngularJS détectée
SQLI - Injection de code SQL
ID de la règle
Description
942100
Attaque par injection de code SQL détectée via libinjection
942110
Attaque par injection de code SQL : Test d’injection commune détecté
942120
Attaque par injection de code SQL : Opérateur SQL détecté
942130
Attaque par injection de code SQL : Tautologie SQL détectée.
942140
Attaque par injection de code SQL : noms de base de données courants détectés
942150
Attaque par injection de code SQL
942160
Détecte des tests sqli à l’aveugle à l’aide de la méthode sleep() ou benchmarch().
942170
Détecte les tentatives d’injection par les méthodes benchmark (test d’évaluation) et sleep (mise en veille), y compris les requêtes conditionnelles
942180
Détecte les tentatives de contournement d’authentification SQL de base 1/3
942190
Détecte les tentatives de collecte d’informations et de d’exécution de code MSSQL
942200
Détecte les injections MySQL de type comment-/space-obfuscated et d’accent grave
942210
Détecte les tentatives d’injection de code SQL chaîné 1/2
942220
Pour rechercher les attaques de dépassement sur les entiers, l’extraction se fait à partir de skipfish, à l’exception de 3.0.00738585072007e-308 qui est l’incident « nombre magique ».
942230
Détecte des tentatives d’injection de code SQL conditionnel
942240
Détecte les tentatives de basculement de charset MySQL et d’attaque DoS MSSQL
942250
Détecte les injections de code MATCH AGAINST, MERGE et EXECUTE IMMEDIATE
942260
Détecte les tentatives de contournement d’authentification SQL de base 2/3
942270
Recherche d’injection de code SQL de base. Chaîne d’attaque courante pour mysql, oracle, etc.
942280
Détecte l’injection de Postgres pg_sleep, les attaques par délai d’attente et les tentatives d’arrêt de base de données
942290
Recherche de tentatives d’injection de code SQL MongoDB de base
942300
Détecte les injections de ch(a)r, les conditions et les commentaires MySQL
942310
Détecte des tentatives d’injection de code SQL chaîné 2/2
942320
Détecte des injections de fonctions/procédures stockées MySQL et PostgresSQL
942330
Détecte les sondes d’injection SQL classiques 1/2
942340
Détecte les tentatives de contournement d’authentification SQL de base 3/3
942350
Détecte l’injection de code UDF MySQL et autres tentatives de manipulation de données/structures
942360
Détecte l’injection SQL de base concaténée et les tentatives SQLLFI
942361
Détecte l’injection de code SQL de base par le biais du mot clé alter ou union
942370
Détecte les sondes d’injection SQL classiques 2/2
942380
Attaque par injection de code SQL
942390
Attaque par injection de code SQL
942400
Attaque par injection de code SQL
942410
Attaque par injection de code SQL
942430
Détection restreinte d’anomalies de caractères SQL (args) : nombre de caractères spéciaux dépassés (12)
942440
Séquence de commentaire SQL détectée
942450
Encodage hexadécimal SQL identifié
942460
Alerte de détection d’anomalies de métacaractères - Caractères non textuels répétitifs
942470
Attaque par injection de code SQL
942480
Attaque par injection de code SQL
942500
Commentaire en ligne MySQL détecté.
942510
Tentative de contournement SQLi par apostrophes ou apostrophes inversées détectée.
SESSION-FIXATION
ID de la règle
Description
943100
Attaque possible par fixation de session : définition de valeurs de cookies en HTML
943110
Attaque possible par fixation de session : nom du paramètre SessionID avec référent hors domaine
943120
Attaque possible par fixation de session : nom du paramètre SessionID sans référent
Attaques par Java
ID de la règle
Description
944100
Exécution de commande à distance : Apache Struts, Oracle WebLogic
944110
Détecte l’exécution de charge utile potentielle
944120
Exécution de charge utile et de commande à distance possible
944130
Classes Java suspectes
944200
Exploitation de la désérialisation Java Apache Commons
Tentative d’attaque par traversée de chemin Oracle WebLogic CVE-2020-14882
99001012
Tentative d’exploitation de désérialisation non sécurisée de Telerik WebUI CVE-2019-18935
99001013
Tentative de désérialisation XML non sécurisée de SharePoint CVE-2019-0604
99001014
Tentative d’injection d’expression de routage Spring Cloud CVE-2022-22963
99001015
Tentative d’exploitation d’objets de classe non sécurisée Spring Framework CVE-2022-22965
99001016
Tentative d’injection d’actionneur Spring Cloud Gateway CVE-2022-22947
99001017*
Tentative d’exploitation du chargement de fichiers Apache Struts CVE-2023-50164
*L’action de cette règle est définie sur journaliser par défaut. Définissez l’action sur Bloquer pour contrer la vulnérabilité d’Apache Struts. Score d’anomalie non pris en charge pour cette règle.
Remarque
En examinant les journaux de votre WAF, il se peut que vous rencontriez l’ID de règle 949110. La description de la règle pourrait indiquer que le score d’anomalies entrantes a été dépassé.
Cette règle indique que le score de total d’anomalies pour la requête a dépassé le score maximal autorisé. Pour plus d’informations, consultez Scoring d’anomalie.
Ensembles de règles 3.2
Général
ID de la règle
Description
200002
Échec de l’analyse du corps de la requête.
200003
Validation stricte du corps de la requête en plusieurs parties.
Tentative d’injection d’expression de routage Spring Cloud CVE-2022-22963
800112
Tentative d’exploitation d’objets de classe non sécurisée Spring Framework CVE-2022-22965
800113
Tentative d’injection d’actionneur Spring Cloud Gateway CVE-2022-22947
800114*
Tentative d’exploitation du chargement de fichiers Apache Struts : CVE-2023-50164
*L’action de cette règle est définie sur journaliser par défaut. Définissez l’action sur Bloquer pour contrer la vulnérabilité d’Apache Struts. Score d’anomalie non pris en charge pour cette règle.
REQUEST-911-METHOD-ENFORCEMENT
ID de la règle
Description
911100
La méthode n’est pas autorisée par la stratégie
REQUEST-913-SCANNER-DETECTION
ID de la règle
Description
913100
Détection d’agent utilisateur associé au scanner de sécurité
913101
Détection d’agent utilisateur associé aux scripts/client HTTP générique
913102
Détection d’agent utilisateur associé à l’analyseur web/robot
913110
Détection d’en-tête de requête associé au scanner de sécurité
913120
Détection de nom de fichier/argument associé au scanner de sécurité
REQUEST-920-PROTOCOL-ENFORCEMENT
ID de la règle
Description
920100
Ligne de requête HTTP non valide
920120
Tentative de contournement de données en plusieurs parties/de formulaire
920121
Tentative de contournement de données en plusieurs parties/de formulaire
920160
L’en-tête HTTP Content-Length n’est pas numérique.
920170
Requête GET ou HEAD avec contenu du corps.
920171
Requête GET ou HEAD avec Transfer-Encoding.
920180
En-tête Content-Length manquant dans la requête POST.
920190
Plage : dernière valeur d’octet non valide.
920200
Plage : champs trop nombreux (6 ou plus)
920201
Plage : champs trop nombreux pour la requête PDF (35 ou plus)
920202
Plage : champs trop nombreux pour la requête PDF (6 ou plus)
920210
Détection de données d’en-tête de connexion en conflit/multiples.
Caractère non valide dans la requête (caractère null)
920271
Caractère non valide dans la requête (caractères non imprimables)
920272
Caractère non valide dans la requête (en dehors des caractères imprimables avant ascii 127)
920273
Caractère non valide dans la requête (en dehors de l’ensemble très strict)
920274
Caractère non valide dans les en-têtes de requête (en dehors de l’ensemble très strict)
920280
En-tête d’hôte manquant dans la requête
920290
En-tête d’hôte vide
920300
En-tête Accept manquant dans la requête
920310
Requête contenant un en-tête Accept vide
920311
Requête contenant un en-tête Accept vide
920320
En-tête User-Agent manquant
920330
En-tête User-Agent vide
920340
Requête contenant du contenu, mais dont l’en-tête Content-Type est manquant
920341
Requête dont le contenu nécessite l’en-tête Content-Type
920350
L’en-tête d’hôte est une adresse IP numérique
920420
Le type de contenu de la requête n’est pas autorisé par la stratégie
920430
La version du protocole HTTP n’est pas autorisée par la stratégie
920440
Extension de fichier URL limitée par la stratégie
920450
En-tête HTTP limité par la stratégie (%{MATCHED_VAR})
920460
Caractères d’échappement anormaux
920470
En-tête Content-type non conforme
920480
Restriction du paramètre charset dans l’en-tête Content-type
REQUEST-921-PROTOCOL-ATTACK
ID de la règle
Description
921110
Attaque par dissimulation de requête HTTP
921120
Attaque par fractionnement de réponse HTTP
921130
Attaque par fractionnement de réponse HTTP
921140
Attaque par injection d’en-tête HTTP via les en-têtes
921150
Attaque par injection d’en-tête HTTP via la charge utile (CR/LF détecté)
921151
Attaque par injection d’en-tête HTTP via la charge utile (CR/LF détecté)
921160
Attaque par injection d’en-tête HTTP via la charge utile (CR/LF et nom d’en-tête détecté)
921170
Pollution du paramètre HTTP
921180
Pollution du paramètre HTTP (%{TX.1})
REQUEST-930-APPLICATION-ATTACK-LFI
ID de la règle
Description
930100
Attaque par traversée de chemin (/../)
930110
Attaque par traversée de chemin (/../)
930120
Tentative d’accès au fichier du système d’exploitation
930130
Tentative d’accès au fichier restreint
REQUEST-931-APPLICATION-ATTACK-RFI
ID de la règle
Description
931100
Attaque possible par inclusion de fichier distant : paramètre d’URL utilisant l’adresse IP
931110
Attaque possible par inclusion de fichier distant (RFI) : nom de paramètre vulnérable RFI commun utilisé avec la charge utile URL
931120
Attaque possible par inclusion de fichier distant : charge utile URL utilisée avec caractère point d’interrogation de fin (?)
931130
Attaque possible par inclusion de fichier distant : Référence/Lien hors domaine
REQUEST-932-APPLICATION-ATTACK-RCE
ID de la règle
Description
932100
Exécution de commande à distance : Injection de commande Unix
932105
Exécution de commande à distance : Injection de commande Unix
932106
Exécution de commande à distance : Injection de commande Unix
932110
Exécution de commande à distance : Injection de commande Windows
932115
Exécution de commande à distance : Injection de commande Windows
932120
Exécution de commande à distance : commande Windows PowerShell détectée
932130
Exécution de commandes distantes : vulnérabilité d’expression ou de confluence du shell Unix (CVE-2022-26134) ou de Text4Shell (CVE-2022-42889) trouvée
932140
Exécution de commande à distance : commande Windows FOR/IF détectée
932150
Exécution de commande à distance : Exécution de commande UNIX directe
932160
Exécution de commande à distance : code de l’interpréteur de commandes Unix détecté
932170
Exécution de commande à distance : Shellshock (CVE-2014-6271)
932171
Exécution de commande à distance : Shellshock (CVE-2014-6271)
932180
Tentative de chargement de fichier limitée
932190
Exécution de commande à distance : Tentative de technique de contournement générique
REQUEST-933-APPLICATION-ATTACK-PHP
ID de la règle
Description
933100
Attaque par injection de code PHP : balise d’ouverture/fermeture détectée
933110
Attaque par injection de code PHP : Chargement de fichier de script PHP détecté
933111
Attaque par injection de code PHP : Chargement de fichier de script PHP détecté
933120
Attaque par injection de code PHP : directive de configuration détectée
933130
Attaque par injection de code PHP : Variables détectées
933131
Attaque par injection de code PHP : Variables détectées
933140
Attaque par injection de code PHP : Flux d’E/S détecté
933150
Attaque par injection de code PHP : nom de fonction PHP à risque élevé détecté
933151
Attaque par injection de code PHP : Nom de fonction PHP à risque moyen détecté
933160
Attaque par injection de code PHP : appel de fonction PHP à risque élevé détecté
933161
Attaque par injection de code PHP : Appel de fonction PHP à valeur faible détecté
933170
Attaque par injection de code PHP : Injection d’objet sérialisé
933180
Attaque par injection de code PHP : appel de fonction variable détecté
933190
Attaque par injection de code PHP : Balise de fermeture PHP détectée
933200
Attaque par injection de code PHP : schéma de wrapper détecté
933210
Attaque par injection de code PHP : appel de fonction variable détecté
REQUEST-941-APPLICATION-ATTACK-XSS
ID de la règle
Description
941100
Attaque XSS détectée via libinjection
941101
Attaque XSS détectée via libinjection Cette règle détecte les requêtes avec un en-tête Referer.
941110
Filtre XSS - Catégorie 1 : vecteur de balise de script
941120
Filtre XSS - Catégorie 2 : vecteur de gestionnaire d’événements
941130
Filtre XSS - Catégorie 3 : vecteur d’attribut
941140
Filtre XSS - Catégorie 4 : vecteur URI JavaScript
941150
Filtre XSS - Catégorie 5 : attributs HTML non autorisés
941160
NoScript XSS InjectionChecker : Injection de code HTML
Possible attaque XSS détectée - Gestionnaire de balise HTML
941330
Filtre XSS IE - Attaque détectée.
941340
Filtre XSS IE - Attaque détectée.
941350
XSS IE d’encodage UTF-7 - Attaque détectée.
941360
Obfuscation JavaScript détectée.
REQUEST-942-APPLICATION-ATTACK-SQLI
ID de la règle
Description
942100
Attaque par injection de code SQL détectée via libinjection
942110
Attaque par injection de code SQL : Test d’injection commune détecté
942120
Attaque par injection de code SQL : Opérateur SQL détecté
942130
Attaque par injection de code SQL : Tautologie SQL détectée.
942140
Attaque par injection de code SQL : noms de base de données courants détectés
942150
Attaque par injection de code SQL
942160
Détecte des tests sqli à l’aveugle à l’aide de la méthode sleep() ou benchmarch().
942170
Détecte les tentatives d’injection par les méthodes benchmark (test d’évaluation) et sleep (mise en veille), y compris les requêtes conditionnelles
942180
Détecte les tentatives de contournement d’authentification SQL de base 1/3
942190
Détecte les tentatives de collecte d’informations et de d’exécution de code MSSQL
942200
Détecte les injections MySQL de type comment-/space-obfuscated et d’accent grave
942210
Détecte les tentatives d’injection de code SQL chaîné 1/2
942220
Pour rechercher les attaques de dépassement sur les entiers, l’extraction se fait à partir de skipfish, à l’exception de 3.0.00738585072007e-308 qui est l’incident « nombre magique ».
942230
Détecte des tentatives d’injection de code SQL conditionnel
942240
Détecte les tentatives de basculement de charset MySQL et d’attaque DoS MSSQL
942250
Détecte les injections de code MATCH AGAINST, MERGE et EXECUTE IMMEDIATE
942251
Détecte des injections de code HAVING
942260
Détecte les tentatives de contournement d’authentification SQL de base 2/3
942270
Recherche d’injection de code SQL de base. Chaîne d’attaque courante pour mysql, oracle, etc.
942280
Détecte l’injection de Postgres pg_sleep, les attaques par délai d’attente et les tentatives d’arrêt de base de données
942290
Recherche de tentatives d’injection de code SQL MongoDB de base
942300
Détecte les commentaires MySQL, les conditions et les injections de ch(a)r
942310
Détecte des tentatives d’injection de code SQL chaîné 2/2
942320
Détecte des injections de fonctions/procédures stockées MySQL et PostgresSQL
942330
Détecte les sondes d’injection SQL classiques 1/2
942340
Détecte les tentatives de contournement d’authentification SQL de base 3/3
942350
Détecte l’injection de code UDF MySQL et autres tentatives de manipulation de données/structures
942360
Détecte l’injection SQL de base concaténée et les tentatives SQLLFI
942361
Détecte l’injection de code SQL de base par le biais du mot clé alter ou union
942370
Détecte les sondes d’injection SQL classiques 2/2
942380
Attaque par injection de code SQL
942390
Attaque par injection de code SQL
942400
Attaque par injection de code SQL
942410
Attaque par injection de code SQL
942420
Détection restreinte d’anomalies de caractères SQL (cookies) : nombre de caractères spéciaux dépassés (8)
942421
Détection restreinte d’anomalies de caractères SQL (cookies) : nombre de caractères spéciaux dépassés (3)
942430
Détection restreinte d’anomalies de caractères SQL (args) : nombre de caractères spéciaux dépassés (12)
942431
Détection restreinte d’anomalies de caractères SQL (args) : nombre de caractères spéciaux dépassés (6)
942432
Détection restreinte d’anomalies de caractères SQL (args) : nombre de caractères spéciaux dépassés (2)
942440
Séquence de commentaire SQL détectée.
942450
Encodage hexadécimal SQL identifié
942460
Alerte de détection d’anomalies de métacaractères - Caractères non textuels répétitifs
942470
Attaque par injection de code SQL
942480
Attaque par injection de code SQL
942490
Détecte les sondes d’injection SQL classiques 3/3
942500
Commentaire en ligne MySQL détecté.
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION
ID de la règle
Description
943100
Attaque possible par fixation de session : définition de valeurs de cookies en HTML
943110
Attaque possible par fixation de session : nom du paramètre SessionID avec référent hors domaine
943120
Attaque possible par fixation de session : nom du paramètre SessionID sans référent
REQUEST-944-APPLICATION-ATTACK-JAVA
ID de la règle
Description
944100
Exécution de commande à distance : Apache Struts, Oracle WebLogic
944110
Détecte l’exécution de charge utile potentielle
944120
Exécution de charge utile et de commande à distance possible
944130
Classes Java suspectes
944200
Exploitation de la désérialisation Java Apache Commons
944210
Utilisation possible de la sérialisation Java
944240
Exécution de commande à distance : sérialisation Java
944250
Exécution de commande à distance : méthode Java suspecte détectée
944300
Mot clé suspect correspondant à une chaîne codée en Base64
Tentative d’injection d’expression de routage Spring Cloud CVE-2022-22963
800112
Tentative d’exploitation d’objets de classe non sécurisée Spring Framework CVE-2022-22965
800113
Tentative d’injection d’actionneur Spring Cloud Gateway CVE-2022-22947
800114*
Tentative d’exploitation du chargement de fichiers Apache Struts : CVE-2023-50164
*Les anciens WAF utilisant CRS 3.1 ne prennent en charge que le mode de journalisation pour cette règle. Pour activer le mode de blocage, vous devez effectuer une mise à niveau vers une version plus récente de l’ensemble de règles.
REQUEST-911-METHOD-ENFORCEMENT
ID de la règle
Description
911100
La méthode n’est pas autorisée par la stratégie
REQUEST-913-SCANNER-DETECTION
ID de la règle
Description
913100
Détection d’agent utilisateur associé au scanner de sécurité
913101
Détection d’agent utilisateur associé aux scripts/client HTTP générique
913102
Détection d’agent utilisateur associé à l’analyseur web/robot
913110
Détection d’en-tête de requête associé au scanner de sécurité
913120
Détection de nom de fichier/argument associé au scanner de sécurité
REQUEST-920-PROTOCOL-ENFORCEMENT
ID de la règle
Description
920100
Ligne de requête HTTP non valide
920120
Tentative de contournement de données en plusieurs parties/de formulaire
920121
Tentative de contournement de données en plusieurs parties/de formulaire
920130
Échec de l’analyse du corps de la requête.
920140
Échec de la validation stricte du corps de la requête à parties multiples
920160
L’en-tête HTTP Content-Length n’est pas numérique.
920170
Requête GET ou HEAD avec contenu du corps.
920171
Requête GET ou HEAD avec Transfer-Encoding.
920180
En-tête Content-Length manquant dans la requête POST.
920190
Plage = dernière valeur d’octet non valide.
920200
Plage = Champs trop nombreux (6 ou plus)
920201
Plage = Champs trop nombreux pour la requête PDF (35 ou plus)
920202
Plage = Champs trop nombreux pour la requête PDF (6 ou plus)
920210
Détection de données d’en-tête de connexion en conflit/multiples.
Caractère non valide dans la requête (caractère null)
920271
Caractère non valide dans la requête (caractères non imprimables)
920272
Caractère non valide dans la requête (en dehors des caractères imprimables avant ascii 127)
920273
Caractère non valide dans la requête (en dehors de l’ensemble très strict)
920274
Caractère non valide dans les en-têtes de requête (en dehors de l’ensemble très strict)
920280
En-tête d’hôte manquant dans la requête
920290
En-tête d’hôte vide
920300
En-tête Accept manquant dans la requête
920310
Requête contenant un en-tête Accept vide
920311
Requête contenant un en-tête Accept vide
920320
En-tête User-Agent manquant
920330
En-tête User-Agent vide
920340
Requête contenant du contenu mais dont l’en-tête Content-Type est manquant
920341
Requête dont le contenu nécessite l’en-tête Content-Type
920350
L’en-tête d’hôte est une adresse IP numérique
920420
Le type de contenu de la requête n’est pas autorisé par la stratégie
920430
La version du protocole HTTP n’est pas autorisée par la stratégie
920440
Extension de fichier URL limitée par la stratégie
920450
En-tête HTTP limité par la stratégie (%@{MATCHED_VAR})
920460
Caractères d’échappement anormaux
920470
En-tête Content-type non conforme
920480
Restriction du paramètre charset dans l’en-tête Content-type
REQUEST-921-PROTOCOL-ATTACK
ID de la règle
Description
921110
Attaque par dissimulation de requête HTTP
921120
Attaque par fractionnement de réponse HTTP
921130
Attaque par fractionnement de réponse HTTP
921140
Attaque par injection d’en-tête HTTP via les en-têtes
921150
Attaque par injection d’en-tête HTTP via la charge utile (CR/LF détecté)
921151
Attaque par injection d’en-tête HTTP via la charge utile (CR/LF détecté)
921160
Attaque par injection d’en-tête HTTP via la charge utile (CR/LF et nom d’en-tête détecté)
921170
Pollution du paramètre HTTP
921180
Pollution du paramètre HTTP (%{TX.1})
REQUEST-930-APPLICATION-ATTACK-LFI
ID de la règle
Description
930100
Attaque par traversée de chemin (/../)
930110
Attaque par traversée de chemin (/../)
930120
Tentative d’accès au fichier du système d’exploitation
930130
Tentative d’accès au fichier restreint
REQUEST-931-APPLICATION-ATTACK-RFI
ID de la règle
Description
931100
Possible attaque par inclusion de fichier distant = Paramètre d’URL utilisant l’adresse IP
931110
Possible attaque par inclusion de fichier distant = Nom de paramètre vulnérable RFI commun utilisé avec la charge utile URL
931120
Possible attaque par inclusion de fichier distant = Charge utile URL utilisée avec caractère point d’interrogation de fin (?)
931130
Attaque possible par inclusion de fichier distant = Référence/Lien hors domaine
REQUEST-932-APPLICATION-ATTACK-RCE
ID de la règle
Description
932100
Exécution de commande à distance : Injection de commande Unix
932105
Exécution de commande à distance : Injection de commande Unix
932106
Exécution de commande à distance : Injection de commande Unix
932110
Exécution de commande à distance : Injection de commande Windows
932115
Exécution de commande à distance : Injection de commande Windows
932120
Exécution de la commande à distance = Commande Windows PowerShell détectée
932130
Exécution de commandes distantes : vulnérabilité d’expression ou de confluence du shell Unix (CVE-2022-26134) ou de Text4Shell (CVE-2022-42889) trouvée
932140
Exécution de la commande à distance = Commande Windows FOR/IF détectée
932150
Exécution de commande à distance : Exécution de commande UNIX directe
932160
Exécution de la commande à distance = Code Shell Unix détecté
932170
Exécution de la commande à distance = Shellshock (CVE-2014-6271)
932171
Exécution de la commande à distance = Shellshock (CVE-2014-6271)
932180
Tentative de chargement de fichier limitée
932190
Exécution de commande à distance : Tentative de technique de contournement générique
REQUEST-933-APPLICATION-ATTACK-PHP
ID de la règle
Description
933100
Attaque par injection de code PHP = Balise d’ouverture/fermeture détectée
933110
Attaque par injection de code PHP = Chargement de fichiers de script PHP détecté
933111
Attaque par injection de code PHP : Chargement de fichier de script PHP détecté
933120
Attaque par injection de code PHP = Directive de configuration détectée
933130
Attaque par injection de code PHP = Variables détectées
933131
Attaque par injection de code PHP : Variables détectées
933140
Attaque par injection de code PHP : Flux d’E/S détecté
933150
Attaque par injection de code PHP = Nom de fonction PHP à risque élevé détecté
933151
Attaque par injection de code PHP : Nom de fonction PHP à risque moyen détecté
933160
Attaque par injectionde code PHP = Nom d’appel de fonction PHP à risque élevé détecté
933161
Attaque par injection de code PHP : Appel de fonction PHP à valeur faible détecté
933170
Attaque par injection de code PHP : Injection d’objet sérialisé
933180
Attaque par injection de code PHP = Appel de fonction variable détecté
933190
Attaque par injection de code PHP : Balise de fermeture PHP détectée
REQUEST-941-APPLICATION-ATTACK-XSS
ID de la règle
Description
941100
Attaque XSS détectée via libinjection
941101
Attaque XSS détectée via libinjection Cette règle détecte les requêtes avec un en-tête Referer.
941110
Filtre XSS - Catégorie 1 = vecteur de balise de script
941130
Filtre XSS - Catégorie 3 = vecteur d’attribut
941140
Filtre XSS - Catégorie 4 = vecteur URI JavaScript
941150
Filtre XSS - Catégorie 5 = attributs HTML non autorisés
941160
NoScript XSS InjectionChecker : Injection de code HTML
Caractère non valide dans la requête (caractère null)
920280
En-tête d’hôte manquant dans la requête
920290
En-tête d’hôte vide
920310
Requête contenant un en-tête Accept vide
920311
Requête contenant un en-tête Accept vide
920330
En-tête User-Agent vide
920340
Requête contenant du contenu mais dont l’en-tête Content-Type est manquant
920350
L’en-tête d’hôte est une adresse IP numérique
920380
Trop d’arguments dans la requête
920360
Nom d’argument trop long
920370
Valeur d’argument trop longue
920390
Taille totale d’arguments dépassée
920400
Taille du fichier chargé trop volumineuse
920410
Taille totale des fichiers chargés trop volumineuse
920420
Le type de contenu de la requête n’est pas autorisé par la stratégie
920430
La version du protocole HTTP n’est pas autorisée par la stratégie
920440
Extension de fichier URL limitée par la stratégie
920450
En-tête HTTP limité par la stratégie (%@{MATCHED_VAR})
920200
Plage = Champs trop nombreux (6 ou plus)
920201
Plage = Champs trop nombreux pour la requête PDF (35 ou plus)
920230
Détection d’encodage de plusieurs URL
920300
En-tête Accept manquant dans la requête
920271
Caractère non valide dans la requête (caractères non imprimables)
920320
En-tête User-Agent manquant
920272
Caractère non valide dans la requête (en dehors des caractères imprimables avant ascii 127)
920202
Plage = Champs trop nombreux pour la requête PDF (6 ou plus)
920273
Caractère non valide dans la requête (en dehors de l’ensemble très strict)
920274
Caractère non valide dans les en-têtes de requête (en dehors de l’ensemble très strict)
920460
Caractères d’échappement anormaux
REQUEST-921-PROTOCOL-ATTACK
ID de la règle
Description
921100
Attaque par dissimulation de requête HTTP.
921110
Attaque par dissimulation de requête HTTP
921120
Attaque par fractionnement de réponse HTTP
921130
Attaque par fractionnement de réponse HTTP
921140
Attaque par injection d’en-tête HTTP via les en-têtes
921150
Attaque par injection d’en-tête HTTP via la charge utile (CR/LF détecté)
921160
Attaque par injection d’en-tête HTTP via la charge utile (CR/LF et nom d’en-tête détecté)
921151
Attaque par injection d’en-tête HTTP via la charge utile (CR/LF détecté)
921170
Pollution du paramètre HTTP
921180
Pollution du paramètre HTTP (% @{TX.1})
REQUEST-930-APPLICATION-ATTACK-LFI
ID de la règle
Description
930100
Attaque par traversée de chemin (/../)
930110
Attaque par traversée de chemin (/../)
930120
Tentative d’accès au fichier du système d’exploitation
930130
Tentative d’accès au fichier restreint
REQUEST-931-APPLICATION-ATTACK-RFI
ID de la règle
Description
931100
Possible attaque par inclusion de fichier distant = Paramètre d’URL utilisant l’adresse IP
931110
Possible attaque par inclusion de fichier distant = Nom de paramètre vulnérable RFI commun utilisé avec la charge utile URL
931120
Possible attaque par inclusion de fichier distant = Charge utile URL utilisée avec caractère point d’interrogation de fin (?)
931130
Attaque possible par inclusion de fichier distant = Référence/Lien hors domaine
REQUEST-932-APPLICATION-ATTACK-RCE
ID de la règle
Description
932120
Exécution de la commande à distance = Commande Windows PowerShell détectée
932130
Application Gateway WAF v2 : exécution de commandes distantes : Vulnérabilité d’expression ou de confluence du shell Unix (CVE-2022-26134) ou Text4Shell (CVE-2022-42889) trouvée
Application Gateway WAF v1 : exécution de commandes distantes : expression de shell Unix
932140
Exécution de la commande à distance = Commande Windows FOR/IF détectée
932160
Exécution de la commande à distance = Code Shell Unix détecté
932170
Exécution de la commande à distance = Shellshock (CVE-2014-6271)
932171
Exécution de la commande à distance = Shellshock (CVE-2014-6271)
REQUEST-933-APPLICATION-ATTACK-PHP
ID de la règle
Description
933100
Attaque par injection de code PHP = Balise d’ouverture/fermeture détectée
933110
Attaque par injection de code PHP = Chargement de fichiers de script PHP détecté
933120
Attaque par injection de code PHP = Directive de configuration détectée
933130
Attaque par injection de code PHP = Variables détectées
933150
Attaque par injection de code PHP = Nom de fonction PHP à risque élevé détecté
933160
Attaque par injectionde code PHP = Nom d’appel de fonction PHP à risque élevé détecté
933180
Attaque par injection de code PHP = Appel de fonction variable détecté
933151
Attaque par injection de code PHP = Nom de fonction PHP à risque modéré détecté
933131
Attaque par injection de code PHP = Variables détectées
933161
Attaque par injection de code PHP = Appel de fonction PHP à risque faible détecté
933111
Attaque par injection de code PHP = Chargement de fichiers de script PHP détecté
REQUEST-941-APPLICATION-ATTACK-XSS
ID de la règle
Description
941100
Attaque XSS détectée via libinjection
941110
Filtre XSS - Catégorie 1 = vecteur de balise de script
941130
Filtre XSS - Catégorie 3 = vecteur d’attribut
941140
Filtre XSS - Catégorie 4 = vecteur URI JavaScript
941150
Filtre XSS - Catégorie 5 = attributs HTML non autorisés
941180
Mots clés de la liste de refus du validateur de nœuds
941190
XSS utilisant des feuilles de style
941200
XSS utilisant des frames VML
941210
XSS utilisant du JavaScript ou Text4Shell obfusqué (CVE-2022-42889)
941220
XSS utilisant du VB Script obfusqué
941230
XSS utilisant la balise « embed »
941240
XSS utilisant l’attribut « import » ou « implementation »