Partager via


Règles et groupes de règles DRS et CRS de Web Application Firewall

L’ensemble de règles par défaut géré par Azure (DRS) dans le pare-feu d’applications web Application Gateway (WAF) protège 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 avez également la possibilité d’utiliser des règles définies en fonction de l’ensemble de règles de base OWASP 3.2 (CRS 3.2).

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

Lorsque vous modifiez une version d’un ensemble de règles dans une stratégie WAF, toutes les personnalisations existantes que vous avez apportées à votre ensemble de règles sont 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.

Ensemble de règles par défaut 2.1

L’ensemble de règles par défaut (DRS) 2.1 est basé sur le Core Rule Set (CRS) de l'OWASP (Open Web Application Security Project) 3.3.2 et inclut des règles de protection propriétaire supplémentaires développées par l’équipe Microsoft Threat Intelligence ainsi que 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 offre un nouveau moteur et de nouveaux ensembles de règles défendant les injections Java, un ensemble initial de vérifications de chargement de fichiers et moins de faux positifs par rapport aux versions CRS. Vous pouvez également personnaliser les règles en fonction de vos besoins. En savoir plus sur le nouveau moteur WAF Azure.

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.

Type de menace Nom du groupe de règles
Général Général
Verrouiller les méthodes (PUT, PATCH) DE MISE EN ŒUVRE DES MÉTHODES
Problèmes de protocole et d’encodage PROTOCOL-ENFORCEMENT
Injection d’en-tête, trafic de demandes et fractionnement de réponse ATTAQUE PAR PROTOCOLE
Attaques de fichier et de chemin d’accès LFI
Attaques d’inclusion de fichiers à distance (RFI) RFI
Attaques d’exécution de code à distance RCE
Attaques par injection PHP PHP
Attaques JS de nœud NodeJS
Attaques par exécution de scripts de site à site XSS
Attaques par injection de code SQL SQLI
Attaques de fixation de session SESSION-FIXATION
Attaques JAVA SESSION-JAVA
Attaques par interpréteur de commandes web (MS) MS-ThreatIntel-WebShells
Attaques AppSec (MS) MS-ThreatIntel-AppSec
Attaques par injection sql (MS) MS-ThreatIntel-SQLI
Attaques CVE (MS) MS-ThreatIntel-CVEs

Conseils de réglage précis pour DRS 2.1

Suivez les instructions suivantes pour paramétrer waf pendant que vous commencez à utiliser DRS 2.1 sur le WAF Application Gateway :

Identificateur de la règle Groupe de règles Descriptif Recommandation
942110 SQLI Attaque par injection de code SQL : Test d’injection commune détecté Désactiver la règle 942110, remplacée par la règle MSTIC 99031001
942150 SQLI Attaque par injection de code SQL Désactiver la règle 942150, remplacée par la règle MSTIC 99031003
942260 SQLI Détecte les tentatives de contournement d’authentification SQL de base 2/3 Désactiver la règle 942260, remplacée 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 la règle 942430, elle déclenche trop de faux positifs
942440 SQLI Séquence de commentaire SQL détectée Désactiver la règle 942440, remplacée 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

Ensemble de règles de base 3.2

L’ensemble de règles managées recommandé est le Default Rule Set 2.1, qui est basé sur le Core Rule Set (CRS) 3.3.2 de l'Open Web Application Security Project (OWASP) et inclut des règles de protection propriétaires supplémentaires développées par l’équipe Microsoft Threat Intelligence, ainsi que des mises à jour des signatures pour réduire les faux positifs. En guise d’alternative à DRS 2.1, vous pouvez utiliser CRS 3.2, qui est basé sur la version OWASP CRS 3.2.0.

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.

Remarque

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.

