Google Cloud Armor Adaptive Protection konfigurieren

Auf dieser Seite finden Sie Informationen zum Konfigurieren von Adaptive Protection. Bevor Sie Adaptive Protection konfigurieren, sollten Sie sich mit den Informationen in der Übersicht zu Adaptive Protection und den Anwendungsfällen für Adaptive Protection vertraut machen.

Hinweise

In den folgenden Abschnitten werden alle IAM-Rollen (Identity and Access Management) und Berechtigungen beschrieben, die zum Konfigurieren von Cloud Armor-Sicherheitsrichtlinien erforderlich sind. Für die Anwendungsfälle in diesem Dokument benötigen Sie nur die Berechtigung compute.securityPolicies.update.

IAM-Berechtigungen für Cloud Armor-Sicherheitsrichtlinien einrichten

Für die folgenden Vorgänge ist die Rolle Compute-Sicherheitsadministrator (roles/compute.securityAdmin) für Identity and Access Management (IAM) erforderlich:

  • Cloud Armor-Sicherheitsrichtlinien konfigurieren, ändern, aktualisieren und löschen
  • Mit den folgenden API-Methoden:
    • SecurityPolicies insert
    • SecurityPolicies delete
    • SecurityPolicies patch
    • SecurityPolicies addRule
    • SecurityPolicies patchRule
    • SecurityPolicies removeRule

Ein Nutzer mit der Rolle „Compute-Netzwerkadministrator“ (roles/compute.networkAdmin) kann die folgenden Vorgänge ausführen:

  • Cloud Armor-Sicherheitsrichtlinie für einen Back-End-Dienst festlegen
  • Mit den folgenden API-Methoden:
    • BackendServices setSecurityPolicy
    • BackendServices list (nur gcloud)

Nutzer mit der Rolle „Sicherheitsadministrator“ (roles/iam.securityAdmin) und der Rolle „Compute-Netzwerkadministrator“ können sich Cloud Armor-Sicherheitsrichtlinien mithilfe der SecurityPolicies-API-Methoden get, list und getRule ansehen.

IAM-Berechtigungen für benutzerdefinierte Rollen einrichten

In der folgenden Tabelle sind die grundlegenden Berechtigungen der IAM-Rollen und die zugehörigen API-Methoden aufgeführt.

IAM-Berechtigung API-Methoden
compute.securityPolicies.create SecurityPolicies insert
compute.securityPolicies.delete SecurityPolicies delete
compute.securityPolicies.get SecurityPolicies get
SecurityPolicies getRule
compute.securityPolicies.list SecurityPolicies list
compute.securityPolicies.use BackendServices setSecurityPolicy
compute.securityPolicies.update SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
compute.backendServices.setSecurityPolicy BackendServices setSecurityPolicy

Adaptive Protection aktivieren

So aktivieren Sie Adaptive Protection für Ihre Sicherheitsrichtlinie: Adaptive Protection wird für jede Sicherheitsrichtlinie einzeln angewendet.

Console

So aktivieren Sie Adaptive Protection für eine Sicherheitsrichtlinie:

  1. Rufen Sie in der Google Cloud -Console die Seite Netzwerksicherheit auf.

    Netzwerksicherheit aufrufen

  2. Klicken Sie auf der Seite Richtlinien auf den Namen einer Sicherheitsrichtlinie.

  3. Klicken Sie auf Bearbeiten.

  4. Wählen Sie unter Adaptive Protection die Option Aktivieren aus.

  5. Klicken Sie auf Aktualisieren.

So deaktivieren Sie Adaptive Protection für eine Sicherheitsrichtlinie:

  1. Rufen Sie in der Google Cloud -Console die Seite Netzwerksicherheit auf.

    Netzwerksicherheit aufrufen

  2. Klicken Sie auf der Seite Richtlinien auf den Namen einer Sicherheitsrichtlinie.

  3. Klicken Sie auf Bearbeiten.

  4. Entfernen Sie unter Adaptive Protection das Häkchen bei Aktivieren.

  5. Klicken Sie auf Aktualisieren.

gcloud

So aktivieren Sie Adaptive Protection für eine Sicherheitsrichtlinie:

gcloud compute security-policies update MY-SECURITY-POLICY \
    --enable-layer7-ddos-defense

So deaktivieren Sie Adaptive Protection für eine Sicherheitsrichtlinie:

gcloud compute security-policies update MY-SECURITY-POLICY \
    --no-enable-layer7-ddos-defense

Granulare Modelle konfigurieren

Mit der Funktion für detaillierte Modelle können Sie bestimmte Hosts oder Pfade als detaillierte Einheiten konfigurieren, die von Adaptive Protection analysiert werden. In den folgenden Beispielen erstellen Sie detaillierte Trafficeinheiten für jeden Host, passen eine detaillierte Trafficeinheit an und konfigurieren Adaptive Protection so, dass Maßnahmen ergriffen werden, wenn der Traffic Ihre Baseline-QPS überschreitet. Weitere Informationen zu detaillierten Modellen finden Sie in der Übersicht zu Adaptive Protection.

