Web Application Firewall CRS-regelgrupper och regler

Application Gateway brandvägg för webbaserade program (WAF) skyddar webbprogram mot vanliga säkerhetsrisker och kryphål. Detta görs via regler som definieras baserat på OWASP-kärnregeluppsättningarna 3.2, 3.1, 3.0 eller 2.2.9. Dessa regler kan inaktiveras regel för regel. Den här artikeln innehåller de aktuella regler och regeluppsättningar som erbjuds. I de sällsynta fall då en publicerad regeluppsättning behöver uppdateras dokumenteras den här.

Core Rule Sets

Den Application Gateway WAF är förkonfigurerad med CRS 3.0 som standard. Men du kan välja att använda CRS 3.2, 3.1 eller 2.2.9 i stället.

CRS 3.2 (offentlig förhandsversion) erbjuder en ny motor och nya regeluppsättningar som skyddar mot Java-sjukdomar, en inledande uppsättning filuppladdningskontroller, fasta falska positiva resultat med mera.

CRS 3.1 erbjuder färre falska positiva resultat jämfört med CRS 3.0 och 2.2.9. Du kan också anpassa regler så att de passar dina behov.

Hanterar regler

BRANDVÄGGen för webbaserade program skyddar mot följande webbsårbarheter:

  • SQL-ktionsattacker
  • Skriptattacker mellan webbplatser
  • Andra vanliga attacker, till exempel kommandoinjektion, HTTP-begärandeattack, delning av HTTP-svar och fjärrfilinkludering
  • Överträdelser av HTTP-protokoll
  • HTTP-protokollavvikelser, till exempel saknade värdanvändaragenter och accept-huvuden
  • Robotar, crawlers och skannrar
  • Vanliga programfelkonfigurationer (till exempel Apache och IIS)

OWASP CRS 3.2 (offentlig förhandsversion)

CRS 3.2 innehåller 13 regelgrupper, som du ser i följande tabell. Varje grupp innehåller flera regler som kan inaktiveras.

Anteckning

CRS 3.2 är endast tillgängligt på WAF_v2 SKU.

Regelgrupp Description
Allmänt Allmän grupp
REQUEST-911-METHOD-ENFORCEMENT Låsningsmetoder (PUT, PATCH)
REQUEST-913-SCANNER-DETECTION Skydda mot port- och miljöskannrar
REQUEST-920-PROTOCOL-ENFORCEMENT Skydda mot protokoll- och kodningsproblem
REQUEST-921-PROTOCOL-ATTACK Skydda mot sidhuvuds-, begärande- och svarsdelning
REQUEST-930-APPLICATION-ATTACK-LFI Skydda mot fil- och sökvägsattacker
REQUEST-931-APPLICATION-ATTACK-RFI Skydda mot RFI-attacker (remote file inclusion)
REQUEST-932-APPLICATION-ATTACK-RCE Skydda återigen körningsattacker med fjärrkod
REQUEST-933-APPLICATION-ATTACK-PHP Skydda mot PHP- injection-attacker
REQUEST-941-APPLICATION-ATTACK-XSS Skydda mot skriptattacker mellan webbplatser
REQUEST-942-APPLICATION-ATTACK-SQLI Skydda mot SQL-ktionsattacker
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION Skydda mot sessionskorrigeringsattacker
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVA Skydda mot JAVA-attacker

OWASP CRS 3.1

CRS 3.1 innehåller 13 regelgrupper, som du ser i följande tabell. Varje grupp innehåller flera regler som kan inaktiveras.

Anteckning

CRS 3.1 är endast tillgängligt på WAF_v2 SKU.

