Adaptiven Schutz konfigurieren

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

Hinweis

In den folgenden Abschnitten werden alle IAM-Rollen und -Berechtigungen (Identity and Access Management) erläutert, die zum Konfigurieren von Google 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 Security Admin“ für Identity and Access Management (IAM) (roles/compute.securityAdmin) erforderlich:

  • Cloud Armor-Sicherheitsrichtlinie 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 Network Admin“ (roles/compute.networkAdmin) kann die folgenden Vorgänge ausführen:

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

Nutzer mit der Rolle „Security Admin“ (roles/iam.securityAdmin) und der Rolle „Compute Network Admin“ (roles/compute.networkAdmin) können sich Cloud Armor-Sicherheits richtlinien 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, die zugehörigen API-Methoden und die Rollen aufgeführt, die diese Berechtigung gewähren.

IAM-Berechtigung API-Methoden Rollen
compute.securityPolicies.create SecurityPolicies insert Compute Security Admin (roles/compute.securityAdmin)
compute.securityPolicies.delete SecurityPolicies delete Compute Security Admin (roles/compute.securityAdmin)
compute.securityPolicies.get SecurityPolicies get
SecurityPolicies getRule
Security Admin (roles/iam.securityAdmin)
compute.securityPolicies.list SecurityPolicies list Security Admin (roles/iam.securityAdmin)
Beide der folgenden:
  • compute.securityPolicies.use
  • compute.backendServices.
    setSecurityPolicy
BackendServices
setSecurityPolicy
Compute Network Admin (roles/compute.networkAdmin)
compute.securityPolicies.update SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
Compute Security Admin (roles/compute.securityAdmin)

Adaptive Protection aktivieren

Führen Sie die folgenden Schritte aus, um Adaptive Protection für Ihre Sicherheitsrichtlinie zu aktivieren. Adaptive Protection wird auf jede Sicherheitsrichtlinie einzeln angewendet.

Console

So aktivieren Sie Adaptive Protection für eine Sicherheitsrichtlinie:

  1. Rufen Sie in der Google Cloud Console die Netzwerksicherheit Seite 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 Netzwerksicherheit Seite auf.

    Netzwerksicherheit aufrufen

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

  3. Klicken Sie auf Bearbeiten.

  4. Heben Sie unter Adaptive Protection die Option Aktivieren auf.

  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 granulare Modelle können Sie bestimmte Hosts oder Pfade als granulare Einheiten konfigurieren, die von Adaptive Protection analysiert werden. In den folgenden Beispielen erstellen Sie granulare Trafficeinheiten für jeden Host, passen eine granulare Trafficeinheit an und konfigurieren Adaptive Protection so, dass Maßnahmen ergriffen werden, wenn der Traffic Ihre Basisabfragen pro Sekunde (QPS) überschreitet. Weitere Informationen zu granularen Modellen finden Sie in der Übersicht zu Adaptive Protection.

Granulare Trafficeinheiten konfigurieren

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

Flag Beschreibung
--threshold-config-name Der Name der Grenzwertkonfiguration.
--traffic-granularity-configs Konfigurationsoptionen, mit denen Adaptive Protection auf die angegebene Dienstgranularität angewendet werden kann.
--auto-deploy-impacted-baseline-threshold Grenzwert für die geschätzte Auswirkung der vorgeschlagenen Abhilferegel von Adaptive Protection auf den Basistraffic eines erkannten Angriffs. Automatische Abwehrmaßnahmen werden nur angewendet, wenn der Grenzwert nicht überschritten wird.
--auto-deploy-expiration-sec Die Dauer der Maßnahmen, die gegebenenfalls durch die automatische Bereitstellung ergriffen werden.
--detection-load-threshold Erkennungsgrenzwert basierend auf der Last des Backend-Dienstes.
--detection-absolute-qps Erkennungsgrenzwert basierend auf absoluten Abfragen pro Sekunde.
--detection-relative-to-baseline-qps Erkennungsgrenzwert basierend auf Abfragen pro Sekunde im Verhältnis zum Durchschnitt des Basistraffics.

Im ersten Beispiel konfigurieren Sie Adaptive Protection so, dass Angriffe auf jeden Host hinter Ihrem Backend-Dienst erkannt und unabhängige Abhilfemaß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 Backend-Dienst mit mehreren Hosts an.
  4. Verwenden Sie den folgenden Befehl add-layer7-ddos-defense-threshold-config mit dem Flag --traffic-granularity-configs, um eine granulare 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 Grenzwert 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 granulare Trafficeinheit, die Sie anpassen möchten, und 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 den durchschnittlichen Basis-QPS-Wert überschreitet

Im folgenden Beispiel konfigurieren Sie Adaptive Protection so, dass ein Angriff nur erkannt wird, wenn das Angriffsvolumen den durchschnittlichen Basis-QPS-Wert um mehr als 50 % überschreitet und nur, wenn 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 Backend-Dienst an.

  4. Verwenden Sie den folgenden Befehl, um Adaptive Protection mit angepassten Erkennungsgrenzwerten 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