Nom du groupe de règles Type de menace
Général Général
CVEs nouvelles et connues KNOWN-CVES
Verrouiller les méthodes (PUT, PATCH) REQUEST-911-METHOD-ENFORCEMENT
Scanneurs de port et d’environnement REQUEST-913-SCANNER-DETECTION
Problèmes de protocole et d’encodage REQUEST-920-PROTOCOL-ENFORCEMENT
Injection d’en-tête, trafic de demandes et fractionnement de réponse REQUEST-921-PROTOCOL-ATTACK
Attaques de fichier et de chemin d’accès REQUEST-930-APPLICATION-ATTACK-LFI
Attaques d’inclusion de fichiers à distance (RFI) REQUEST-931-APPLICATION-ATTACK-RFI
Attaques d’exécution de code à distance REQUEST-932-APPLICATION-ATTACK-RCE
Attaques par injection PHP REQUEST-933-APPLICATION-ATTACK-PHP
Attaques par exécution de scripts de site à site REQUEST-941-APPLICATION-ATTACK-XSS
Attaques par injection de code SQL REQUEST-942-APPLICATION-ATTACK-SQLI
Attaques de fixation de session REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION
Attaques JAVA REQUEST-944-APPLICATION-ATTACK-JAVA

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 autoriser, bloquer et journaliser.

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
Erreur 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 égal à 5 ou supérieur, une règle distincte est déclenchée avec l’action « Bloquée » ou « Détectée » selon que la stratégie WAF est en mode Prévention ou Détection. Pour plus d’informations, consultez Mode Scoring d’anomalie.

Niveau paranoïa

Chaque règle est attribuée à un Niveau de Paranoïa (PL) spécifique. Les règles configurées dans Paranoia Level 1 (PL1) sont moins agressives et ne déclenchent guère de faux positifs. Ils fournissent une sécurité de base avec un besoin minimal de réglage précis. Les règles de PL2 détectent davantage d’attaques, mais elles sont censées déclencher des faux positifs qui doivent être affinés.

Par défaut, les versions de règle DRS 2.1 et CRS 3.2 sont préconfigurées dans Paranoia Level 2, y compris les règles attribuées dans PL1 et PL2. Si vous souhaitez utiliser WAF exclusivement avec PL1, vous pouvez désactiver toutes les règles PL2 ou toutes les règles PL2 ou modifier leur action en « journal ». PL3 et PL4 ne sont actuellement pas pris en charge dans azure WAF.

Remarque

Le jeu de règles CRS 3.2 inclut des règles dans PL3 et PL4, mais ces règles sont toujours inactives et ne peuvent pas être activées, quel que soit leur état ou action configuré.

Mise à niveau ou changement de la version d’un ensemble de règles

Si vous effectuez une mise à niveau ou que vous affectez une nouvelle version du jeu de règles et souhaitez conserver les remplacements et exclusions de règles existants, il est recommandé d’utiliser PowerShell, l’interface CLI, l’API REST ou un modèle pour apporter des modifications de version du jeu 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’ajuster le cas échéant, puis de déployer dans un environnement de production.

Remarque

Si vous utilisez le portail Azure pour affecter un nouveau jeu de règles managés à une stratégie WAF, toutes les personnalisations précédentes de l’ensemble de règles managés existant, telles que l’état des règles, les actions de règle et les exclusions au niveau de la règle, sont réinitialisées aux valeurs par défaut du nouvel ensemble de règles managés. 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 modifications avant le déploiement dans un environnement de production.

OWASP CRS 3.1

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.

Remarque

CRS 3.1 est uniquement disponible sur la référence SKU WAF_v2.

Nom du groupe de règles Descriptif
Général Groupe général
KNOWN-CVES Permet de détecter les CVE nouveaux et connus
REQUEST-911-METHOD-ENFORCEMENT Verrouiller les méthodes (PUT, PATCH)
REQUEST-913-SCANNER-DETECTION Protéger contre les scanneurs de port et d’environnement.
REQUEST-920-PROTOCOL-ENFORCEMENT Protéger contre les problèmes de protocole et d’encodage.
REQUEST-921-PROTOCOL-ATTACK Protéger contre les attaques par injection d’en-tête, dissimulation de requête et fractionnement de réponse.
REQUEST-930-APPLICATION-ATTACK-LFI Protéger contre les attaques par fichier et chemin d’accès.
REQUEST-931-APPLICATION-ATTACK-RFI Protéger contre les attaques par inclusion de fichier distant (RFI)
REQUEST-932-APPLICATION-ATTACK-RCE Protéger contre les attaques par exécution de code à distance.
REQUEST-933-APPLICATION-ATTACK-PHP Protéger contre les attaques par injection de code PHP.
REQUEST-941-APPLICATION-ATTACK-XSS Protéger contre les attaques par exécution de scripts de site à site.
REQUEST-942-APPLICATION-ATTACK-SQLI Protéger contre les attaques par injection de code SQL.
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION Protéger contre les attaques par fixation de session.
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVA Protéger contre les attaques JAVA

