Google Cloud Armor WAF-Regeln abstimmen

Vorkonfigurierte Regeln

Vorkonfigurierte Google Cloud Armor-Regeln sind komplexe Web Application Firewall (WAF)-Regeln mit Dutzenden von Signaturen, die aus Open-Source-Branchenstandards kompiliert wurden. Google bietet diese Regeln wie besehen an. Die Regeln ermöglichen es Google Cloud Armor, Dutzende von unterschiedlichen Traffic-Signaturen auszuwerten. Dabei bezieht sich Google Cloud Armor auf Regeln, die praktischerweise benannt sind, anstatt dass Sie jede Signatur manuell definieren müssen.

Die folgende Tabelle enthält eine umfassende Liste vorkonfigurierter WAF-Regeln, die in einer Google Cloud Armor-Sicherheitsrichtlinie verwendet werden können. Die Regelquelle ist ModSecurity Core Rule Set 3.0.2 (CRS).

Name der Google Cloud Armor-Regel Name der ModSecurity-Regel Aktueller Status
sqli-stable SQL-Einschleusung Mit pili-Canary synchronisiert
sqli-canary SQL-Einschleusung Neueste
xss-stable Cross-Site-Scripting Mit xss-canary synchronisiert
xss-canary Cross-Site-Scripting Neu
lfi-stable Aufnahme lokaler Dateien Synchronisiert mit lfi-canary
lfi-canary Aufnahme lokaler Dateien Neu
rfi-stable Remote-Datei einschließen Mit rfi-canary synchronisiert
rfi-canary Remote-Datei einschließen Neu
rce-stable Codeausführung per Fernzugriff Mit rce-canary synchronisiert
rce-canary Codeausführung per Fernzugriff Neu

Jede vorkonfigurierte Regel besteht aus mehreren Signaturen. Eingehende Anfragen werden anhand der vorkonfigurierten Regeln bewertet. Eine Anfrage entspricht einer vorkonfigurierten Regel, wenn die Anfrage mit einer der Signaturen übereinstimmt, die mit der vorkonfigurierten Regel verknüpft sind. Eine Übereinstimmung wird hergestellt, wenn der Befehl evaluatePreconfiguredExpr() den Wert true zurückgibt.

Wenn Sie entscheiden, dass eine vorkonfigurierte Regel mehr Traffic entspricht als erforderlich, oder wenn die Regel den zulässigen Traffic blockiert, kann die Regel so eingestellt werden, dass fehlerhafte oder anderweitig unnötige Signaturen deaktiviert werden. Um Signaturen in einer bestimmten vorkonfigurierten Regel zu deaktivieren, stellen Sie dem Befehl evaluatePreconfiguredExpr() eine Liste der IDs der unerwünschten Signaturen zur Verfügung.

Im folgenden Beispiel werden zwei CRS-Regel-IDs aus der vorkonfigurierten WAF-Regel xss-stable ausgeschlossen:

evaluatePreconfiguredExpr('xss-stable', ['owasp-crs-v020901-id981136-xss', 'owasp-crs-v020901-id981138-xss'])

Das vorherige Beispiel ist ein Ausdruck in der Benutzerdefinierten Regelsprache. Die allgemeine Syntax ist:

evaluatePreconfiguredExpr(RULE, ['SIGNATURE1', 'SIGNATURE2', 'SIGNATURE3'])

Vorkonfigurierte ModSecurity-Regeln

SQL-Injection (SQLi)

