Web Application Firewall CRS-regelgroepen en -regels

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

Core Rule Sets

De Application Gateway WAF is standaard vooraf geconfigureerd met CRS 3.0. Maar u kunt in plaats daarvan CRS 3.2, 3.1 of 2.2.9 gebruiken.

CRS 3.2 (openbare preview) biedt een nieuwe engine en nieuwe regelsets die bescherming bieden tegen Java-infecties, een eerste set bestanduploadcontroles, opgeloste fout-positieven en meer.

CRS 3.1 biedt minder fout-positieven in vergelijking met CRS 3.0 en 2.2.9. U kunt ook regels aanpassen aan uw behoeften.

Beheert regels

De WAF beschermt tegen de volgende beveiligingsproblemen op internet:

  • SQL-injectieaanvallen
  • Cross-site scripting-aanvallen
  • Andere veelvoorkomende aanvallen, zoals opdrachtinjectie, splitsing van HTTP-aanvragen, splitsen van HTTP-antwoorden en externe bestandsinsluiting
  • SCHENDINGEN VAN HTTP-protocol
  • HTTP-protocolafwijkingen, zoals ontbrekende hostgebruikersagent en accepteren van headers
  • Bots, crawlers en scanners
  • Veelvoorkomende onjuiste configuraties van toepassingen (bijvoorbeeld Apache en IIS)

OWASP CRS 3.2 (openbare preview)

CRS 3.2 bevat 13 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.

Regelgroep Beschrijving
Algemeen Algemene groep
REQUEST-911-METHOD-ENFORCEMENT Vergrendelingsmethoden (PUT, PATCH)
REQUEST-913-SCANNER-DETECTION Beveiligen tegen poort- en omgevingsscanners
REQUEST-920-PROTOCOL-ENFORCEMENT Bescherming tegen protocol- en coderingsproblemen
REQUEST-921-PROTOCOL-ATTACK Beveiligen tegen headerinjectie, aanvraagverplaatsing en het splitsen van antwoorden
REQUEST-930-APPLICATION-ATTACK-LFI Beschermen tegen bestands- en padaanvallen
REQUEST-931-APPLICATION-ATTACK-RFI Bescherming tegen RFI-aanvallen (Remote File Inclusion)
REQUEST-932-APPLICATION-ATTACK-RCE Opnieuw externe aanvallen voor code-uitvoering beveiligen
REQUEST-933-APPLICATION-ATTACK-PHP Bescherming tegen PHP-injectieaanvallen
REQUEST-941-APPLICATION-ATTACK-XSS Bescherming tegen cross-site scripting-aanvallen
REQUEST-942-APPLICATION-ATTACK-SQLI Bescherming tegen SQL-injectieaanvallen
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION Bescherming tegen sessiefixatieaanvallen
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVA Bescherming tegen JAVA-aanvallen

OWASP CRS 3.1

CRS 3.1 bevat 13 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
REQUEST-911-METHOD-ENFORCEMENT Vergrendelingsmethoden (PUT, PATCH)
REQUEST-913-SCANNER-DETECTION Beveiligen tegen poort- en omgevingsscanners
REQUEST-920-PROTOCOL-ENFORCEMENT Bescherming tegen protocol- en coderingsproblemen
REQUEST-921-PROTOCOL-ATTACK Beveiligen tegen headerinjectie, aanvraagverplaatsing en het splitsen van antwoorden
REQUEST-930-APPLICATION-ATTACK-LFI Beschermen tegen bestands- en padaanvallen
REQUEST-931-APPLICATION-ATTACK-RFI Bescherming tegen RFI-aanvallen (Remote File Inclusion)
REQUEST-932-APPLICATION-ATTACK-RCE Opnieuw externe aanvallen voor code-uitvoering beveiligen
REQUEST-933-APPLICATION-ATTACK-PHP Bescherming tegen PHP-injectieaanvallen
REQUEST-941-APPLICATION-ATTACK-XSS Bescherming tegen cross-site scripting-aanvallen
REQUEST-942-APPLICATION-ATTACK-SQLI Bescherming tegen SQL-injectieaanvallen
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION Bescherming tegen sessiefixatieaanvallen
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVA Bescherming tegen JAVA-aanvallen

OWASP CRS 3.0

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