Bot Manager 1.0

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).

Groupe de règles Descriptif
BadBots Protection contre les bots malveillants
GoodBots Identification des bots bienveillants
UnknownBots Identification des bots inconnus

Bot Manager 1.1

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.

Groupe de règles Descriptif
BadBots Protection contre les bots malveillants
GoodBots Identification des bots bienveillants
UnknownBots Identification des bots inconnus

Les règles et groupes de règles suivants sont disponibles durant l’utilisation du pare-feu d’applications web sur Application Gateway.

Ensembles de règles 2.1

Général

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
200002 Critique - 5 % PL1 Échec de l’analyse du corps de la requête
200003 Critique - 5 % PL1 Échec de la validation stricte du corps de la requête à parties multiples

APPLICATION DES MÉTHODES

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
911100 Critique - 5 % PL1 La méthode n’est pas autorisée par la stratégie

PROTOCOL-ENFORCEMENT

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
920100 Avis - 2 PL1 Ligne de requête HTTP non valide
920120 Critique - 5 % PL1 Tentative de contournement de données en plusieurs parties/de formulaire
920121 Critique - 5 % PL2 Tentative de contournement de données en plusieurs parties/de formulaire
920160 Critique - 5 % PL1 L’en-tête HTTP Content-Length n’est pas numérique
920170 Critique - 5 % PL1 GET ou HEAD Request with Body Content
920171 Critique - 5 % PL1 GET ou HEAD Request with Transfer-Encoding
920180 Avis - 2 PL1 En-tête de longueur de contenu manquant de la requête POST
920181 Avertissement - 3 PL1 Les en-têtes Content-Length et Transfer-Encoding présentent 99001003
920190 Avertissement - 3 PL1 Plage : Dernière valeur d’octet non valide
920200 Avertissement - 3 PL2 Plage : champs trop nombreux (6 ou plus)
920201 Avertissement - 3 PL2 Plage : champs trop nombreux pour la requête PDF (35 ou plus)
920210 Critique - 5 % PL1 Données d’en-tête de connexion multiples/conflictuelles trouvées
920220 Avertissement - 3 PL1 Tentative d’attaque abusive d’encodage d’URL
920230 Avertissement - 3 PL2 Détection d’encodage de plusieurs URL
920240 Avertissement - 3 PL1 Tentative d’attaque abusive d’encodage d’URL
920260 Avertissement - 3 PL1 Tentative d’attaque abusive Pleine/Moyenne largeur Unicode
920270 Erreur - 4 PL1 Caractère non valide dans la requête (caractère null)
920271 Critique - 5 % PL2 Caractère non valide dans la requête (caractères non imprimables)
920280 Avertissement - 3 PL1 En-tête d’hôte manquant dans la requête
920290 Avertissement - 3 PL1 En-tête d’hôte vide
920300 Avis - 2 PL2 En-tête Accept manquant dans la requête
920310 Avis - 2 PL1 Requête contenant un en-tête Accept vide
920311 Avis - 2 PL1 Requête contenant un en-tête Accept vide
920320 Avis - 2 PL2 En-tête User-Agent manquant
920330 Avis - 2 PL1 En-tête User-Agent vide
920340 Avis - 2 PL1 Requête contenant du contenu, mais dont l’en-tête Content-Type est manquant
920341 Critique - 5 % PL1 Requête dont le contenu nécessite l’en-tête Content-Type
920350 Avertissement - 3 PL1 L’en-tête d’hôte est une adresse IP numérique
920420 Critique - 5 % PL1 Le type de contenu de la requête n’est pas autorisé par la stratégie
920430 Critique - 5 % PL1 La version du protocole HTTP n’est pas autorisée par la stratégie
920440 Critique - 5 % PL1 Extension de fichier URL limitée par la stratégie
920450 Critique - 5 % PL1 En-tête HTTP limité par la stratégie
920470 Critique - 5 % PL1 En-tête Content-type non conforme
920480 Critique - 5 % PL1 Le jeu de caractères du type de contenu de la requête n’est pas autorisé par la stratégie
920500 Critique - 5 % PL1 Tentative d’accès à un fichier de sauvegarde ou de travail