Signatur-ID (CRS-Regel-ID) Empfindlichkeitsstufe Beschreibung
owasp-crs-v030001-id942140-sqli 1 Angriff mit SQL-Einschleusung: Allgemeine DB-Namen erkannt
owasp-crs-v030001-id942160-sqli 1 Erkennt blinde SQLI-Tests mit sleep() oder benchmark().
owasp-crs-v030001-id942170-sqli 1 Erkennt SQL-Benchmark- und Sleep-Einschleusungsversuche, einschließlich bedingter Abfragen
owasp-crs-v030001-id942190-sqli 1 Erkennt MSSQL-Codeausführung und Informationserfassungsversuche
owasp-crs-v030001-id942220-sqli 1 Sucht nach Integer-Overflow-Angriffen
owasp-crs-v030001-id942230-sqli 1 Erkennt Angriffsversuche mit bedingter SQL-Einschleusung.
owasp-crs-v030001-id942240-sqli 1 Erkennt MySQL-Zeichensatzwechsel und MSSQL-DoS-Angriffsversuche
owasp-crs-v030001-id942250-sqli 1 Erkennt MATCH AGAINST
owasp-crs-v030001-id942270-sqli 1 Sucht nach einfachen eingeschleuster SQL-Befehlen; gängiger Angriffs-String für MySQL
owasp-crs-v030001-id942280-sqli 1 Erkennt Postgres pg_sleep-Einschleusung
owasp-crs-v030001-id942290-sqli 1 Erkennt Angriffsversuche mit grundlegender MongoDB SQL-Einschleusung
owasp-crs-v030001-id942320-sqli 1 Erkennt Einschleusungen von gespeicherten Prozeduren/Funktionen für MySQL und PostgreSQL.
owasp-crs-v030001-id942350-sqli 1 Erkennt MySQL-UDF-Einschleusungen und andere Versuche der Manipulation von Daten bzw. der Struktur
owasp-crs-v030001-id942360-sqli 1 Erkennt Versuche des Verkettens einfacher eingeschleuster SQL-Befehle und von SQL/LFI
owasp-crs-v030001-id942110-sqli 2 Angriff mit SQL-Einschleusung: Allgemeine Tests auf Befehlseinschleusung erkannt
owasp-crs-v030001-id942120-sqli 2 Angriff mit SQL-Einschleusung: SQL-Operator erkannt
owasp-crs-v030001-id942150-sqli 2 Angriff mit SQL-Einschleusung
owasp-crs-v030001-id942180-sqli 2 Erkennt Umgehungsversuche der einfachen SQL-Authentifizierung 1/3
owasp-crs-v030001-id942200-sqli 2 Erkennt durch MySQL-Kommentare oder -Leerzeichen verschleierte Einschleusungen und die Terminierung per Backtick
owasp-crs-v030001-id942210-sqli 2 Erkennt verkettete SQL-Einschleusungsversuche
owasp-crs-v030001-id942260-sqli 2 Erkennt Umgehungsversuche der einfachen SQL-Authentifizierung 2/3
owasp-crs-v030001-id942300-sqli 2 Erkennt MySQL-Kommentare
owasp-crs-v030001-id942310-sqli 2 Erkennt verkettete SQL-Einschleusungsversuche 2/2
owasp-crs-v030001-id942330-sqli 2 Erkennt Probings von klassischen SQL-Einschleusungen 1/2
owasp-crs-v030001-id942340-sqli 2 Erkennt Umgehungsversuche der einfachen SQL-Authentifizierung 3/3
owasp-crs-v030001-id942380-sqli 2 Angriff mit SQL-Einschleusung
owasp-crs-v030001-id942390-sqli 2 Angriff mit SQL-Einschleusung
owasp-crs-v030001-id942400-sqli 2 Angriff mit SQL-Einschleusung
owasp-crs-v030001-id942410-sqli 2 Angriff mit SQL-Einschleusung
owasp-crs-v030001-id942430-sqli 2 Eingeschränkte Anomalieerkennung für SQL-Zeichen (Argumente): Anzahl von Sonderzeichen überschritten (12)
owasp-crs-v030001-id942440-sqli 2 SQL-Kommentarsequenz erkannt
owasp-crs-v030001-id942450-sqli 2 SQL-Hex-Codierung erkannt
owasp-crs-v030001-id942251-sqli 3 Erkennt HAVING-Einschleusungen
owasp-crs-v030001-id942420-sqli 3 Eingeschränkte Anomalieerkennung für SQL-Zeichen (Cookies): Anzahl von Sonderzeichen überschritten (8)
owasp-crs-v030001-id942431-sqli 3 Eingeschränkte Anomalieerkennung für SQL-Zeichen (Argumente): Anzahl von Sonderzeichen überschritten (6)
owasp-crs-v030001-id942460-sqli 3 Warnung: Erkennung einer Metazeichenanomalie – Wiederholte Non-Word-Zeichen
owasp-crs-v030001-id942421-sqli 4 Eingeschränkte Anomalieerkennung für SQL-Zeichen (Cookies): Anzahl von Sonderzeichen überschritten (3)
owasp-crs-v030001-id942432-sqli 4 Eingeschränkte Anomalieerkennung für SQL-Zeichen (Argumente): Anzahl von Sonderzeichen überschritten (2)


