Web Application Firewall CRS-regelgroepen en -regels

Application Gateway WAF (Web Application Firewall) beschermt webtoepassingen tegen veelvoorkomende beveiligingsproblemen en aanvallen. Dit gebeurt via regels die zijn gedefinieerd op basis van de OWASP-kernregel stelt 3.2, 3.1, 3.0 of 2.2.9 in. Deze regels kunnen op regelbasis worden uitgeschakeld. Dit artikel bevat de huidige regels en regelsets die worden aangeboden. In de zeldzame gevallen dat een gepubliceerde regelset moet worden bijgewerkt, wordt deze hier beschreven.

Core Rule Sets

De Application Gateway WAF is standaard vooraf geconfigureerd met CRS 3.1, maar u kunt ervoor kiezen om een andere ondersteunde CRS-versie te gebruiken.

CRS 3.2 biedt een nieuwe engine en nieuwe regelsets die bescherming bieden tegen Java-infecties, een eerste set controles voor het uploaden van bestanden en minder fout-positieven in vergelijking met eerdere versies van CRS. U kunt ook regels aanpassen aan uw behoeften. Meer informatie over de nieuwe Azure WAF-engine.

Regels beheren

WaF beschermt tegen de volgende webproblemen:

  • SQL-injectieaanvallen
  • Scriptaanvallen op meerdere sites
  • Andere veelvoorkomende aanvallen, zoals opdrachtinjectie, HTTP-aanvraagsmokkel, HTTP-antwoord splitsen en opname van externe bestanden
  • Schendingen van HET HTTP-protocol
  • Afwijkingen van HET HTTP-protocol, zoals ontbrekende hostgebruikersagent en accepteren headers
  • Bots, crawlers en scanners
  • Veelvoorkomende onjuiste configuraties van toepassingen (bijvoorbeeld Apache en IIS)

OWASP CRS 3.2

CRS 3.2 bevat 14 regelgroepen, zoals wordt weergegeven in de volgende tabel. Elke groep bevat meerdere regels, die kunnen worden uitgeschakeld.

Notitie

CRS 3.2 is alleen beschikbaar op de WAF_v2 SKU. Omdat CRS 3.2 wordt uitgevoerd op de nieuwe Azure WAF-engine, kunt u geen downgrade uitvoeren naar CRS 3.1 of eerder. Als u een downgrade wilt uitvoeren, neemt u contact op met de ondersteuning van Azure.

Regelgroep Beschrijving
Algemeen Algemene groep
BEKENDE CVES Help bij het detecteren van nieuwe en bekende CVE's
REQUEST-911-METHOD-ENFORCEMENT Vergrendelingsmethoden (PUT, PATCH)
REQUEST-913-SCANNER-DETECTION Bescherming tegen poort- en omgevingsscanners
REQUEST-920-PROTOCOL-ENFORCEMENT Beveiligen tegen protocol- en coderingsproblemen
REQUEST-921-PROTOCOL-ATTACK Bescherming tegen koptekstinjectie, smokkel aanvragen en antwoord splitsen
REQUEST-930-APPLICATION-ATTACK-LFI Beveiligen tegen bestands- en padaanvallen
REQUEST-931-APPLICATION-ATTACK-RFI Beveiligen tegen RFI-aanvallen (Remote File Inclusion)
REQUEST-932-APPLICATION-ATTACK-RCE Opnieuw aanvallen op uitvoering van externe code beveiligen
REQUEST-933-APPLICATION-ATTACK-PHP Bescherming tegen PHP-injectieaanvallen
REQUEST-941-APPLICATION-ATTACK-XSS Beveiligen tegen aanvallen op scripts op meerdere sites
REQUEST-942-APPLICATION-ATTACK-SQLI Bescherming tegen SQL-injectieaanvallen
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION Bescherming tegen sessiefixatieaanvallen
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVA Beveiligen tegen JAVA-aanvallen

OWASP CRS 3.1