PROTOCOL-ATTACK

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
921110 Critique - 5 % PL1 Attaque par dissimulation de requête HTTP
921120 Critique - 5 % PL1 Attaque par fractionnement de réponse HTTP
921130 Critique - 5 % PL1 Attaque par fractionnement de réponse HTTP
921140 Critique - 5 % PL1 Attaque par injection d’en-tête HTTP via les en-têtes
921150 Critique - 5 % PL1 Attaque par injection d’en-tête HTTP via la charge utile (CR/LF détecté)
921151 Critique - 5 % PL2 Attaque par injection d’en-tête HTTP via la charge utile (CR/LF détecté)
921160 Critique - 5 % PL1 Attaque par injection d’en-tête HTTP via la charge utile (CR/LF et nom d’en-tête détecté)
921190 Critique - 5 % PL1 Fractionnement HTTP (CR/LF détecté dans le nom de fichier de demande)
921200 Critique - 5 % PL1 Attaque par injection de code LDAP

Inclusion de fichier local (LFI, Local File Inclusion)

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
930100 Critique - 5 % PL1 Attaque par traversée de chemin (/../)
930110 Critique - 5 % PL1 Attaque par traversée de chemin (/../)
930120 Critique - 5 % PL1 Tentative d’accès au fichier du système d’exploitation
930130 Critique - 5 % PL1 Tentative d’accès au fichier restreint

Inclusion de fichier distant (RFI, Remote File Inclusion)

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
931100 Critique - 5 % PL1 Attaque possible par inclusion de fichier distant : paramètre d’URL utilisant l’adresse IP
931110 Critique - 5 % PL1 Attaque possible par inclusion de fichier distant (RFI) : nom de paramètre vulnérable RFI commun utilisé avec la charge utile URL
931120 Critique - 5 % PL1 Attaque possible par inclusion de fichier distant : charge utile URL utilisée avec caractère point d’interrogation de fin (?)
931130 Critique - 5 % PL2 Attaque possible par inclusion de fichier distant : Référence/Lien hors domaine

Exécution de commande à distance (RCE, Remote Command Execution)

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
932100 Critique - 5 % PL1 Exécution de commande à distance : Injection de commande Unix
932105 Critique - 5 % PL1 Exécution de commande à distance : Injection de commande Unix
932110 Critique - 5 % PL1 Exécution de commande à distance : Injection de commande Windows
932115 Critique - 5 % PL1 Exécution de commande à distance : Injection de commande Windows
932120 Critique - 5 % PL1 Exécution de commande à distance : commande Windows PowerShell détectée
932130 Critique - 5 % PL1 Exécution de commandes distantes : Vulnérabilité d’expression ou de confluence du shell Unix(CVE-2022-26134) trouvée
932140 Critique - 5 % PL1 Exécution de commande à distance : commande Windows FOR/IF détectée
932150 Critique - 5 % PL1 Exécution de commande à distance : Exécution de commande UNIX directe
932160 Critique - 5 % PL1 Exécution de commande à distance : code de l’interpréteur de commandes Unix détecté
932170 Critique - 5 % PL1 Exécution de commande à distance : Shellshock (CVE-2014-6271)
932171 Critique - 5 % PL1 Exécution de commande à distance : Shellshock (CVE-2014-6271)
932180 Critique - 5 % PL1 Tentative de chargement de fichier limitée