Regelgrupp Description
Allmänt Allmän grupp
REQUEST-911-METHOD-ENFORCEMENT Låsningsmetoder (PUT, PATCH)
REQUEST-913-SCANNER-DETECTION Skydda mot port- och miljöskannrar
REQUEST-920-PROTOCOL-ENFORCEMENT Skydda mot protokoll- och kodningsproblem
REQUEST-921-PROTOCOL-ATTACK Skydda mot sidhuvuds-, begärande- och svarsdelning
REQUEST-930-APPLICATION-ATTACK-LFI Skydda mot fil- och sökvägsattacker
REQUEST-931-APPLICATION-ATTACK-RFI Skydda mot RFI-attacker (remote file inclusion)
REQUEST-932-APPLICATION-ATTACK-RCE Skydda återigen körningsattacker med fjärrkod
REQUEST-933-APPLICATION-ATTACK-PHP Skydda mot PHP- injection-attacker
REQUEST-941-APPLICATION-ATTACK-XSS Skydda mot skriptattacker mellan webbplatser
REQUEST-942-APPLICATION-ATTACK-SQLI Skydda mot SQL-ktionsattacker
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION Skydda mot sessionskorrigeringsattacker
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVA Skydda mot JAVA-attacker

OWASP CRS 3.0

CRS 3.0 innehåller 12 regelgrupper, som du ser i följande tabell. Varje grupp innehåller flera regler som kan inaktiveras.

Regelgrupp Description
Allmänt Allmän grupp
REQUEST-911-METHOD-ENFORCEMENT Låsningsmetoder (PUT, PATCH)
REQUEST-913-SCANNER-DETECTION Skydda mot port- och miljöskannrar
REQUEST-920-PROTOCOL-ENFORCEMENT Skydda mot protokoll- och kodningsproblem
REQUEST-921-PROTOCOL-ATTACK Skydda mot sidhuvuds-, begärande- och svarsdelning
REQUEST-930-APPLICATION-ATTACK-LFI Skydda mot fil- och sökvägsattacker
REQUEST-931-APPLICATION-ATTACK-RFI Skydda mot RFI-attacker (remote file inclusion)
REQUEST-932-APPLICATION-ATTACK-RCE Skydda kodkörningsattacker igen
REQUEST-933-APPLICATION-ATTACK-PHP Skydda mot PHP-ktionsattacker
REQUEST-941-APPLICATION-ATTACK-XSS Skydda mot skriptattacker mellan webbplatser
REQUEST-942-APPLICATION-ATTACK-SQLI Skydda mot SQL-ktionsattacker
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION Skydda mot sessionskorrigeringsattacker

OWASP CRS 2.2.9

CRS 2.2.9 innehåller 10 regelgrupper, som du ser i följande tabell. Varje grupp innehåller flera regler som kan inaktiveras.

Regelgrupp Description
crs_20_protocol_violations Skydda mot protokollöverträdelser (till exempel ogiltiga tecken eller en GET med en begärandetext)
crs_21_protocol_anomalies Skydda mot felaktig rubrikinformation
crs_23_request_limits Skydda mot argument eller filer som överskrider begränsningar
crs_30_http_policy Skydda mot begränsade metoder, rubriker och filtyper
crs_35_bad_robots Skydda mot webb crawlers och skannrar
crs_40_generic_attacks Skydda mot allmänna attacker (till exempel sessionskorrigering, fjärrfilinkludering och PHP-ktion)
crs_41_sql_injection_attacks Skydda mot SQL-ktionsattacker
crs_41_xss_attacks Skydda mot skriptattacker mellan webbplatser
crs_42_tight_security Skydda mot sökvägs-traverseringar
crs_45_trojans Skydda mot trojaner med bakdörr

Följande regelgrupper och regler är tillgängliga när du använder Web Application Firewall på Application Gateway.

3.2 Regeluppsättningar

De allmänna

RuleId Description
200004 Möjlig gräns utan multipart.

REQUEST-911-METHOD-ENFORCEMENT

RuleId Description
911100 Metoden tillåts inte av principen

REQUEST-913-SCANNER-DETECTION

RuleId Description
913100 Hittade User-Agent associerat med säkerhetsskannern
913101 Hittade User-Agent associerad med skript/allmän HTTP-klient
913102 Hittade User-Agent associerat med webb crawler/robot
913110 Begärandehuvudet som är associerat med säkerhetsskannern hittades
913120 Begärandefilnamn/argument som är associerat med säkerhetsskannern hittades

REQUEST-920-PROTOCOL-ENFORCEMENT

