Google Cloud Armor WAF-Regeln abstimmen

Vorkonfigurierte Regeln

Vorkonfigurierte Regeln für Google Cloud Armor sind komplexe WAF-Regeln (Web Application Firewall) mit Dutzenden von Signaturen, die aus Open Source-Industriestandards kompiliert wurden. Google bietet diese Regeln unverändert an. Mithilfe dieser Regeln kann Google Cloud Armor Dutzende unterschiedlicher Traffic-Signaturen auswerten, indem auf Regeln mit praktischen Namen verwiesen wird, anstatt dass Sie jede Signatur manuell definieren müssen.

Die folgende Tabelle enthält eine umfassende Liste vorkonfigurierter WAF-Regeln, die zur Verwendung in einer Google Cloud Armor-Sicherheitsrichtlinie verfügbar sind. Die Regelquelle ist ModSecurity Core Rule Set 3.0.2.

Name der Google Cloud Armor-Regel Name der ModSecurity-Regel Aktueller Status
sqli-stable SQL-Einschleusung Neu
sqli-canary SQL-Einschleusung Synchron mit sqli-canary
xss-stable Cross-Site-Scripting Neu
xss-canary Cross-Site-Scripting Synchron mit xss-stable

Informationen zur Regeloptimierung

Jede vorkonfigurierte Regel besteht aus mehreren Signaturen. Eingehende Anfragen werden anhand der vorkonfigurierten Regeln ausgewertet. Eine Anfrage entspricht einer vorkonfigurierten Regel, wenn die Anfrage mit einer der Signaturen übereinstimmt, die der vorkonfigurierten Regel zugeordnet 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, geben Sie dem Befehl evaluatePreconfiguredExpr() eine Liste der IDs der unerwünschten Signaturen. Hier ist beispielsweise eine Beispiel-Übereinstimmungsbedingung in der Regelsprache mit einer optimierten Regel:

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

Vorkonfigurierte ModSecurity-Regeln

SQL-Einschleusung

Signatur-ID (CRS-Regel-ID) Empfindlichkeitsstufe Beschreibung
owasp-crs-v030001-id942140-sqli 1 SQL-Einschleusungs-Angriff: 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-Injection-Versuche einschließlich bedingter Abfragen
owasp-crs-v030001-id942190-sqli 1 Erkennt die Ausführung von MSSQL-Code und Versuche zum Sammeln von Informationen
owasp-crs-v030001-id942220-sqli 1 Auf der Suche nach ganzzahligen Overflow-Angriffen
owasp-crs-v030001-id942230-sqli 1 Erkennt bedingte SQL-Injection-Versuche
owasp-crs-v030001-id942240-sqli 1 Erkennt MySQL-Zeichensatzschalter und MSSQL-DoS-Versuche
owasp-crs-v030001-id942250-sqli 1 Erkennt MATCH AGAINST
owasp-crs-v030001-id942270-sqli 1 Sucht nach einer simplen SQL-Injektion. Gemeinsamer Angriffs-String für MySQL
owasp-crs-v030001-id942280-sqli 1 Erkennt Postgres pg_sleep injection
owasp-crs-v030001-id942290-sqli 1 Findet grundlegende MongoDB SQL-Injection-Versuche
owasp-crs-v030001-id942320-sqli 1 Erkennt gespeicherte Prozedur-/Funktionsinjektionen von MySQL und PostgreSQL
owasp-crs-v030001-id942350-sqli 1 Erkennt MySQL UDF-Injection und andere Versuche zur Manipulation von Daten/Strukturen
owasp-crs-v030001-id942360-sqli 1 Erkennt verkettete grundlegende SQL-Injection- und SQLLFI-Versuche
owasp-crs-v030001-id942110-sqli 2 SQL Injection Attack: Allgemeines Injection Testing erkannt
owasp-crs-v030001-id942120-sqli 2 SQL Injection Attack: SQL-Operator erkannt
owasp-crs-v030001-id942150-sqli 2 SQL Injection Attack
owasp-crs-v030001-id942180-sqli 2 Erkennt grundlegende SQL-Authentifizierungsumgehungsversuche 1/3
owasp-crs-v030001-id942200-sqli 2 Erkennt MySQL-Kommentare / durch Leerzeichen verschleierte Injektionen und die Gravis-Beendigung
owasp-crs-v030001-id942210-sqli 2 Erkennt verkettete SQL-Injection-Versuche 1/2
owasp-crs-v030001-id942260-sqli 2 Erkennt grundlegende SQL-Authentifizierungsumgehungsversuche 2/3
owasp-crs-v030001-id942300-sqli 2 Erkennt MySQL-Kommentare
owasp-crs-v030001-id942310-sqli 2 Erkennt verkettete SQL-Injection-Versuche 2/2
owasp-crs-v030001-id942330-sqli 2 Erkennt klassische SQL-Injection-Tests 1/2
owasp-crs-v030001-id942340-sqli 2 Erkennt grundlegende SQL-Authentifizierungsumgehungsversuche 3/3
owasp-crs-v030001-id942380-sqli 2 SQL Injection Attack
owasp-crs-v030001-id942390-sqli 2 SQL Injection Attack
owasp-crs-v030001-id942400-sqli 2 SQL Injection Attack
owasp-crs-v030001-id942410-sqli 2 SQL Injection Attack
owasp-crs-v030001-id942430-sqli 2 Restricted SQL Character Anomaly Detection (Argumente): Anzahl der Sonderzeichen überschritten (12)
owasp-crs-v030001-id942440-sqli 2 SQL-Kommentarsequenz erkannt.
owasp-crs-v030001-id942450-sqli 2 SQL Hex-Codierung identifiziert
owasp-crs-v030001-id942251-sqli 3 Erkennt HAVING-Injektionen
owasp-crs-v030001-id942420-sqli 3 Restricted SQL Character Anomaly Detection (Cookies): Anzahl der Sonderzeichen überschritten (8)
owasp-crs-v030001-id942431-sqli 3 Restricted SQL Character Anomaly Detection (Argumente): Anzahl der Sonderzeichen überschritten (6)
owasp-crs-v030001-id942460-sqli 3 Alarm zur Erkennung von Metazeichen-Anomalien - sich wiederholende Nicht-Wort-Zeichen
owasp-crs-v030001-id942421-sqli 4 Restricted SQL Character Anomaly Detection (Cookies): Anzahl der Sonderzeichen überschritten (3)
owasp-crs-v030001-id942432-sqli 4 Restricted SQL Character Anomaly Detection (Argumente): Anzahl der Sonderzeichen überschritten (2)

Deaktivieren Sie die Signaturen bei höheren Empfindlichkeitsstufen, um eine Regel mit einer bestimmten Empfindlichkeitsstufe zu konfigurieren:

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 Injection
owasp-crs-v030001-id941170-xss 1 NoScript XSS InjectionChecker: Attributinjektion
owasp-crs-v030001-id941180-xss 1 Knoten-Validator-Blacklist-Schlüsselwörter
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 US-ASCII-XSS-Filter mit fehlerhafter Codierung - 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: Nicht zugelassene 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.

Deaktivieren Sie die Signaturen bei höheren Empfindlichkeitsstufen, um eine Regel mit einer bestimmten Empfindlichkeitsstufe zu konfigurieren:

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-Empfindlichkeitsstufe 2/3/4


evaluatePreconfiguredExpr('xss-stable')

Nächste Schritte