Regelgroep Beschrijving
Algemeen Algemene groep
REQUEST-911-METHOD-ENFORCEMENT Vergrendelingsmethoden (PUT, PATCH)
REQUEST-913-SCANNER-DETECTION Beveiligen tegen poort- en omgevingsscanners
REQUEST-920-PROTOCOL-ENFORCEMENT Bescherming tegen protocol- en coderingsproblemen
REQUEST-921-PROTOCOL-ATTACK Beveiligen tegen headerinjectie, aanvraagverplaatsing en het splitsen van antwoorden
REQUEST-930-APPLICATION-ATTACK-LFI Beschermen tegen bestands- en padaanvallen
REQUEST-931-APPLICATION-ATTACK-RFI Bescherming tegen RFI-aanvallen (Remote File Inclusion)
REQUEST-932-APPLICATION-ATTACK-RCE Opnieuw externe aanvallen voor code-uitvoering beveiligen
REQUEST-933-APPLICATION-ATTACK-PHP Bescherming tegen PHP-injectieaanvallen
REQUEST-941-APPLICATION-ATTACK-XSS Bescherming tegen cross-site scripting-aanvallen
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.

Regelgroep Beschrijving
crs_20_protocol_violations Beveiligen tegen schendingen van protocollen (zoals ongeldige tekens of een GET met een aanvraag body)
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 Bescherming tegen web-crawlers en scanners
crs_40_generic_attacks Bescherming tegen algemene aanvallen (zoals sessiefixatie, externe bestandsinsluiting en PHP-injectie)
crs_41_sql_injection_attacks Bescherming tegen SQL-injectieaanvallen
crs_41_xss_attacks Bescherming tegen cross-site scripting-aanvallen
crs_42_tight_security Bescherming tegen pad-traversal-aanvallen
crs_45_trojans Beschermen tegen trojaanse paarden

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

3.2-regelsets

Algemene

RuleId Beschrijving
200004 Mogelijke niet-overeenkomende grens met meerdere onderdelen.

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 een beveiligingsscanner
913101 Er is User-Agent aan scripting/algemene HTTP-client gevonden
913102 Gevonden User-Agent gekoppeld aan web-crawler/bot
913110 Aanvraagheader gevonden die is gekoppeld aan beveiligingsscanner
913120 Bestandsnaam/argument van aanvraag gevonden die is gekoppeld aan beveiligingsscanner

REQUEST-920-PROTOCOL-ENFORCEMENT

RuleId Beschrijving
920100 Ongeldige HTTP-aanvraagregel
920120 Poging tot het omzeilen van meerdere delen/formuliergegevens
920121 Poging tot het omzeilen van meerdere delen/formuliergegevens
920160 Content-Length HTTP-header is niet numeriek.
920170 GET- of HEAD-aanvraag met hoofdinhoud.
920171 GET- of HEAD-aanvraag met transfer-encoding.
920180 POST-aanvraag ontbreekt Content-Length-header.
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 Poging tot misbruik van URL-codering
920230 Meerdere URL-codering gedetecteerd
920240 Poging tot misbruik van URL-codering
920250 UTF8 Encoding Abuse Attack Attempt
920260 Poging tot misbruik van 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 een zeer strikte set)
920274 Ongeldig teken in aanvraagheaders (buiten een zeer strikte set)
920280 Aanvraag voor ontbrekende hostheader
920290 Lege hostheader
920310 Aanvraag heeft een lege accept-header
920311 Aanvraag heeft een lege accept-header
920320 Header van ontbrekende gebruikersagent
920330 Lege gebruikersagentheader
920340 Aanvraag met inhoud, maar ontbrekende content-type header
920341 Aanvraag met inhoud vereist Content-Type-header
920350 Hostheader is een numeriek IP-adres
920420 Inhoudstype aanvraag is niet toegestaan door beleid
920430 Http-protocolversie is niet toegestaan door beleid
920440 URL-bestandsextensie wordt beperkt door beleid
920450 HTTP-header wordt beperkt door beleid (%{MATCHED_VAR})
920460 Abnormale escape-tekens
920470 Illegal Content-Type header
920480 De parameter charset in de header content-type beperken

REQUEST-921-PROTOCOL-ATTACK

RuleId Beschrijving
921110 HTTP-aanvraaginfarct
921120 Splitsingsaanval met HTTP-antwoord
921130 Splitsingsaanval met HTTP-antwoord
921140 HTTP-headerinjectieaanval via headers
921150 HTTP-headerinjectieaanval via nettolading (CR/LF gedetecteerd)
921151 HTTP-headerinjectieaanval via nettolading (CR/LF gedetecteerd)
921160 HTTP-headerinjectieaanval via payload (CR/LF en header-name gedetecteerd)
921170 Http-parameterbelasting
921180 Http-parameterbelasting (%{TX.1})