RuleId Description
920100 Ogiltig HTTP-begäranderad
920120 Försök att kringgå multipart-/formulärdata
920121 Försök att kringgå multipart-/formulärdata
920160 HTTP-rubriken content-Length är inte numerisk.
920170 GET- eller HEAD-begäran med brödtextinnehåll.
920171 GET- eller HEAD-begäran med Transfer-Encoding.
920180 POST-begäran saknar innehållslängdsrubrik.
920190 Intervall: Ogiltigt värde för sista byte.
920200 Intervall: För många fält (6 eller fler)
920201 Intervall: För många fält för pdf-begäran (35 eller fler)
920202 Intervall: För många fält för pdf-begäran (6 eller fler)
920210 Flera/motstridiga data för anslutningshuvudet hittades.
920220 Försök till missbruksattack med URL-kodning
920230 Flera URL-kodningar har identifierats
920240 Försök till missbruksattack med URL-kodning
920250 UTF8-kodningsförsök vid missbruksattack
920260 Attackförsök med missbruk med full/halv bredd i Unicode
920270 Ogiltigt tecken i begäran (null-tecken)
920271 Ogiltigt tecken i begäran (icke utskrivbara tecken)
920272 Ogiltigt tecken i begäran (utanför utskrivbara tecken under ascii 127)
920273 Ogiltigt tecken i begäran (utanför mycket strikt uppsättning)
920274 Ogiltigt tecken i begärandehuvuden (utanför mycket strikt uppsättning)
920280 Begäran om att ett värdhuvud saknas
920290 Tomt värdhuvud
920310 Begäran har ett tomt accept-huvud
920311 Begäran har ett tomt accept-huvud
920320 Användaragentens huvud saknas
920330 Tomt användaragenthuvud
920340 Begäran som innehåller innehåll, men huvud av innehållstyp saknas
920341 Begäran som innehåller innehåll kräver content-type-huvud
920350 Värdhuvudet är en numerisk IP-adress
920420 Typ av begärandeinnehåll tillåts inte av principen
920430 HTTP-protokollversionen tillåts inte av principen
920440 URL-filnamnstillägget begränsas av principen
920450 HTTP-huvudet begränsas av principen (%{MATCHED_VAR})
920460 Onormala escape-tecken
920470 Ogiltigt content-type-huvud
920480 Begränsa teckenuppsättningsparametern i innehållstypens sidhuvud

REQUEST-921-PROTOCOL-ATTACK

RuleId Description
921110 ATTACK AV HTTP-begäran
921120 Http-svarsdelningsattack
921130 Http-svarsdelningsattack
921140 HTTP-huvudinjektionsattack via rubriker
921150 HTTP Header Injection Attack via nyttolast (CR/LF har identifierats)
921151 HTTP Header Injection Attack via nyttolast (CR/LF har identifierats)
921160 Http Header Injection Attack via nyttolast (CR/LF och huvudnamn har identifierats)
921170 HTTP-parameterns begränsande
921180 HTTP-parameterbelastning (%{TX.1})

REQUEST-930-APPLICATION-ATTACK-LFI

RuleId Description
930100 Path Traversal Attack (/.. /)
930110 Path Traversal Attack (/.. /)
930120 Försök att komma åt operativsystemets fil
930130 Försök till begränsad filåtkomst

REQUEST-931-APPLICATION-ATTACK-RFI

RuleId Description
931100 Möjlig RFI-attack (Remote File Inclusion): URL-parameter med IP-adress
931110 Möjlig RFI-attack (Remote File Inclusion): Vanligt RFI-sårbart parameternamn som används med URL-nyttolast
931120 Möjlig RFI-attack (Remote File Inclusion): URL-nyttolast som används med avslutande frågetecken (?)
931130 Möjlig RFI-attack (Remote File Inclusion): Off-Domain referens/länk

REQUEST-932-APPLICATION-ATTACK-RCE