Attaques par PHP

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
933100 Critique - 5 % PL1 Attaque par injection de code PHP : balise d’ouverture/fermeture détectée
933110 Critique - 5 % PL1 Attaque par injection de code PHP : Chargement de fichier de script PHP détecté
933120 Critique - 5 % PL1 Attaque par injection de code PHP : directive de configuration détectée
933130 Critique - 5 % PL1 Attaque par injection de code PHP : Variables détectées
933140 Critique - 5 % PL1 Attaque par injection de code PHP : Flux d’E/S détecté
933150 Critique - 5 % PL1 Attaque par injection de code PHP : nom de fonction PHP à risque élevé détecté
933151 Critique - 5 % PL2 Attaque par injection de code PHP : Nom de fonction PHP à risque moyen détecté
933160 Critique - 5 % PL1 Attaque par injection de code PHP : appel de fonction PHP à risque élevé détecté
933170 Critique - 5 % PL1 Attaque par injection de code PHP : Injection d’objet sérialisé
933180 Critique - 5 % PL1 Attaque par injection de code PHP : appel de fonction variable détecté
933200 Critique - 5 % PL1 Attaque par injection de code PHP : schéma de wrapper détecté
933210 Critique - 5 % PL1 Attaque par injection de code PHP : appel de fonction variable détecté

Attaques par Node.js

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
934100 Critique - 5 % PL1 Attaque par injection de code Node.js

XSS - Scripts intersites

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
941100 Critique - 5 % PL1 Attaque XSS détectée via libinjection
941101 Critique - 5 % PL2 Attaque XSS détectée via libinjection
Cette règle détecte les demandes avec un en-tête Referer
941110 Critique - 5 % PL1 Filtre XSS - Catégorie 1 : vecteur de balise de script
941120 Critique - 5 % PL1 Filtre XSS - Catégorie 2 : vecteur de gestionnaire d’événements
941130 Critique - 5 % PL1 Filtre XSS - Catégorie 3 : vecteur d’attribut
941140 Critique - 5 % PL1 Filtre XSS - Catégorie 4 : vecteur URI JavaScript
941150 Critique - 5 % PL2 Filtre XSS - Catégorie 5 : attributs HTML non autorisés
941160 Critique - 5 % PL1 NoScript XSS InjectionChecker : Injection de code HTML
941170 Critique - 5 % PL1 NoScript XSS InjectionChecker : Injection d’attribut
941180 Critique - 5 % PL1 Mots clés de la liste de refus du validateur de nœuds
941190 Critique - 5 % PL1 XSS utilisant des feuilles de style
941200 Critique - 5 % PL1 XSS utilisant des frames VML
941210 Critique - 5 % PL1 XSS utilisant du JavaScript obfusqué
941220 Critique - 5 % PL1 XSS utilisant du VB Script obfusqué
941230 Critique - 5 % PL1 XSS utilisant la balise « embed »
941240 Critique - 5 % PL1 XSS utilisant l’attribut « import » ou « implementation »
941250 Critique - 5 % PL1 Filtre XSS IE - Attaque détectée
941260 Critique - 5 % PL1 XSS utilisant la balise « meta »
941270 Critique - 5 % PL1 XSS utilisant le href « link »
941280 Critique - 5 % PL1 XSS utilisant la balise « base »
941290 Critique - 5 % PL1 XSS utilisant la balise « applet »
941300 Critique - 5 % PL1 XSS utilisant la balise « object »
941310 Critique - 5 % PL1 Filtre XSS d’encodage mal formé US-ASCII – Attaque détectée
941320 Critique - 5 % PL2 Possible attaque XSS détectée - Gestionnaire de balise HTML
941330 Critique - 5 % PL2 Filtre XSS IE - Attaque détectée
941340 Critique - 5 % PL2 Filtre XSS IE - Attaque détectée
941350 Critique - 5 % PL1 Encodage UTF-7 IE XSS – Attaque détectée
941360 Critique - 5 % PL1 Obfuscation JavaScript détectée
941370 Critique - 5 % PL1 Variable globale JavaScript détectée
941380 Critique - 5 % PL2 Injection de modèle côté client AngularJS détectée