Wenn Sie eine Regel mit einer bestimmten Empfindlichkeitsstufe konfigurieren möchten, deaktivieren Sie die Signaturen bei höheren Empfindlichkeitsstufen.

SQLi-Empfindlichkeitsstufe 1


evaluatePreconfiguredExpr('sqli-stable', ['owasp-crs-v030001-id942110-sqli',
  'owasp-crs-v030001-id942120-sqli',
  'owasp-crs-v030001-id942150-sqli',
  'owasp-crs-v030001-id942180-sqli',
  'owasp-crs-v030001-id942200-sqli',
  'owasp-crs-v030001-id942210-sqli',
  'owasp-crs-v030001-id942260-sqli',
  'owasp-crs-v030001-id942300-sqli',
  'owasp-crs-v030001-id942310-sqli',
  'owasp-crs-v030001-id942330-sqli',
  'owasp-crs-v030001-id942340-sqli',
  'owasp-crs-v030001-id942380-sqli',
  'owasp-crs-v030001-id942390-sqli',
  'owasp-crs-v030001-id942400-sqli',
  'owasp-crs-v030001-id942410-sqli',
  'owasp-crs-v030001-id942430-sqli',
  'owasp-crs-v030001-id942440-sqli',
  'owasp-crs-v030001-id942450-sqli',
  'owasp-crs-v030001-id942251-sqli',
  'owasp-crs-v030001-id942420-sqli',
  'owasp-crs-v030001-id942431-sqli',
  'owasp-crs-v030001-id942460-sqli',
  'owasp-crs-v030001-id942421-sqli',
  'owasp-crs-v030001-id942432-sqli']
)
          
SQLi-Empfindlichkeitsstufe 2


evaluatePreconfiguredExpr('sqli-stable', ['owasp-crs-v030001-id942251-sqli',
 'owasp-crs-v030001-id942420-sqli',
 'owasp-crs-v030001-id942431-sqli',
 'owasp-crs-v030001-id942460-sqli',
 'owasp-crs-v030001-id942421-sqli',
 'owasp-crs-v030001-id942432-sqli']
)
SQLi-Empfindlichkeitsstufe 3


evaluatePreconfiguredExpr('sqli-stable', ['owasp-crs-v030001-id942421-sqli',
         'owasp-crs-v030001-id942432-sqli']
         )
SQLi-Empfindlichkeitsstufe 4


evaluatePreconfiguredExpr('sqli-stable')

Cross-Site-Scripting (XSS)

Signatur-ID (Regel-ID) Empfindlichkeitsstufe Beschreibung
owasp-crs-v030001-id941110-xss 1 XSS-Filter – Kategorie 1: Skript-Tag-Vektor
owasp-crs-v030001-id941120-xss 1 XSS-Filter – Kategorie 2: Event-Handler-Vektor
owasp-crs-v030001-id941130-xss 1 XSS-Filter – Kategorie 3: Attributvektor
owasp-crs-v030001-id941140-xss 1 XSS-Filter – Kategorie 4: JavaScript-URI-Vektor
owasp-crs-v030001-id941160-xss 1 NoScript XSS InjectionChecker: HTML-Einschleusung
owasp-crs-v030001-id941170-xss 1 NoScript XSS InjectionChecker: Attributeinschleusung
owasp-crs-v030001-id941180-xss 1 Keywords von schwarzer Liste für Knotenvalidierung
owasp-crs-v030001-id941190-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941200-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941210-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941220-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941230-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941240-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941250-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941260-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941270-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941280-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941290-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941300-xss 1 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941310-xss 1 Falsch formatierte US-ASCII-Codierung für XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941350-xss 1 UTF-7-Codierung – IE XSS – Angriff erkannt
owasp-crs-v030001-id941150-xss 2 XSS-Filter – Kategorie 5 = Unzulässige HTML-Attribute
owasp-crs-v030001-id941320-xss 2 Möglicher XSS-Angriff erkannt – HTML-Tag-Handler
owasp-crs-v030001-id941330-xss 2 IE-XSS-Filter – Angriff erkannt
owasp-crs-v030001-id941340-xss 2 IE-XSS-Filter – Angriff erkannt


Wenn Sie eine Regel mit einer bestimmten Empfindlichkeitsstufe konfigurieren möchten, deaktivieren Sie die Signaturen bei höheren Empfindlichkeitsstufen.