CRS 3.1 bevat 14 regelgroepen, zoals wordt weergegeven in de volgende tabel. Elke groep bevat meerdere regels, die kunnen worden uitgeschakeld.

Notitie

CRS 3.1 is alleen beschikbaar op de WAF_v2 SKU.

Regelgroep Beschrijving
Algemeen Algemene groep
BEKENDE CVES Help bij het detecteren van nieuwe en bekende CVE's
REQUEST-911-METHOD-ENFORCEMENT Vergrendelingsmethoden (PUT, PATCH)
REQUEST-913-SCANNER-DETECTION Bescherming tegen poort- en omgevingsscanners
REQUEST-920-PROTOCOL-ENFORCEMENT Beveiligen tegen protocol- en coderingsproblemen
REQUEST-921-PROTOCOL-ATTACK Bescherming tegen koptekstinjectie, smokkel aanvragen en antwoord splitsen
REQUEST-930-APPLICATION-ATTACK-LFI Beveiligen tegen bestands- en padaanvallen
REQUEST-931-APPLICATION-ATTACK-RFI Beveiligen tegen RFI-aanvallen (Remote File Inclusion)
REQUEST-932-APPLICATION-ATTACK-RCE Opnieuw aanvallen op uitvoering van externe code beveiligen
REQUEST-933-APPLICATION-ATTACK-PHP Bescherming tegen PHP-injectieaanvallen
REQUEST-941-APPLICATION-ATTACK-XSS Beveiligen tegen aanvallen op scripts op meerdere sites
REQUEST-942-APPLICATION-ATTACK-SQLI Bescherming tegen SQL-injectieaanvallen
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION Bescherming tegen sessiefixatieaanvallen
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVA Beveiligen tegen JAVA-aanvallen

OWASP CRS 3.0

CRS 3.0 bevat 13 regelgroepen, zoals wordt weergegeven in de volgende tabel. Elke groep bevat meerdere regels, die kunnen worden uitgeschakeld.

Regelgroep Beschrijving
Algemeen Algemene groep
BEKENDE CVES Help bij het detecteren van nieuwe en bekende CVE's
REQUEST-911-METHOD-ENFORCEMENT Vergrendelingsmethoden (PUT, PATCH)
REQUEST-913-SCANNER-DETECTION Bescherming tegen poort- en omgevingsscanners
REQUEST-920-PROTOCOL-ENFORCEMENT Beveiligen tegen protocol- en coderingsproblemen
REQUEST-921-PROTOCOL-ATTACK Bescherming tegen koptekstinjectie, smokkel aanvragen en antwoord splitsen
REQUEST-930-APPLICATION-ATTACK-LFI Beveiligen tegen bestands- en padaanvallen
REQUEST-931-APPLICATION-ATTACK-RFI Beveiligen tegen RFI-aanvallen (Remote File Inclusion)
REQUEST-932-APPLICATION-ATTACK-RCE Opnieuw aanvallen op uitvoering van externe code beveiligen
REQUEST-933-APPLICATION-ATTACK-PHP Bescherming tegen PHP-injectieaanvallen
REQUEST-941-APPLICATION-ATTACK-XSS Beveiligen tegen aanvallen op scripts op meerdere sites
REQUEST-942-APPLICATION-ATTACK-SQLI Bescherming tegen SQL-injectieaanvallen
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION Bescherming tegen sessiefixatieaanvallen

OWASP CRS 2.2.9

CRS 2.2.9 bevat 10 regelgroepen, zoals wordt weergegeven in de volgende tabel. Elke groep bevat meerdere regels, die kunnen worden uitgeschakeld.

Notitie

CRS 2.2.9 wordt niet meer ondersteund voor nieuwe WAF-beleidsregels. U wordt aangeraden een upgrade uit te voeren naar de nieuwste CRS-versie.