RuleId Description
932100 Fjärrkommandokörning: Unix-kommandoinjektion
932105 Fjärrkommandokörning: Unix-kommandoinjektion
932106 Fjärrkommandokörning: Unix-kommandoinjektion
932110 Fjärrkommandokörning: Windows kommandoinjektion
932115 Fjärrkommandokörning: Windows kommandoinjektion
932120 Fjärrkommandokörning: kommandot Windows PowerShell hittades
932130 Fjärrkommandokörning: Unix Shell-uttryck hittades
932140 Fjärrkommandokörning: kommandot Windows FOR/IF hittades
932150 Fjärrkommandokörning: Direkt körning av UNIX-kommando
932160 Fjärrkommandokörning: Unix-gränssnittskod hittades
932170 Fjärrkommandokörning: Shellshock (CVE-2014-6271)
932171 Fjärrkommandokörning: Shellshock (CVE-2014-6271)
932180 Försök att begränsa Upload fil
932190 Körning av fjärrkommando: Försök till teknik för att kringgå jokertecken

REQUEST-933-APPLICATION-ATTACK-PHP

RuleId Description
933100 PHP-ktionsattack: Öppna/stänga tagg hittades
933110 PHP-ktionsattack: PHP-skriptfil Upload hittades
933111 PHP-ktionsattack: PHP-skriptfil Upload hittades
933120 PHP-ktionsattack: Konfigurationsdirektiv hittades
933130 PHP-ktionsattack: Variabler hittades
933131 PHP-ktionsattack: Variabler hittades
933140 PHP-ktionsattack: I/O-dataström hittades
933150 PHP-ktionsattack: High-Risk PHP-funktionsnamnet hittades
933151 PHP-ktionsattack: Medium-Risk PHP-funktionsnamnet hittades
933160 PHP-ktionsattack: High-Risk PHP-funktionsanrop hittades
933161 PHP-ktionsattack: Low-Value PHP-funktionsanrop hittades
933170 PHP-ktionsattack: Serialiserad objektinjektion
933180 PHP-ktionsattack: Variabelt funktionsanrop hittades
933190 PHP-ktionsattack: Sluttagg för PHP hittades
933200 PHP-ktionsattack: Omslutningsschema har identifierats
933210 PHP-ktionsattack: Variabelt funktionsanrop hittades

REQUEST-941-APPLICATION-ATTACK-XSS

RuleId Description
941100 XSS-attack har identifierats via libinjection
941101 XSS-attack har identifierats via libinjection.
941110 XSS-filter – kategori 1: Skripttaggvektor
941120 XSS-filter – Kategori 2: Händelsehanterare vektor
941130 XSS-filter – Kategori 3: Attributvektor
941140 XSS-filter – kategori 4: JavaScript URI-vektor
941150 XSS-filter – kategori 5: Otillåtna HTML-attribut
941160 NoScript XSS InjectionChecker: HTML- injection
941170 NoScript XSS InjectionChecker: Attributinjektion
941180 Node-Validator svartlistade nyckelord
941190 XSS med formatmallar
941200 XSS med VML-bildrutor
941210 XSS med hjälp av fördrövad JavaScript
941220 XSS med hjälp av fördrövat VB-skript
941230 XSS med taggen "embed"
941240 XSS med attributet "import" eller "implementation"
941250 IE XSS-filter – attack har identifierats.
941260 XSS med hjälp av "metatagg"
941270 XSS med "länk" href
941280 XSS med bastaggen
941290 XSS med taggen "applet"
941300 XSS med taggen "object"
941310 US-ASCII felaktig kodnings-XSS-filter – attack har identifierats.
941320 Möjlig XSS-attack har identifierats – HTML-tagghanterare
941330 IE XSS-filter – attack har identifierats.
941340 IE XSS-filter – attack har identifierats.
941350 UTF-7 Encoding IE XSS – Attack har identifierats.
941360 JavaScript-fördumning har identifierats.

REQUEST-942-APPLICATION-ATTACK-SQLI