REQUEST-930-APPLICATION-ATTACK-LFI

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

REQUEST-931-APPLICATION-ATTACK-RFI

RuleId Beschrijving
931100 Mogelijke RFI-aanval (Remote File Inclusion) : URL-parameter met BEHULP van IP-adres
931110 Possible Remote File Inclusion (RFI) Attack: 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 Possible Remote File Inclusion (RFI) Attack: Off-Domain Reference/Link

REQUEST-932-APPLICATION-ATTACK-RCE

RuleId Beschrijving
932100 Externe opdrachtuitvoering: Unix-opdrachtinjectie
932105 Externe opdrachtuitvoering: Unix-opdrachtinjectie
932106 Externe opdrachtuitvoering: Unix-opdrachtinjectie
932110 Externe opdrachtuitvoering: Windows opdrachtinjectie
932115 Externe opdrachtuitvoering: Windows opdrachtinjectie
932120 Uitvoering externe opdracht: Windows PowerShell opdracht gevonden
932130 Externe opdrachtuitvoering: Unix Shell-expressie gevonden
932140 Externe opdrachtuitvoering: Windows FOR/IF-opdracht gevonden
932150 Externe opdrachtuitvoering: Directe Unix-opdrachtuitvoering
932160 Uitvoering externe opdracht: Unix-shellcode gevonden
932170 Uitvoering externe opdracht: Shellstoot (CVE-2014-6271)
932171 Uitvoering externe opdracht: Shellstoot (CVE-2014-6271)
932180 Beperkte bestandspoging Upload proberen
932190 Uitvoering externe opdracht: poging tot het omzeilen van jokertekens

REQUEST-933-APPLICATION-ATTACK-PHP

RuleId Beschrijving
933100 PHP-injectieaanval: tag openen/sluiten gevonden
933110 PHP-injectieaanval: PHP-scriptbestand Upload gevonden
933111 PHP-injectieaanval: PHP-scriptbestand Upload gevonden
933120 PHP-injectieaanval: Configuratie-richtlijn gevonden
933130 PHP-injectieaanval: Gevonden variabelen
933131 PHP-injectieaanval: Gevonden variabelen
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-functie-aanroep gevonden
933161 PHP-injectieaanval: Low-Value PHP-functie-aanroep gevonden
933170 PHP-injectieaanval: geseraliseerde objectinjectie
933180 PHP-injectieaanval: Aanroep van variabele functie gevonden
933190 PHP-injectieaanval: PHP-afsluitende tag gevonden
933200 PHP-injectieaanval: Wrapper-schema gedetecteerd
933210 PHP-injectieaanval: Aanroep van variabele functie 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: scripttagvector
941120 XSS-filter - Categorie 2: Gebeurtenis-handlervector
941130 XSS-filter - Categorie 3: Kenmerkvector
941140 XSS-filter - Categorie 4: JavaScript URI Vector
941150 XSS-filter - Categorie 5: Niet-toegestaan HTML-kenmerken
941160 NoScript XSS InjectionChecker: HTML-injectie
941170 NoScript XSS InjectionChecker: kenmerkinjectie
941180 Node-Validator op de zwarte lijst met trefwoorden
941190 XSS met behulp van stijlbladen
941200 XSS met VML-frames
941210 XSS met behulp van obfuscated JavaScript
941220 XSS met behulp van een VB-script dat is ontsluierd
941230 XSS met de tag 'insluiten'
941240 XSS met het kenmerk 'import' of 'implementation'
941250 IE XSS-filters: aanval gedetecteerd.
941260 XSS met de tag 'meta'
941270 XSS met behulp van 'link' href
941280 XSS met de tag 'base'
941290 XSS met 'applet'-tag
941300 XSS met de tag 'object'
941310 US-ASCII Misformed Encoding XSS Filter - Attack Detected.
941320 Mogelijke XSS-aanval gedetecteerd - HTML-tag-handler
941330 IE XSS-filters: aanval gedetecteerd.
941340 IE XSS-filters: aanval gedetecteerd.
941350 UTF-7 Encoding IE XSS : aanval gedetecteerd.
941360 JavaScript-verduking gedetecteerd.

REQUEST-942-APPLICATION-ATTACK-SQLI