Regelgroep Beschrijving
crs_20_protocol_violations Beveiligen tegen protocolschendingen (zoals ongeldige tekens of een GET met een aanvraagbody)
crs_21_protocol_anomalies Beveiligen tegen onjuiste headergegevens
crs_23_request_limits Beveiligen tegen argumenten of bestanden die de beperkingen overschrijden
crs_30_http_policy Beveiligen tegen beperkte methoden, headers en bestandstypen
crs_35_bad_robots Beveiligen tegen webcrawlers en scanners
crs_40_generic_attacks Bescherming tegen algemene aanvallen (zoals sessiefixatie, opname van externe bestanden en PHP-injectie)
crs_41_sql_injection_attacks Bescherming tegen SQL-injectieaanvallen
crs_41_xss_attacks Beveiligen tegen aanvallen op scripts op meerdere sites
crs_42_tight_security Beveiligen tegen pad-doorkruisingsaanvallen
crs_45_trojans Beschermen tegen backdoor trojans

De volgende regelgroepen en regels zijn beschikbaar wanneer u Web Application Firewall op Application Gateway gebruikt.

3.2 regelsets

Algemeen

RuleId Beschrijving
200002 Kan aanvraagbody niet parseren.
200003 Strikte validatie van aanvraagbody voor meerdere onderdelen.
200004 Mogelijke niet-overeenkomende grens van meerdere partijen.

BEKENDE CVES

RuleId Beschrijving
800100 Regel voor het detecteren en beperken van log4j-beveiligingsproblemen CVE-2021-44228, CVE-2021-45046
800110 Spring4Shell-interactiepoging
800111 Poging tot injectie van Spring Cloud-routeringsexpressie - CVE-2022-22963
800112 Poging tot misbruik van spring Framework-onveilig klasseobject - CVE-2022-22965
800113 Poging tot injectie van Spring Cloud Gateway Actuator - CVE-2022-22947

REQUEST-911-METHOD-ENFORCEMENT

RuleId Beschrijving
911100 Methode is niet toegestaan door beleid

REQUEST-913-SCANNER-DETECTION

RuleId Beschrijving
913100 Gevonden User-Agent gekoppeld aan beveiligingsscanner
913101 Gevonden User-Agent gekoppeld aan scripting/algemene HTTP-client
913102 Gevonden User-Agent gekoppeld aan webcrawler/bot
913110 Aanvraagheader gevonden die is gekoppeld aan de beveiligingsscanner
913120 Bestandsnaam/argument van aanvraag gevonden die is gekoppeld aan de beveiligingsscanner

REQUEST-920-PROTOCOL-ENFORCEMENT

RuleId Beschrijving
920100 Ongeldige HTTP-aanvraagregel
920120 Poging tot bypass van meerdere onderdelen/formuliergegevens
920121 Poging tot bypass van meerdere onderdelen/formuliergegevens
920160 HTTP-header met lengte van inhoud is niet numeriek.
920170 GET- of HEAD-aanvraag met hoofdtekstinhoud.
920171 GET- of HEAD-aanvraag met overdrachtscodering.
920180 POST-aanvraag ontbreekt in de header Content-Length.
920190 Bereik: Ongeldige laatste bytewaarde.
920200 Bereik: Te veel velden (6 of meer)
920201 Bereik: Te veel velden voor pdf-aanvraag (35 of meer)
920202 Bereik: Te veel velden voor pdf-aanvraag (6 of meer)
920210 Er zijn meerdere/conflicterende verbindingsheadergegevens gevonden.
920220 Aanvalspoging voor URL-codering
920230 Meerdere URL-codering gedetecteerd
920240 Aanvalspoging voor URL-codering
920250 UTF8-aanvalspoging
920260 Aanvalspoging met unicode-volledige/halve breedte
920270 Ongeldig teken in aanvraag (null-teken)
920271 Ongeldig teken in aanvraag (niet-afdrukbare tekens)
920272 Ongeldig teken in aanvraag (buiten afdrukbare tekens onder ascii 127)
920273 Ongeldig teken in aanvraag (buiten zeer strikte set)
920274 Ongeldig teken in aanvraagheaders (buiten zeer strikte set)
920280 Aanvraag ontbrekende hostheader
920290 Lege hostheader
920300 Aanvraag ontbreekt in een acceptheader
920310 Aanvraag heeft een lege acceptheader
920311 Aanvraag heeft een lege acceptheader
920320 Header van gebruikersagent ontbreekt
920330 Lege header van gebruikersagent
920340 Aanvraag met inhoud, maar koptekst inhoud ontbreekt
920341 Voor aanvragen met inhoud is een inhoudstypeheader vereist
920350 Hostheader is een numeriek IP-adres
920420 Inhoudstype aanvragen is niet toegestaan op beleid
920430 Http-protocolversie is niet toegestaan door beleid
920440 URL-bestandsextensie is beperkt door beleid
920450 HTTP-header is beperkt door beleid (%{MATCHED_VAR})
920460 Abnormale escape-tekens
920470 Ongeldige header voor inhoudstype
920480 De parameter Charset binnen de header van het inhoudstype beperken