Granulare Trafficeinheiten konfigurieren

In den Beispielen in diesem Abschnitt wird der Befehl add-layer7-ddos-defense-threshold-config mit einigen oder allen der folgenden Flags verwendet:

Flag Beschreibung
--threshold-config-name Der Name der Grenzwertkonfiguration.
--traffic-granularity-configs Konfigurationsoptionen, um den adaptiven Schutz auf der angegebenen Dienstgranularität zu aktivieren.
--auto-deploy-impacted-baseline-threshold Grenzwert für die geschätzte Auswirkung von Adaptive Protection auf den Basistraffic der vorgeschlagenen Regel zur Risikominderung für einen erkannten Angriff. Automatische Schutzmaßnahmen werden nur angewendet, wenn der Schwellenwert nicht überschritten wird.
--auto-deploy-expiration-sec Die Dauer von Aktionen, die durch die automatische Bereitstellung ausgeführt werden.
--detection-load-threshold Erkennungsschwelle basierend auf der Last des Back-End-Dienstes.
--detection-absolute-qps Erkennungsschwellenwert basierend auf absoluten Abfragen pro Sekunde.
--detection-relative-to-baseline-qps Erkennungsschwelle basierend auf QPS im Verhältnis zum Durchschnitt des Basislinientraffics.

Im ersten Beispiel konfigurieren Sie Adaptive Protection so, dass Angriffe auf jeden Host hinter Ihrem Backend-Dienst erkannt und unabhängige Gegenmaßnahmen vorgeschlagen werden, ohne dass Standardgrenzwerte überschrieben werden.

gcloud

  1. Erstellen Sie eine Sicherheitsrichtlinie mit dem Namen POLICY_NAME oder verwenden Sie eine vorhandene Sicherheitsrichtlinie.
  2. Wenn Adaptive Protection noch nicht aktiviert ist, verwenden Sie den folgenden Befehl, um Adaptive Protection für Ihre Richtlinie zu aktivieren:
    gcloud compute security-policies update POLICY_NAME 
    --enable-layer7-ddos-defense
  3. Wenden Sie die Sicherheitsrichtlinie auf einen Back-End-Dienst mit mehreren Hosts an.
  4. Verwenden Sie den folgenden add-layer7-ddos-defense-threshold-config-Befehl mit dem Flag --traffic-granularity-configs, um eine detaillierte Trafficeinheit zu konfigurieren:
    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME 
    --threshold-config-name=per-host-config
    --traffic-granularity-configs=type=HTTP_HEADER_HOST;enableEachUniqueValue=true

Im zweiten Beispiel konfigurieren Sie unterschiedliche Grenzwerte für die automatische Bereitstellung und Erkennung für einige oder alle granularen Trafficeinheiten, die Sie im ersten Beispiel konfiguriert haben.

gcloud

  1. Wenn die automatische Bereitstellung von Adaptive Protection noch nicht aktiviert ist, erstellen Sie eine Platzhalterregel.
  2. Mit dem folgenden Befehl wird der Schwellenwert für die automatische Bereitstellung für eine granulare Trafficeinheit mit einem HTTP_HEADER_HOST von HOST und einem HTTP_PATH von PATH angepasst. Verwenden Sie diesen Befehl für jede detaillierte Trafficeinheit, die Sie anpassen möchten. Ersetzen Sie die Variablen nach Bedarf für jeden Host und URL-Pfad:
    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME 
    --threshold-config-name=my-host-config
    --auto-deploy-impacted-baseline-threshold=0.01
    --auto-deploy-expiration-sec=3600
    --traffic-granularity-configs=type=HTTP_HEADER_HOST;value=HOST,type=HTTP_PATH;value=PATH

Erkennen, wenn das Angriffsvolumen die durchschnittlichen Basis-QPS überschreitet

Im folgenden Beispiel konfigurieren Sie Adaptive Protection so, dass ein Angriff nur erkannt wird, wenn das Angriffsvolumen den durchschnittlichen QPS-Wert der Baseline um mehr als 50 % überschreitet und die Last des Backend-Dienstes mehr als 90% seiner Kapazität beträgt.

gcloud

  1. Erstellen Sie eine Sicherheitsrichtlinie mit dem Namen POLICY_NAME oder verwenden Sie eine vorhandene Sicherheitsrichtlinie.
  2. Wenn Adaptive Protection noch nicht aktiviert ist, verwenden Sie den folgenden Befehl, um Adaptive Protection für Ihre Richtlinie zu aktivieren:

    gcloud compute security-policies update POLICY_NAME \
      --enable-layer7-ddos-defense
    
  3. Wenden Sie die Sicherheitsrichtlinie auf einen Back-End-Dienst an.

  4. Verwenden Sie den folgenden Befehl, um Adaptive Protection mit benutzerdefinierten Erkennungsschwellenwerten zu konfigurieren:

    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME \
       --threshold-config-name=my-customized-thresholds \
       --detection-load-threshold=0.9 \
       --detection-relative-to-baseline-qps=1.5
    

Nächste Schritte