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 insertSecurityPolicies deleteSecurityPolicies patchSecurityPolicies addRuleSecurityPolicies patchRuleSecurityPolicies 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 setSecurityPolicyBackendServices list(nurgcloud)
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 getSecurityPolicies getRule |
Security Admin (roles/iam.securityAdmin) |
compute.securityPolicies.list |
SecurityPolicies list |
Security Admin (roles/iam.securityAdmin) |
Beide der folgenden:
|
BackendServices |
Compute Network Admin (roles/compute.networkAdmin) |
compute.securityPolicies.update |
SecurityPolicies patchSecurityPolicies addRuleSecurityPolicies patchRuleSecurityPolicies 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:
Rufen Sie in der Google Cloud Console die Netzwerksicherheit Seite auf.
Klicken Sie auf der Seite Richtlinien auf den Namen einer Sicherheitsrichtlinie.
Klicken Sie auf Bearbeiten.
Wählen Sie unter Adaptive Protection die Option Aktivieren aus.
Klicken Sie auf Aktualisieren.
So deaktivieren Sie Adaptive Protection für eine Sicherheitsrichtlinie:
Rufen Sie in der Google Cloud Console die Netzwerksicherheit Seite auf.
Klicken Sie auf der Seite Richtlinien auf den Namen einer Sicherheitsrichtlinie.
Klicken Sie auf Bearbeiten.
Heben Sie unter Adaptive Protection die Option Aktivieren auf.
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
- Erstellen Sie eine Sicherheitsrichtlinie mit dem Namen
POLICY_NAMEoder verwenden Sie eine vorhandene Sicherheitsrichtlinie. - 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 - Wenden Sie die Sicherheitsrichtlinie auf einen Backend-Dienst mit mehreren Hosts an.
- Verwenden Sie den folgenden Befehl
add-layer7-ddos-defense-threshold-configmit 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
- Wenn die automatische Bereitstellung von Adaptive Protection noch nicht aktiviert ist, erstellen Sie eine Platzhalterregel.
- Mit dem folgenden Befehl wird der Grenzwert für die automatische Bereitstellung für eine granulare
Trafficeinheit mit einem
HTTP_HEADER_HOSTvonHOSTund einemHTTP_PATHvonPATHangepasst. 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
- Erstellen Sie eine Sicherheitsrichtlinie mit dem Namen
POLICY_NAMEoder verwenden Sie eine vorhandene Sicherheitsrichtlinie. 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
Wenden Sie die Sicherheitsrichtlinie auf einen Backend-Dienst an.
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