SQLI - Injection de code SQL

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
942100 Critique - 5 % PL1 Attaque par injection de code SQL détectée via libinjection
942110 Avertissement - 3 PL2 Attaque par injection de code SQL : Test d’injection commune détecté
942120 Critique - 5 % PL2 Attaque par injection de code SQL : Opérateur SQL détecté
942130 Critique - 5 % PL2 Attaque par injection SQL : Détection de la tautologie SQL
942140 Critique - 5 % PL1 Attaque par injection de code SQL : noms de base de données courants détectés
942150 Critique - 5 % PL2 Attaque par injection de code SQL
942160 Critique - 5 % PL1 Détecte les tests sqli aveugles à l’aide de sleep() ou de benchmark()
942170 Critique - 5 % PL1 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 Critique - 5 % PL2 Détecte les tentatives de contournement d’authentification SQL de base 1/3
942190 Critique - 5 % PL1 Détecte les tentatives de collecte d’informations et de d’exécution de code MSSQL
942200 Critique - 5 % PL2 Détecte les injections MySQL de type comment-/space-obfuscated et d’accent grave
942210 Critique - 5 % PL2 Détecte les tentatives d’injection de code SQL chaîné 1/2
942220 Critique - 5 % PL1 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 Critique - 5 % PL1 Détecte des tentatives d’injection de code SQL conditionnel
942240 Critique - 5 % PL1 Détecte les tentatives de basculement de charset MySQL et d’attaque DoS MSSQL
942250 Critique - 5 % PL1 Détecte les injections de code MATCH AGAINST, MERGE et EXECUTE IMMEDIATE
942260 Critique - 5 % PL2 Détecte les tentatives de contournement d’authentification SQL de base 2/3
942270 Critique - 5 % PL1 Recherche d’injection de code SQL de base. Chaîne d’attaque courante pour mysql, oracle et autres
942280 Critique - 5 % PL1 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 Critique - 5 % PL1 Recherche de tentatives d’injection de code SQL MongoDB de base
942300 Critique - 5 % PL2 Détecte les injections de ch(a)r, les conditions et les commentaires MySQL
942310 Critique - 5 % PL2 Détecte des tentatives d’injection de code SQL chaîné 2/2
942320 Critique - 5 % PL1 Détecte des injections de fonctions/procédures stockées MySQL et PostgresSQL
942330 Critique - 5 % PL2 Détecte les sondes d’injection SQL classiques 1/2
942340 Critique - 5 % PL2 Détecte les tentatives de contournement d’authentification SQL de base 3/3
942350 Critique - 5 % PL1 Détecte l’injection de code UDF MySQL et autres tentatives de manipulation de données/structures
942360 Critique - 5 % PL1 Détecte l’injection SQL de base concaténée et les tentatives SQLLFI
942361 Critique - 5 % PL2 Détecte l’injection de code SQL de base par le biais du mot clé alter ou union
942370 Critique - 5 % PL2 Détecte les sondes d’injection SQL classiques 2/2
942380 Critique - 5 % PL2 Attaque par injection de code SQL
942390 Critique - 5 % PL2 Attaque par injection de code SQL
942400 Critique - 5 % PL2 Attaque par injection de code SQL
942410 Critique - 5 % PL2 Attaque par injection de code SQL
942430 Avertissement - 3 PL2 Détection restreinte d’anomalies de caractères SQL (args) : nombre de caractères spéciaux dépassés (12)
942440 Critique - 5 % PL2 Séquence de commentaire SQL détectée
942450 Critique - 5 % PL2 Encodage hexadécimal SQL identifié
942470 Critique - 5 % PL2 Attaque par injection de code SQL
942480 Critique - 5 % PL2 Attaque par injection de code SQL
942500 Critique - 5 % PL1 Commentaire en ligne MySQL détecté
942510 Critique - 5 % PL2 Tentative de contournement SQLi par apostrophes ou apostrophes inversées détectée.

