Google Cloud Armor in andere Google-Produkte integrieren

In den folgenden Abschnitten wird erläutert, wie Google Cloud Armor mit anderen Google Cloud-Features und -Produkten interagiert.

Google Cloud Armor- und VPC-Firewallregeln

Google Cloud Armor-Sicherheitsrichtlinien und VPC-Firewallregeln haben unterschiedliche Funktionen.

Stellen Sie sich beispielsweise ein Szenario vor, in dem Sie nur Traffic aus dem CIDR-Bereich 100.1.1.0/24 und dem CIDR-Bereich 100.1.2.0/24 für den Zugriff auf den globalen externen oder klassischen Application Load Balancer zulassen möchten. Es muss dafür gesorgt werden, dass der Traffic die Backend-Instanzen mit Load-Balancing nicht direkt erreichen kann. Mit anderen Worten: Nur externer Traffic, der über den globalen externen Application Load Balancer oder den klassischen Application Load Balancer mit einer zugehörigen Sicherheitsrichtlinie weitergeleitet wird, sollte die Instanzen erreichen.

Google Cloud Armor-Sicherheitsrichtlinien mit Firewalls für eingehenden Traffic verwenden, um den Zugriff einzuschränken
Google Cloud Armor-Sicherheitsrichtlinie mit Firewalls für eingehenden Traffic verwenden, um den Zugriff einzuschränken (zum Vergrößern klicken).

In der vorherigen Abbildung erreichen Sie Ihre Sicherheitsziele, indem Sie Ihre Google Cloud-Bereitstellung so konfigurieren:

  1. Erstellen Sie zwei Instanzgruppen, eine in der Region us-west1 und eine andere in der Region europe-west1.
  2. Stellen Sie Back-End-Anwendungsinstanzen auf den VMs in den Instanzgruppen bereit.
  3. Einen globalen externen oder klassischen Application Load Balancer in der Premium-Stufe erstellen Konfigurieren Sie eine einfache URL-Zuordnung und einen einzelnen Back-End-Dienst, dessen Back-Ends die beiden Instanzgruppen sind, die Sie im vorherigen Schritt erstellt haben. Sorgen Sie dafür, dass die Weiterleitungsregel des Load-Balancers die externe IP-Adresse 120.1.1.1 verwendet.
  4. Konfigurieren Sie eine Google Cloud Armor-Sicherheitsrichtlinie, die Traffic von 100.1.1.0/24 und 100.1.2.0/24 zulässt und den gesamten anderen Traffic ablehnt.
  5. Verknüpfen Sie diese Richtlinie mit dem Back-End-Dienst des Load-Balancers. Eine Anleitung finden Sie unter Sicherheitsrichtlinien konfigurieren. Externe HTTP(S)-Load-Balancer mit komplexeren URL-Zuordnungen können auf mehrere Back-End-Dienste verweisen. Sie können die Sicherheitsrichtlinie bei Bedarf mit einem oder mehreren der Back-End-Dienste verknüpfen.
  6. Konfigurieren Sie Firewallregeln zum Zulassen von eingehendem Traffic, um Traffic vom globalen externen Application Load Balancer oder vom klassischen Application Load Balancer zuzulassen. Weitere Informationen finden Sie unter Firewallregeln.

Google Cloud Armor mit externen Application Load Balancern und IAP

Identity-Aware Proxy (IAP) überprüft die Identität eines Nutzers und bestimmt dann, ob diesem Nutzer der Zugriff auf eine Anwendung gestattet werden soll. Um IAP für den globalen externen Application Load Balancer oder den klassischen Application Load Balancer zu aktivieren, aktivieren Sie IAP in den Backend-Diensten des Load-Balancers. In ähnlicher Weise werden Edge-Google Cloud Armor-Sicherheitsrichtlinien an die Backend-Dienste eines globalen externen Application Load Balancers oder eines klassischen Application Load Balancers angehängt.