REQUEST-921-PROTOCOL-ATTACK

RuleId Beschrijving
921110 HTTP-aanvraag smokkelaanval
921120 HTTP-antwoord splitsen aanval
921130 HTTP-antwoord splitsen aanval
921140 HTTP-headerinjectieaanval via headers
921150 HTTP-headerinjectieaanval via nettolading (CR/LF gedetecteerd)
921151 HTTP-headerinjectieaanval via nettolading (CR/LF gedetecteerd)
921160 HTTP Header Injection Attack via payload (CR/LF en header-name gedetecteerd)
921170 HTTP-parametervervuiling
921180 HTTP-parametervervuiling (%{TX.1})

REQUEST-930-APPLICATION-ATTACK-LFI

RuleId Beschrijving
930100 Path Traversal Attack (/.. /)
930110 Path Traversal Attack (/.. /)
930120 Poging tot toegang tot besturingssysteembestand
930130 Poging tot beperkte bestandstoegang

REQUEST-931-APPLICATION-ATTACK-RFI

RuleId Beschrijving
931100 Mogelijke RFI-aanval (Remote File Inclusion): URL-parameter met IP-adres
931110 Mogelijke RFI-aanval (Remote File Inclusion): Common RFI Vulnerable Parameter Name used w/URL Payload
931120 Mogelijke RFI-aanval (Remote File Inclusion): URL Payload Used w/Trailing Question Mark Character (?)
931130 Mogelijke RFI-aanval (Remote File Inclusion): Off-Domain Reference/Link

REQUEST-932-APPLICATION-ATTACK-RCE

RuleId Beschrijving
932100 Uitvoering van externe opdracht: Unix-opdrachtinjectie
932105 Uitvoering van externe opdracht: Unix-opdrachtinjectie
932106 Uitvoering van externe opdracht: Unix-opdrachtinjectie
932110 Uitvoering van externe opdracht: Windows-opdrachtinjectie
932115 Uitvoering van externe opdracht: Windows-opdrachtinjectie
932120 Uitvoering van externe opdracht: Windows PowerShell opdracht gevonden
932130 Uitvoering van externe opdracht: Unix Shell-expressie of Confluence-beveiligingsprobleem (CVE-2022-26134) gevonden
932140 Uitvoering van externe opdracht: Windows FOR/IF-opdracht gevonden
932150 Uitvoering van externe opdracht: directe unix-opdrachtuitvoering
932160 Uitvoering van externe opdracht: Unix Shell-code gevonden
932170 Uitvoering van externe opdracht: Shellshock (CVE-2014-6271)
932171 Uitvoering van externe opdracht: Shellshock (CVE-2014-6271)
932180 Poging tot uploaden van beperkt bestand
932190 Uitvoering van externe opdracht: techniek voor het omzeilen van jokertekens

REQUEST-933-APPLICATION-ATTACK-PHP