SESSION-FIXATION

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
943100 Critique - 5 % PL1 Attaque possible par fixation de session : définition de valeurs de cookies en HTML
943110 Critique - 5 % PL1 Attaque possible par fixation de session : nom du paramètre SessionID avec référent hors domaine
943120 Critique - 5 % PL1 Attaque possible par fixation de session : nom du paramètre SessionID sans référent

Attaques par Java

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
944100 Critique - 5 % PL1 Exécution de commande à distance : Apache Struts, Oracle WebLogic
944110 Critique - 5 % PL1 Détecte l’exécution de charge utile potentielle
944120 Critique - 5 % PL1 Exécution de charge utile et de commande à distance possible
944130 Critique - 5 % PL1 Classes Java suspectes
944200 Critique - 5 % PL2 Exploitation de la désérialisation Java Apache Commons
944210 Critique - 5 % PL2 Utilisation possible de la sérialisation Java
944240 Critique - 5 % PL2 Exécution de commande à distance : sérialisation Java et vulnérabilité Log4j (CVE-2021-44228, CVE-2021-45046)
944250 Critique - 5 % PL2 Exécution de commande à distance : méthode Java suspecte détectée

MS-ThreatIntel-WebShells

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
99005002 Critique - 5 % PL2 Tentative d’interaction avec l’interpréteur de commandes web (POST)
99005003 Critique - 5 % PL2 Tentative de chargement de l’interpréteur de commandes web (POST) - CHOPPER PHP
99005004 Critique - 5 % PL2 Tentative de chargement de l’interpréteur de commandes web (POST) - CHOPPER ASPX
99005005 Critique - 5 % PL2 Tentative d’interaction avec l’interpréteur de commandes web
99005006 Critique - 5 % PL2 Tentative d’interaction Spring4Shell

MS-ThreatIntel-AppSec

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
99030001 Critique - 5 % PL2 Esquive par traversée de chemin dans les en-têtes (/.././../)
99030002 Critique - 5 % PL2 Esquive par traversée de chemin dans le corps de requête (/.././../)

MS-ThreatIntel-SQLI

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
99031001 Avertissement - 3 PL2 Attaque par injection de code SQL : Test d’injection commune détecté
99031002 Critique - 5 % PL2 Séquence de commentaire SQL détectée
99031003 Critique - 5 % PL2 Attaque par injection de code SQL
99031004 Critique - 5 % PL2 Détecte les tentatives de contournement d’authentification SQL de base 2/3

MS-ThreatIntel-CVEs

Identificateur de la règle Gravité du score d’anomalie Niveau de paranoïa Descriptif
99001001 Critique - 5 % PL2 Tentative d’exploitation de l’API REST (CVE-2020-5902) tmui de F5 avec des informations d’identification connues
99001002 Critique - 5 % PL2 Tentative d’attaque par traversée de répertoire Citrix NSC_USER CVE-2019-19781
99001003 Critique - 5 % PL2 Tentative d’exploitation du connecteur de widget Atlassian Confluence CVE-2019-3396
99001004 Critique - 5 % PL2 Tentative d’exploitation de modèle personnalisé Pulse Secure CVE-2020-8243
99001005 Critique - 5 % PL2 Tentative d’exploitation du convertisseur de type SharePoint CVE-2020-0932
99001006 Critique - 5 % PL2 Tentative d’attaque par traversée de répertoire Pulse Connect CVE-2019-11510
99001007 Critique - 5 % PL2 Tentative d’inclusion de fichier local Junos OS J-Web CVE-2020-1631
99001008 Critique - 5 % PL2 Tentative d’attaque par traversée de chemin Fortinet CVE-2018-13379
99001009 Critique - 5 % PL2 Tentative d’injection Apache struts ognl CVE-2017-5638
99001010 Critique - 5 % PL2 Tentative d’injection Apache struts ognl CVE-2017-12611
99001011 Critique - 5 % PL2 Tentative d’attaque par traversée de chemin Oracle WebLogic CVE-2020-14882
99001012 Critique - 5 % PL2 Tentative d’exploitation de désérialisation non sécurisée de Telerik WebUI CVE-2019-18935
99001013 Critique - 5 % PL2 Tentative de désérialisation XML non sécurisée de SharePoint CVE-2019-0604
99001014 Critique - 5 % PL2 Tentative d’injection d’expression de routage Spring Cloud CVE-2022-22963
99001015 Critique - 5 % PL2 Tentative d’exploitation d’objets de classe non sécurisée Spring Framework CVE-2022-22965
99001016 Critique - 5 % PL2 Tentative d’injection d’actionneur Spring Cloud Gateway CVE-2022-22947
99001017* N/A N/A 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.