Wenn sowohl Google Cloud Armor-Sicherheitsrichtlinien als auch IAP für einen Back-End-Dienst aktiviert sind, hängt die Reihenfolge der Auswertung vom Typ des Load-Balancers ab:

  • Bei einem Back-End-Dienst eines globalen externen Application Load Balancers erfolgt die Google Cloud Armor-Evaluierung zuerst. Wenn Google Cloud Armor eine Anfrage blockiert, wertet IAP die Anfrage nicht aus. Wenn Google Cloud Armor eine Anfrage zulässt, wertet IAP die Anfrage aus. Die Anfrage wird blockiert, wenn sie von IAP nicht authentifiziert wird.

  • Bei einem Back-End-Dienst eines klassischen Application Load Balancers erfolgt zuerst die IAP-Auswertung. Wenn IAP eine Anfrage authentifiziert, wertet Google Cloud Armor die Anfrage aus. Wenn eine Anfrage die IAP-Authentifizierung fehlschlägt, wertet Google Cloud Armor die Anfrage nicht aus.

Sperrlisten und Zulassungslisten für IP-Adressen mit IAP verwenden.
Sperrlisten und Zulassungslisten von IP-Adressen mit IAP verwenden (zum Vergrößern klicken)

Weitere Informationen zu IAP und zu den zugehörigen Konfigurationen finden Sie in der Dokumentation zum Identity-Aware Proxy.

Google Cloud Armor mit Hybridbereitstellungen

In einer Hybridbereitstellung benötigt ein globaler externer Application Load Balancer oder ein klassischer Application Load Balancer Zugriff auf eine Anwendung oder Contentquelle, die außerhalb von Google Cloud ausgeführt wird, z. B. in der Infrastruktur eines anderen Cloud-Anbieters. Zum Schutz solcher Bereitstellungen können Sie Google Cloud Armor verwenden.

In der folgenden Abbildung verfügt der Load-Balancer über zwei Back-End-Dienste. Einer hat eine Instanzgruppe als Back-End. Der andere Back-End-Dienst hat eine Internet-NEG als Back-End. Die Internet-NEG ist einer Anwendung zugeordnet, die im Rechenzentrum eines Drittanbieters ausgeführt wird.

Google Cloud Armor für Hybridbereitstellungen
Google Cloud Armor für Hybridbereitstellungen (zum Vergrößern klicken).

Wenn Sie eine Google Cloud Armor-Sicherheitsrichtlinie an den Back-End-Dienst anhängen, der eine Internet-NEG als Back-End hat, prüft Google Cloud Armor jede L7-Anfrage, die beim globalen externen oder klassischen Application Load Balancer eingeht, der für diesen Back-End-Dienst bestimmt ist.

Der Google Cloud Armor-Schutz für Hybridbereitstellungen unterliegt denselben Einschränkungen wie Internet-NEGs.

Google Cloud Armor mit Google Kubernetes Engine (GKE) Ingress

Nachdem Sie eine Google Cloud Armor-Sicherheitsrichtlinie konfiguriert haben, können Sie sie mit Kubernetes Ingress mit GKE aktivieren.

Wenn Sie die Sicherheitsrichtlinie mit einer BackendConfig-Ressource referenzieren möchten, fügen Sie den Namen der Sicherheitsrichtlinie in BackendConfig ein. Das folgende BackendConfig-Manifest gibt eine Sicherheitsrichtlinie mit dem Namen example-security-policy an:

apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
  namespace: cloud-armor-how-to
  name: my-backendconfig
spec:
  securityPolicy:
    name: "example-security-policy"

Weitere Informationen zu Ingress-Features finden Sie unter Ingress-Features konfigurieren.

Google Cloud Armor mit Cloud CDN

Zum Schutz der CDN-Ursprungsserver können Sie Google Cloud Armor mit Cloud CDN verwenden. Google Cloud Armor schützt Ihren CDN-Ursprungsserver vor Anwendungsangriffen, verringert die OWASP-Top-10-Risiken und erzwingt Filterrichtlinien für Ebene 7. Es gibt zwei Arten von Sicherheitsrichtlinien, die sich auf die Funktionsweise von Google Cloud Armor mit Cloud CDN auswirken: Edge-Sicherheitsrichtlinien und Back-End-Sicherheitsrichtlinien.