RuleId Beschrijving
942100 SQL Injectieaanval gedetecteerd via libinjection
942110 SQL Injectieaanval: Algemene injectietests gedetecteerd
942120 SQL Injectieaanval: SQL Operator gedetecteerd
942130 SQL Injectieaanval: SQL Detected.
942140 SQL Injectieaanval: Algemene DB-namen gedetecteerd
942150 SQL Injectieaanval
942160 Detecteert blind sqli-tests met behulp van sleep() of benchmark().
942170 Detecteert SQL benchmark- en slaapstandinjectiepogingen, inclusief voorwaardelijke query's
942180 Detecteert eenvoudige SQL pogingen om verificatie te omzeilen 1/3
942190 Detecteert de uitvoering van MSSQL-code en het verzamelen van gegevens
942200 Detecteert MySQL-opmerkingen/ruimte-verduinde injecties en backtick-beëindiging
942210 Detecteert pogingen om SQL 1/2 te injecteren
942220 Als u op zoek bent naar overloopaanvallen met gehele getallen, worden deze overgenomen uit skip skip door, behalve 3.0.00738585072007e-308 is het 'magic number'-crash
942230 Detecteert voorwaardelijke SQL injectiepogingen
942240 Detecteert MySQL Charset-switch en MSSQL DoS-pogingen
942250 Detecteert MATCH AGAINST-, MERGE- en EXECUTE IMMEDIATE-injecties
942251 Detecteert HAVING-injecties
942260 Detecteert eenvoudige pogingen SQL 2/3 om verificatie te omzeilen
942270 Op zoek naar sql-basisinjectie. Algemene aanvalsreeks voor mysql, oracle en andere.
942280 Detecteert Postgres-pg_sleep injectie, wacht op vertragingsaanvallen en pogingen om de database af te sluiten
942290 Zoekt basispogingen voor MongoDB-SQL injectiepogingen
942300 Detecteert MySQL-opmerkingen, -voorwaarden en ch(a)r-injecties
942310 Detecteert pogingen om SQL 2/2 te injecteren
942320 Detecteert opgeslagen procedure-/functie-injecties in MySQL en PostgreSQL
942330 Detecteert klassieke SQL 1/2-injectieprobings
942340 Detecteert eenvoudige SQL pogingen om verificatie te omzeilen 3/3
942350 Detecteert MySQL UDF-injectie en andere pogingen om gegevens/structuur te manipuleren
942360 Detecteert samenvoegde basisinjectie SQL SQLLFI-pogingen
942361 Detecteert basisinjectie SQL op basis van sleutelwoord wijzigen of union
942370 Detecteert klassieke SQL 2/2-injectieprobings
942380 SQL Injectieaanval
942390 SQL Injectieaanval
942400 SQL Injectieaanval
942410 SQL Injectieaanval
942420 Beperkte SQL afwijkingsdetectie (cookies): aantal speciale tekens overschreden (8)
942421 Beperkte SQL anomaliedetectie (cookies): aantal speciale tekens overschreden (3)
942430 Beperkte SQL afwijkingsdetectie (args): aantal speciale tekens overschreden (12)
942431 Beperkte SQL afwijkingsdetectie (args): aantal speciale tekens overschreden (6)
942432 Beperkte SQL afwijkingsdetectie (args): aantal speciale tekens overschreden (2)
942440 SQL Opmerkingenreeks gedetecteerd.
942450 SQL Hex-encoding geïdentificeerd
942460 Meta-Character waarschuwing voor anomaliedetectie - terugkerende niet-woordtekens
942470 SQL Injectieaanval
942480 SQL Injectieaanval
942490 Detecteert SQL 3/3-injectieprobings
942500 MySQL in-line opmerking gedetecteerd.

REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION

RuleId Beschrijving
943100 Possible Session Fixation Attack: Setting Cookie Values in HTML
943110 Possible Session Fixation Attack: SessionID Parameter Name with Off-Domain Referer
943120 Possible Session Fixation Attack: SessionID Parameter Name with No Referer

REQUEST-944-APPLICATION-ATTACK-JAVA

RuleId Beschrijving
944100 Externe opdrachtuitvoering: ApacheTrts, Oracle WebLogic
944110 Detecteert mogelijke nettoladinguitvoering
944120 Mogelijke nettolading uitvoeren en externe opdrachtuitvoering
944130 Suspicious Java classes (Verdachte Java-klassen)
944200 Misbruik van Java-deserialisatie Apache Commons
944210 Mogelijk gebruik van Java-serialisatie
944240 Uitvoering van externe opdracht: Java-serialisatie
944250 Uitvoering externe opdracht: Suspicious Java method detected (Uitvoering externe opdracht: Suspicious Java method detected ( Verdachte Java-methode gedetecteerd)
944300 Base64-gecodeerde tekenreeks komt overeen met verdacht trefwoord

Volgende stappen