Les ensembles de règles suivants : groupes et règles CRS 3.0 et CRS 2.2.9 ne sont plus pris en charge dans azure Web Application Firewall sur Application Gateway. Nous vous recommandons de procéder à la mise à niveau vers DRS 2.1 / CRS 3.2

Ensembles de règles 3.0

Général

ID de la règle Descriptif
200004 Possible limite multipart sans correspondance.

KNOWN-CVES

ID de la règle Descriptif
800100 Règle pour détecter et contrer la vulnérabilité log4j CVE-2021-44228, CVE-2021-45046
800110 Tentative d’interaction Spring4Shell
800111 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

REQUEST-911-METHOD-ENFORCEMENT

ID de la règle Descriptif
911100 La méthode n’est pas autorisée par la stratégie

REQUEST-913-SCANNER-DETECTION

ID de la règle Descriptif
913100 Détection d’agent utilisateur associé au scanner de sécurité
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é
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

REQUEST-920-PROTOCOL-ENFORCEMENT

ID de la règle Descriptif
920100 Ligne de requête HTTP non valide
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 GET ou HEAD Request with Body Content
920180 En-tête de longueur de contenu manquant de la requête POST
920190 Range = Dernière valeur d’octet non valide
920210 Données d’en-tête de connexion multiples/conflictuelles trouvées
920220 Tentative d’attaque abusive d’encodage d’URL
920240 Tentative d’attaque abusive d’encodage d’URL
920250 Tentative d’attaque abusive d’encodage UTF8
920260 Tentative d’attaque abusive Pleine/Moyenne largeur Unicode
920270 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 Descriptif
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 Descriptif
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 Descriptif
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 Descriptif
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 Descriptif
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 Descriptif
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 »
941260 XSS utilisant la balise « meta »
941270 XSS utilisant le href « link »
941280 XSS utilisant la balise « base »
941290 XSS utilisant la balise « applet »
941300 XSS utilisant la balise « object »
941310 Filtre XSS d’encodage mal formé US-ASCII – Attaque détectée
941330 Filtre XSS IE - Attaque détectée
941340 Filtre XSS IE - Attaque détectée
941350 Encodage UTF-7 IE XSS – Attaque détectée
941320 Possible attaque XSS détectée - Gestionnaire de balise HTML

REQUEST-942-APPLICATION -ATTACK-SQLI

ID de la règle Descriptif
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é
942130 Attaque par injection SQL : Détection de la tautologie SQL
942140 Attaque par injection de code SQL = Noms de base de données courants détectés
942160 Détecte les tests sqli aveugles à l’aide de sleep() ou de benchmark()
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
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
942230 Détecte des tentatives d’injection de code SQL conditionnel
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 entre autres
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
942370 Détecte les sondes d’injection SQL classiques 2/2
942150 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é
942251 Détecte des injections de code HAVING
942460 Alerte de détection d’anomalies de métacaractères - Caractères non textuels répétitifs

REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION

ID de la règle Descriptif
943100 Possible attaque par fixation de session = Définition de valeurs de cookies en HTML
943110 Possible attaque par fixation de session = Nom du paramètre SessionID avec référent hors domaine
943120 Possible attaque par fixation de session = Nom du paramètre SessionID sans référent