Edge-Sicherheitsrichtlinien

Sie können Edge-Sicherheitsrichtlinien für Cloud CDN-fähige Backend-Dienste und Cloud Storage-Backend-Buckets hinter dem globalen externen Application Load Balancer oder dem klassischen Application Load Balancer verwenden. Verwenden Sie Edge-Sicherheitsrichtlinien, um Anfragen zu filtern, bevor Inhalte aus dem Cache bereitgestellt werden.

Back-End-Sicherheitsrichtlinien

Wenn die Back-End-Sicherheitsrichtlinien von Google Cloud Armor auf Back-End-Dienste mit aktiviertem Cloud CDN angewendet werden, gelten sie nur für Anfragen, die an den Back-End-Dienst weitergeleitet werden. Diese Anfragen umfassen Anfragen für dynamische Inhalte und Cache-Fehler, also Anfragen, die den Cloud CDN-Cache übersehen oder umgehen.

Wenn Edge-Sicherheitsrichtlinien und Back-End-Sicherheitsrichtlinien an denselben Back-End-Dienst angehängt sind, werden Back-End-Sicherheitsrichtlinien nur für Cache-Fehleranfragen erzwungen, die Edge-Sicherheitsrichtlinien bestanden haben.

Das folgende Diagramm zeigt ausschließlich, wie Back-End-Sicherheitsrichtlinien mit Cloud CDN-Ursprüngen funktionieren, nachdem die Anfragen von den Edge-Sicherheitsrichtlinien zugelassen wurden.

Back-End-Sicherheitsrichtlinien von Google Cloud Armor mit Cloud CDN verwenden.
Google Cloud Armor-Back-End-Sicherheitsrichtlinien mit Cloud CDN verwenden (zum Vergrößern klicken).

Weitere Informationen zu Cloud CDN finden Sie in der Cloud CDN-Dokumentation.

Google Cloud Armor mit Cloud Run, App Engine oder Cloud Functions

Sie können Google Cloud Armor-Sicherheitsrichtlinien mit einem serverlosen NEG-Back-End verwenden, das auf einen Cloud Run-, App Engine- oder Cloud Functions-Dienst verweist.

Wenn Sie jedoch Google Cloud Armor mit serverlosen NEGs, Cloud Run oder Cloud Functions verwenden, müssen Sie spezielle Schritte ausführen, damit der gesamte Zugriff auf den serverlosen Endpunkt durch eine Google Cloud Armor-Sicherheitsrichtlinie gefiltert wird.

Nutzer, die die Standard-URL für eine serverlose Anwendung haben, können den Load-Balancer umgehen und direkt die Dienst-URL aufrufen. Dadurch werden Google Cloud Armor-Sicherheitsrichtlinien umgangen. Außerdem können Sie die URLs, die Google Cloud automatisch Cloud Run- oder Cloud Functions-Diensten zuweist, nicht deaktivieren. Zum Schutz dieser Anwendungen können Sie die App Engine-Steuerelemente für eingehenden Traffic oder die Cloud Run-Steuerelemente für eingehenden Traffic verwenden.

Damit die Zugriffssteuerungen auf den gesamten eingehenden Traffic angewendet werden, können Sie beim Konfigurieren von Cloud Functions oder Cloud Run internal-and-gclb verwenden. Dies lässt nur internen Traffic und Traffic zu, der an eine externe IP-Adresse gesendet wird, die vom globalen externen Application Load Balancer oder vom klassischen Application Load Balancer bereitgestellt wird. Traffic, der an cloudfunctions.net oder eine andere benutzerdefinierte Domain gesendet wird, die über Cloud Functions eingerichtet wurde, wird blockiert. Dadurch wird verhindert, dass Nutzer Zugriffssteuerungen (z. B. Google Cloud Armor-Sicherheitsrichtlinien) umgehen, die über den globalen externen Application Load Balancer oder den klassischen Application Load Balancer eingerichtet wurden.

Weitere Informationen zu serverlosen NEGs finden Sie unter Übersicht über serverlose Netzwerk-Endpunktgruppen und Serverlose NEGs einrichten.

Nächste Schritte