Folgen Sie dieser Anleitung, um vorkonfigurierte WAF-Regeln (Web Application Firewall) von Google Cloud Armor einzurichten und anzupassen, damit Ihre Anwendung vor Angriffen geschützt wird. Wenn Sie mit vorkonfigurierten WAF-Regeln nicht vertraut sind, lesen Sie die Übersicht.
Vorkonfigurierte WAF-Regel einrichten
In diesem Abschnitt finden Sie vorkonfigurierte WAF-Regeln, die Sie in die Google Cloud Konsole kopieren und an Ihren Anwendungsfall anpassen können. In jedem Beispiel für einen Google Cloud CLI-Befehl konfigurieren Sie eine Sicherheitsrichtlinie mit dem Namen POLICY_NAME
und der Priorität PRIORITY
.
Im ersten Beispiel wird eine Regel mit dem Namen RULE_NAME
und der Empfindlichkeitsstufe SENSITIVITY
eingerichtet. Dadurch werden alle Signaturen mit einer Empfindlichkeit von höchstens SENSITIVITY
aktiviert. Weitere Informationen zur Regel-Sensitivität finden Sie unter Sensitivitätsstufe auswählen.
Console
Wählen Sie Erweiterter Modus aus und verwenden Sie dann den folgenden Beispielausdruck im Feld Abgleich:
evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': SENSITIVITY})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': SENSITIVITY})" \ --action deny-403
Ersetzen Sie Folgendes:
PRIORITY
: die Priorität der SicherheitsrichtliniePOLICY_NAME
: Der Name der Sicherheitsrichtlinie, die Sie einrichten möchten.RULE_NAME
: Der Name der WAF-Regel, die Sie einrichten möchten.SENSITIVITY
: die Empfindlichkeitsstufe der WAF-Regel
Das zweite Beispiel ähnelt dem ersten, deaktiviert aber die Regelsignaturen SIGNATURE_1
und SIGNATURE_2
. Das bedeutet, dass diese beiden Signaturen bei der Auswertung der WAF-Regel nicht berücksichtigt werden:
Console
Wählen Sie Erweiterter Modus aus und verwenden Sie dann den folgenden Beispielausdruck im Feld Abgleich:
evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': SENSITIVITY, 'opt_out_rule_ids': ['SIGNATURE_1', 'SIGNATURE_2']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': SENSITIVITY, 'opt_out_rule_ids': ['SIGNATURE_1', 'SIGNATURE_2']})" \ --action deny-403
Ersetzen Sie Folgendes:
PRIORITY
: die Priorität der SicherheitsrichtliniePOLICY_NAME
: Der Name der Sicherheitsrichtlinie, die Sie einrichten möchten.RULE_NAME
: Der Name der WAF-Regel, die Sie einrichten möchten.SENSITIVITY
: die Empfindlichkeitsstufe der WAF-RegelSIGNATURE_1
: Der Name der WAF-Signatur, die Sie deaktivieren möchten.SIGNATURE_2
: Der Name der WAF-Signatur, die Sie deaktivieren möchten.
Das dritte Beispiel ähnelt dem zweiten, aber anstatt zwei Signaturen zu deaktivieren, aktivieren Sie zwei Regelsignaturen. Regelsignaturen können nur aktiviert werden, wenn die Empfindlichkeitsstufe auf 0
festgelegt ist:
Console
Wählen Sie Erweiterter Modus aus und verwenden Sie dann den folgenden Beispielausdruck im Feld Abgleich:
evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': 0, 'opt_in_rule_ids': ['SIGNATURE_1', 'SIGNATURE_2']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': 0, 'opt_in_rule_ids': ['SIGNATURE_1', 'SIGNATURE_2']})" \ --action deny-403
Ersetzen Sie Folgendes:
PRIORITY
: die Priorität der SicherheitsrichtliniePOLICY_NAME
: Der Name der Sicherheitsrichtlinie, die Sie einrichten möchten.RULE_NAME
: Der Name der WAF-Regel, die Sie einrichten möchten.SIGNATURE_1
: Der Name der WAF-Signatur, die Sie deaktivieren möchten.SIGNATURE_2
: Der Name der WAF-Signatur, die Sie deaktivieren möchten.
In allen vorherigen Beispielen verwenden Sie nur einen Ausdruck pro Regel. Sie können Ausdrücke zwar mit dem logischen Operator ODER (||
) kombinieren, wir empfehlen jedoch, pro Regel nur einen Ausdruck zu verwenden, um die maximale Ausdrucksgröße nicht zu überschreiten.
Prüflimit für vorkonfigurierte WAF-Regeln aktualisieren
Vorkonfigurierte WAF-Regeln für Google Cloud Armor können nur die ersten 64 KB (entweder 8 KB, 16 KB, 32 KB, 48 KB oder 64 KB) eines Anfragetexts prüfen. Sie können eine Sicherheitsrichtlinie manuell so konfigurieren, dass eines dieser Prüflimits für Ihre vorkonfigurierten WAF-Regeln verwendet wird.
Mit dem folgenden Befehl wird das Prüflimit aller vorkonfigurierten WAF-Regeln, die in der Richtlinie POLICY_NAME
verfügbar sind, mit dem Flag --request-body-inspection-size
auf 8 kB festgelegt. Weitere Informationen zu den Prüflimits der vorkonfigurierten WAF-Regeln finden Sie unter Beschränkung der POST- und PATCH-Textkörperprüfung.
gcloud compute security-policies update POLICY_NAME \ --request-body-inspection-size = 8 kB
Ersetzen Sie POLICY_NAME
durch den Namen der Sicherheitsrichtlinie, die Sie einrichten möchten.
Ebenso können Sie mit dem Flag --request-body-inspection-size
das Prüflimit aller vorkonfigurierten WAF-Regeln in der Richtlinie POLICY_NAME
auf 16 kB, 32 kB, 48 kB oder 64 kB festlegen.
Risiko bei Anfragetexten, die das konfigurierte Prüflimit überschreiten, minimieren
Wenn eine vorkonfigurierte WAF-Regel in einer Google Cloud Armor-Sicherheitsrichtlinie ausgewertet wird, werden bis zu den ersten 64 KB (entweder 8 KB, 16 KB, 32 KB, 48 KB oder 64 KB) eines Anfrage-Textkörpers auf Signaturübereinstimmungen mit den WAF-Regeln geprüft.
Sie können das Risiko von größeren Anfragen minimieren. Erstellen Sie dazu in Ihren Sicherheitsrichtlinien eine Regel, damit keine nicht geprüften Inhalte Ihre Back-Ends erreichen. Erstellen Sie beispielsweise eine Regel, die Traffic ablehnt, der das konfigurierte Prüflimit von 8 KB (8.192 Byte) in der Größe des Anfragetexts überschreitet. Der folgende Befehl zeigt, wie diese Regel erstellt wird:
gcloud compute security-policies rules create 10 \ --security-policy my-policy \ --expression "int(request.headers['content-length']) > 8192" \ --action deny-403 \ --description "Block requests greater than 8 kB"
Ebenso können Sie eine Regel erstellen, die Traffic ablehnt, der die konfigurierten Prüfgrenzwerte von 16 kB, 32 kB, 48 kB oder 64 kB in der Größe des Anfrage-Bodys überschreitet. Mit dem folgenden Befehl wird beispielsweise gezeigt, wie diese Regel für das Prüflimit von 64 kB (65.536 Byte) erstellt wird.
gcloud compute security-policies rules create 10 \ --security-policy my-policy \ --expression "int(request.headers['content-length']) > 65536" \ --action deny-403 \ --description "Block requests greater than 64 kB"
Beispiele
Die Beispiele in diesem Abschnitt veranschaulichen wichtige Aspekte beim Erstellen und Optimieren vorkonfigurierter WAF-Regeln, einschließlich der Empfindlichkeitsstufe und Signaturausnahmen.
In allen gcloud CLI-Beispielbefehlen erstellen Sie eine Sicherheitsrichtlinie mit dem Namen POLICY_NAME
und der Priorität PRIORITY
.
Regel mit einer bestimmten Empfindlichkeitsstufe erstellen
In diesem Beispiel verwenden Sie alle Signaturen in der WAF-Regel sqli-v33-stable
mit einer Empfindlichkeitsstufe unter 4. Daher erstellen Sie die Regel mit Empfindlichkeitsstufe 3, die alle Signaturen mit einer Empfindlichkeitsstufe kleiner oder gleich 3 umfasst:
Console
Wählen Sie Erweiterter Modus aus und verwenden Sie dann den folgenden Beispielausdruck im Feld Abgleich:
evaluatePreconfiguredWaf('sqli-v33-stable', {'sensitivity': 3})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('sqli-v33-stable', {'sensitivity': 3})" \ --action deny-403
Ersetzen Sie Folgendes:
PRIORITY
: die Priorität der SicherheitsrichtliniePOLICY_NAME
: Der Name der Sicherheitsrichtlinie, die Sie einrichten möchten.
Regel zum Deaktivieren einer oder mehrerer Signaturen erstellen
In diesem Beispiel verwenden Sie fast alle Signaturen der Sensitivitätsstufen 1 und 2 in der WAF-Regel xss-v33-stable
, möchten aber die Signatur owasp-crs-v030301-id941370-xss
ausschließen, mit der nach globalen JavaScript-Variablen gesucht wird.
Daher erstellen Sie die Regel mit Empfindlichkeitsstufe 2 und verwenden das Argument opt_out_rule_ids
, um die Signatur owasp-crs-v030301-id941370-xss
zu deaktivieren:
Console
Wählen Sie Erweiterter Modus aus und verwenden Sie dann den folgenden Beispielausdruck im Feld Abgleich:
evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 2, 'opt_out_rule_ids': ['owasp-crs-v030301-id941370-xss']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 2, 'opt_out_rule_ids': ['owasp-crs-v030301-id941370-xss']})" \ --action deny-403
Ersetzen Sie Folgendes:
PRIORITY
: die Priorität der SicherheitsrichtliniePOLICY_NAME
: Der Name der Sicherheitsrichtlinie, die Sie einrichten möchten.
Wenn Sie zwei oder mehr Signaturen aus einer Regel ausschließen möchten, geben Sie eine durch Kommas getrennte Liste von Signaturen mit dem Argument opt_out_rule_ids
an:
Console
Wählen Sie Erweiterter Modus aus und verwenden Sie dann den folgenden Beispielausdruck im Feld Abgleich:
evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 2, 'opt_out_rule_ids': ['owasp-crs-v030301-id941370-xss', 'owasp-crs-v030301-id941380-xss']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 2, 'opt_out_rule_ids': ['owasp-crs-v030301-id941370-xss', 'owasp-crs-v030301-id941380-xss']})" \ --action deny-403
Ersetzen Sie Folgendes:
PRIORITY
: die Priorität der SicherheitsrichtliniePOLICY_NAME
: Der Name der Sicherheitsrichtlinie, die Sie einrichten möchten.
Regel erstellen, mit der eine oder mehrere Signaturen aktiviert werden
In diesem Beispiel wird nur die Signatur owasp-crs-v030001-id941150-xss
aus der WAF-Regel xss-v33-stable
verwendet. Die Signatur sucht nach nicht zulässigen HTML-Attributen und entspricht der Empfindlichkeitsstufe 2.
Daher erstellen Sie die Regel auf Empfindlichkeitsstufe 0 und verwenden das Argument opt_in_rule_ids
, um die Signatur owasp-crs-v030001-id941150-xss
zu aktivieren. Regelsignaturen können nur aktiviert werden, wenn Sie die Empfindlichkeitsstufe auf 0
festlegen:
Console
Wählen Sie Erweiterter Modus aus und verwenden Sie dann den folgenden Beispielausdruck im Feld Abgleich:
evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 0, 'opt_in_rule_ids': ['owasp-crs-v030301-id941150-xss']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 0, 'opt_in_rule_ids': ['owasp-crs-v030301-id941150-xss']})" \ --action deny-403
Ersetzen Sie Folgendes:
PRIORITY
: die Priorität der SicherheitsrichtliniePOLICY_NAME
: Der Name der Sicherheitsrichtlinie, die Sie einrichten möchten.
Wenn Sie zwei oder mehr Signaturen aus einer Regel einfügen möchten, geben Sie mit dem Argument opt_in_rule_ids
eine durch Kommas getrennte Liste von Signaturen an:
Console
Wählen Sie Erweiterter Modus aus und verwenden Sie dann den folgenden Beispielausdruck im Feld Abgleich:
evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 0, 'opt_in_rule_ids': ['owasp-crs-v030301-id941150-xss', 'owasp-crs-v030301-id941320-xss']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 0, 'opt_in_rule_ids': ['owasp-crs-v030301-id941150-xss', 'owasp-crs-v030301-id941320-xss']})" \ --action deny-403
Ersetzen Sie Folgendes:
PRIORITY
: die Priorität der SicherheitsrichtliniePOLICY_NAME
: Der Name der Sicherheitsrichtlinie, die Sie einrichten möchten.
Nächste Schritte
- Weitere Informationen zum Optimieren von WAF-Regeln finden Sie unter Vorkonfigurierte WAF-Regeln für Google Cloud Armor optimieren.