RuleId Description
942100 SQL Ktionsattack har identifierats via libinjection
942110 SQL Ktionsattack: Vanlig ktionstestning har identifierats
942120 SQL Ktionsattack: SQL har identifierats
942130 SQL Ktionsattack: SQL tautologi har identifierats.
942140 SQL Ktionsattack: Vanliga DB-namn har identifierats
942150 SQL Ktionsattack
942160 Identifierar blinda sqli-tester med hjälp av sleep() eller benchmark().
942170 Identifierar prestandatest SQL strömsparlägesförsök, inklusive villkorliga frågor
942180 Identifierar grundläggande SQL kringgå autentiseringsförsök 1/3
942190 Identifierar körning av MSSQL-kod och datainsamlingsförsök
942200 Identifierar MySQL-kommentars-/space-obfuscated-ktioner och backtick-avslutning
942210 Identifierar kedjeindelade SQL 1/2
942220 Om du letar efter heltalsspillsangrepp tas dessa från skip skip , förutom att 3.0.00738585072007e-308 är "magic number"-kraschen
942230 Identifierar försök att SQL villkorsstyrd injicering
942240 Identifierar MySQL-teckenuppsättningsväxel och MSSQL DoS-försök
942250 Identifierar MATCH AGAINST, MERGE och EXECUTE IMMEDIATE injections
942251 Identifierar HAVING- injections
942260 Identifierar grundläggande SQL kringgå autentiseringsförsök 2/3
942270 Letar efter grundläggande sql- injection. Vanlig attacksträng för mysql, oracle och andra.
942280 Identifierar Postgres-pg_sleep, väntar på fördröjningsangrepp och databasavstängningsförsök
942290 Söker efter grundläggande MongoDB SQL injiceringsförsök
942300 Identifierar MySQL-kommentarer, villkor och ch(a)r- injections
942310 Identifierar kedjeindelade SQL 2/2
942320 Identifierar lagrade procedurer/funktionsinjektioner i MySQL och PostgreSQL
942330 Identifierar klassiska SQL-avsökning 1/2
942340 Identifierar grundläggande SQL kringgå autentiseringsförsök 3/3
942350 Identifierar MySQL UDF-matning och andra försök att manipulera data/struktur
942360 Identifierar sammanfogade grundläggande SQL och SQLLFI-försök
942361 Identifierar grundläggande SQL baserat på nyckelordsförändrering eller union
942370 Identifierar klassiska SQL-avsökning 2/2
942380 SQL Ktionsattack
942390 SQL Ktionsattack
942400 SQL Ktionsattack
942410 SQL Ktionsattack
942420 Begränsad SQL avvikelseidentifiering (cookies): Antal specialtecken har överskridits (8)
942421 Begränsad SQL avvikelseidentifiering (cookies): Antal specialtecken som överskridits (3)
942430 Begränsad SQL avvikelseidentifiering (args): Antal specialtecken har överskridits (12)
942431 Begränsad SQL avvikelseidentifiering (args): Antal specialtecken har överskridits (6)
942432 Begränsad SQL avvikelseidentifiering (args): antal specialtecken har överskridits (2)
942440 SQL Kommentarssekvens har identifierats.
942450 SQL Hexkodning identifierad
942460 Meta-Character avisering om avvikelseidentifiering – repetitiva icke-ord-tecken
942470 SQL Ktionsattack
942480 SQL Ktionsattack
942490 Identifierar klassiska SQL-avsökning 3/3
942500 MySQL-kommentar har identifierats.

REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION

RuleId Description
943100 Möjlig sessionskorrigeringsattack: Ange cookievärden i HTML
943110 Möjlig sessionskorrigeringsattack: SessionID-parameternamn med Off-Domain refererar
943120 Möjlig sessionskorrigeringsattack: SessionID-parameternamn utan referens

REQUEST-944-APPLICATION-ATTACK-JAVA

RuleId Description
944100 Fjärrkommandokörning: Apache Struts, Oracle WebLogic
944110 Identifierar potentiell nyttolastkörning
944120 Möjlig nyttolastkörning och fjärrkommandokörning
944130 Misstänkta Java-klasser
944200 Utnyttjande av Java Deserialization Apache Commons
944210 Möjlig användning av Java-serialisering
944240 Fjärrkommandokörning: Java-serialisering
944250 Fjärrkommandokörning: Misstänkt Java-metod har identifierats
944300 Base64-kodad sträng matchade misstänkta nyckelord

Nästa steg