RuleId Beschrijving
933100 PHP-injectieaanval: openen/sluiten tag gevonden
933110 PHP-injectieaanval: UPLOAD van PHP-scriptbestand gevonden
933111 PHP-injectieaanval: UPLOAD van PHP-scriptbestand gevonden
933120 PHP-injectieaanval: configuratierichtlijn gevonden
933130 PHP-injectieaanval: variabelen gevonden
933131 PHP-injectieaanval: variabelen gevonden
933140 PHP-injectieaanval: I/O Stream gevonden
933150 PHP-injectieaanval: High-Risk PHP-functienaam gevonden
933151 PHP-injectieaanval: Medium-Risk PHP-functienaam gevonden
933160 PHP-injectieaanval: High-Risk PHP-functieaanroep gevonden
933161 PHP-injectieaanval: Low-Value PHP-functieaanroep gevonden
933170 PHP-injectieaanval: geserialiseerde objectinjectie
933180 PHP-injectieaanval: variabele functieaanroep gevonden
933190 PHP-injectieaanval: PHP-sluitingstag gevonden
933200 PHP-injectieaanval: Wrapper-schema gedetecteerd
933210 PHP-injectieaanval: variabele functieaanroep gevonden

REQUEST-941-APPLICATION-ATTACK-XSS

RuleId Beschrijving
941100 XSS-aanval gedetecteerd via libinjection
941101 XSS-aanval gedetecteerd via libinjection.
941110 XSS-filter - Categorie 1: Script Tag Vector
941120 XSS-filter - categorie 2: Gebeurtenishandlervector
941130 XSS-filter - categorie 3: kenmerkvector
941140 XSS-filter - categorie 4: JavaScript-URI-vector
941150 XSS-filter - categorie 5: Niet-toegestane HTML-kenmerken
941160 NoScript XSS InjectionChecker: HTML-injectie
941170 NoScript XSS InjectionChecker: Kenmerkinjectie
941180 Node-Validator trefwoorden op de zwarte lijst
941190 XSS met opmaakmodellen
941200 XSS met VML-frames
941210 XSS met verborgen JavaScript
941220 XSS met verborgen VB-script
941230 XSS met de tag 'insluiten'
941240 XSS met het kenmerk Import of Implementation
941250 IE XSS-filters - Aanval gedetecteerd.
941260 XSS met behulp van metatag
941270 XSS met 'link' href
941280 XSS met behulp van de tag Base
941290 XSS met de tag 'applet'
941300 XSS met behulp van objecttag
941310 US-ASCII Malformed Encoding XSS Filter - Aanval gedetecteerd.
941320 Mogelijke XSS-aanval gedetecteerd - HTML-taghandler
941330 IE XSS-filters - Aanval gedetecteerd.
941340 IE XSS-filters - Aanval gedetecteerd.
941350 UTF-7 Codering IE XSS - Aanval gedetecteerd.
941360 Gedetecteerde JavaScript-verdoofing.

REQUEST-942-APPLICATION-ATTACK-SQLI