XSS-Empfindlichkeitsstufe 1


evaluatePreconfiguredExpr('xss-stable', ['owasp-crs-v030001-id941150-xss',
  'owasp-crs-v030001-id941320-xss',
  'owasp-crs-v030001-id941330-xss',
  'owasp-crs-v030001-id941340-xss'])
          


Alle Signaturen für XSS liegen unter der Empfindlichkeitsstufe 2. Die folgende Konfiguration funktioniert für andere Empfindlichkeitsstufen:

XSS-Empfindlichkeitsstufen 2/3/4


evaluatePreconfiguredExpr('xss-stable')

Aufnahme lokaler Dateien (Local File Inclusion, LFI)

Signatur-ID (Regel-ID) Empfindlichkeitsstufe Beschreibung
owasp-crs-v030001-id930100-lfi 1 Angriff mit Pfaddurchlauf (/../)
owasp-crs-v030001-id930110-lfi 1 Angriff mit Pfaddurchlauf (/../)
owasp-crs-v030001-id930120-lfi 1 Zugriffsversuch auf Betriebssystemdatei
owasp-crs-v030001-id930130-lfi 1 Zugriffsversuch auf Datei mit eingeschränktem Zugriff


Alle Signaturen für LFI entsprechen der Empfindlichkeitsstufe 1. Die folgende Konfiguration funktioniert für alle Empfindlichkeitsstufen:

LFI-Empfindlichkeitsstufen 1/2/3/4


evaluatePreconfiguredExpr('lfi-canary')

Codeausführung per Fernzugriff (Remote Code Execution, RCE)

Signatur-ID (Regel-ID) Empfindlichkeitsstufe Beschreibung
owasp-crs-v030001-id932100-rce 1 UNIX-Befehlseinschleusung
owasp-crs-v030001-id932105-rce 1 UNIX-Befehlseinschleusung
owasp-crs-v030001-id932110-rce 1 Windows-Befehlseinschleusung
owasp-crs-v030001-id932115-rce 1 Windows-Befehlseinschleusung
owasp-crs-v030001-id932120-rce 1 Windows PowerShell-Befehl gefunden
owasp-crs-v030001-id932130-rce 1 Unix Shell-Ausdruck gefunden
owasp-crs-v030001-id932140-rce 1 Windows-FOR/IF-Befehl gefunden
owasp-crs-v030001-id932150-rce 1 Direkte Ausführung von UNIX-Befehlen
owasp-crs-v030001-id932160-rce 1 UNIX-Shell-Code gefunden
owasp-crs-v030001-id932170-rce 1 Shellshock (CVE-2014-6271)
owasp-crs-v030001-id932171-rce 1 Shellshock (CVE-2014-6271)


Alle Signaturen für RCE entsprechen der Empfindlichkeitsstufe 1. Die folgende Konfiguration funktioniert für alle Empfindlichkeitsstufen:

RCE-Empfindlichkeitsstufen 1/2/3/4


evaluatePreconfiguredExpr('rce-canary')

Datei-Aufnahme per Fernzugriff (Remote File Inclusion, RFI)

Signatur-ID (Regel-ID) Empfindlichkeitsstufe Beschreibung
owasp-crs-v030001-id931100-rfi 1 Verwendung von IP-Adresse für URL-Parameter
owasp-crs-v030001-id931110-rfi 1 Verwendung eines häufigen und für RFI anfälligen Parameternamens mit URL-Nutzlast
owasp-crs-v030001-id931120-rfi 1 Verwendung von URL-Nutzlast mit nachgestelltem Fragezeichen (?)
owasp-crs-v030001-id931130-rfi 2 Domain-externer Verweis/Link


Wenn Sie eine Regel mit einer bestimmten Empfindlichkeitsstufe konfigurieren möchten, deaktivieren Sie die Signaturen bei höheren Empfindlichkeitsstufen.

RFI-Empfindlichkeitsstufe 1


evaluatePreconfiguredExpr('rfi-canary', ['owasp-crs-v030001-id931130-rfi'])

Alle Signaturen für RFI liegen unter der Empfindlichkeitsstufe 2. Die folgende Konfiguration funktioniert für andere Empfindlichkeitsstufen:

RFI-Empfindlichkeitsstufen 2/3/4


evaluatePreconfiguredExpr('rfi-canary')

Nächste Schritte