RuleId Beschrijving
942100 SQL-injectieaanval gedetecteerd via libinjection
942110 SQL-injectieaanval: Veelvoorkomende injectietests gedetecteerd
942120 SQL-injectieaanval: SQL-operator gedetecteerd
942130 SQL-injectieaanval: SQL Tautology gedetecteerd.
942140 SQL-injectieaanval: Algemene DB-namen gedetecteerd
942150 SQL-injectieaanval
942160 Detecteert blinde SQLI-tests met behulp van sleep() of benchmark().
942170 Detecteert SQL-benchmark- en slaapinjectiepogingen, inclusief voorwaardelijke query's
942180 Detecteert eenvoudige pogingen om SQL-verificatie te omzeilen 1/3
942190 Detecteert het uitvoeren van MSSQL-code en het verzamelen van gegevens
942200 Detecteert MySQL comment-/space-obfuscated injections and backtick termination
942210 Detecteert gekoppelde SQL-injectiepogingen 1/2
942220 Op zoek naar overloopaanvallen voor gehele getallen, worden deze genomen van skipfish, met uitzondering van 3.0.00738585072007e-308 is het 'magic number' crash
942230 Detecteert voorwaardelijke SQL-injectiepogingen
942240 Detecteert mySQL-tekensetswitch en MSSQL DoS-pogingen
942250 Detecteert MATCH AGAINST, MERGE en EXECUTE IMMEDIATE injecties
942251 Detecteert HAVING-injecties
942260 Detecteert eenvoudige pogingen om SQL-verificatie te omzeilen 2/3
942270 Op zoek naar eenvoudige SQL-injectie. Veelvoorkomende aanvalsreeks voor mysql, oracle en andere.
942280 Detecteert Postgres pg_sleep injectie, waitfor delay attacks and database shutdown attempts
942290 Hiermee vindt u eenvoudige MongoDB SQL-injectiepogingen
942300 Detecteert MySQL-opmerkingen, -voorwaarden en ch(a)r-injecties
942310 Detecteert gekoppelde SQL-injectiepogingen 2/2
942320 Detecteert opgeslagen procedure/functieinjecties in MySQL en PostgreSQL
942330 Detecteert klassieke SQL-injectieprobings 1/2
942340 Detecteert eenvoudige pogingen om SQL-verificatie te omzeilen 3/3
942350 Detecteert MySQL UDF-injectie en andere pogingen tot manipulatie van gegevens/structuur
942360 Detecteert samengevoegde SQL-injectie en SQLLFI-pogingen
942361 Detecteert eenvoudige SQL-injectie op basis van het wijzigen of samenvoegen van trefwoorden
942370 Detecteert klassieke SQL-injectieprobings 2/2
942380 SQL-injectieaanval
942390 SQL-injectieaanval
942400 SQL-injectieaanval
942410 SQL-injectieaanval
942420 Detectie van beperkte SQL-tekens (cookies): aantal speciale tekens overschreden (8)
942421 Beperkte anomaliedetectie van SQL-tekens (cookies): aantal speciale tekens overschreden (3)
942430 Beperkte anomaliedetectie van SQL-tekens (args): aantal speciale tekens overschreden (12)
942431 Beperkte anomaliedetectie van SQL-tekens (args): aantal speciale tekens overschreden (6)
942432 Beperkte anomaliedetectie van SQL-tekens (args): aantal speciale tekens overschreden (2)
942440 SQL-opmerkingenreeks gedetecteerd.
942450 Geïdentificeerde SQL-hexcodering
942460 Meta-Character Waarschuwing voor anomaliedetectie - terugkerende niet-Word-tekens
942470 SQL-injectieaanval
942480 SQL-injectieaanval
942490 Detecteert klassieke SQL-injectieprobings 3/3
942500 MySQL-in-line opmerking gedetecteerd.

REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION

RuleId Beschrijving
943100 Mogelijke sessiefixatieaanval: cookiewaarden instellen in HTML
943110 Mogelijke sessiefixatieaanval: Naam van sessie-id-parameter met Off-Domain referer
943120 Mogelijke sessiefixatie-aanval: naam sessie-id-parameter zonder verwijzing

REQUEST-944-APPLICATION-ATTACK-JAVA

RuleId Beschrijving
944100 Uitvoering van externe opdracht: Apache Struts, Oracle WebLogic
944110 Detecteert mogelijke nettoladinguitvoering
944120 Mogelijke uitvoering van nettolading en uitvoering van externe opdrachten
944130 Verdachte Java-klassen
944200 Exploitatie van Java-deserialisatie Apache Commons
944210 Mogelijk gebruik van Java-serialisatie
944240 Uitvoering van externe opdracht: Java-serialisatie
944250 Uitvoering van externe opdracht: Verdachte Java-methode gedetecteerd
944300 Base64-gecodeerde tekenreeks komt overeen met verdacht trefwoord

Volgende stappen