Zum Schutz Ihrer Dienste und Anwendungen vor DoS-Angriffen (Denial of Service) und Webangriffen können Sie Google Cloud Armor in andere Google Cloud Produkte einbinden. In diesem Dokument wird erläutert, wie Cloud Armor mit VPC-Firewallregeln, Identity-Aware Proxy (IAP), Google Kubernetes Engine (GKE) und Cloud CDN interagiert.
Cloud Armor und VPC-Firewallregeln
Cloud Armor-Sicherheitsrichtlinien und VPC-Firewall regeln haben unterschiedliche Funktionen:
- Cloud Armor-Sicherheitsrichtlinien bieten Edge-Sicherheit und reagieren auf Clienttraffic zu Google Front Ends (GFEs).
- VPC-Firewallregeln lassen Traffic zu und von Ihren Back-Ends zu oder lehnen ihn ab. Sie müssen Firewallregeln zum Zulassen von eingehendem Traffic erstellen, deren Ziele die Backend-VMs mit Load-Balancing sind und deren Quellen IP-Bereiche sind, die von globalen externen Application Load Balancern oder klassischen Application Load Balancern verwendet werden. Diese Regeln ermöglichen es GFEs und den Systemdiagnosesystemen, mit Ihren Back-End-VMs zu kommunizieren.
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 Ihren globalen externen Application Load Balancer oder klassischen Application Load Balancer zulassen möchten. Es muss verhindert werden, dass der Traffic die Backend-Instanzen mit Load-Balancing direkt erreicht. 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 geleitet wird, kann die Instanzen erreichen.
Das vorherige Diagramm zeigt die folgende Bereitstellungskonfiguration:
- Erstellen Sie zwei Instanzgruppen, eine in der Region
us-west1und eine andere in der Regioneurope-west1. - Stellen Sie Back-End-Anwendungsinstanzen auf den VMs in den Instanzgruppen bereit.
- Erstellen Sie einen globalen externen Application Load Balancer oder einen klassischen Application Load Balancer in der Premium-Stufe. Konfigurieren Sie eine URL-Zuordnung und einen einzelnen Back-End-Dienst, dessen Back-Ends die beiden Instanzgruppen sind, die Sie im vorherigen Schritt erstellt haben. Die Weiterleitungsregel des Load-Balancers muss die externe IP-Adresse
120.1.1.1verwenden. - Konfigurieren Sie eine 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.
- Verknüpfen Sie diese Richtlinie mit dem Back-End-Dienst des Load-Balancers. Eine Anleitung finden Sie unter Cloud Armor-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.
- Konfigurieren Sie Firewallregeln zum Zulassen von eingehendem Traffic, um den Traffic vom globalen externen Application Load Balancer oder vom klassischen Application Load Balancer zuzulassen. Weitere Informationen finden Sie unter siehe Firewallregeln.
Cloud Armor mit Cloud Run, App Engine oder Cloud Run Functions
Sie können Cloud Armor-Sicherheitsrichtlinien mit einem serverlosen NEG-Back-End verwenden, das auf einen Cloud Run, App Engine oder Cloud Run Functions Dienst verweist.
Wenn Sie Cloud Armor jedoch mit serverlosen NEGs, Cloud Run oder Cloud Run Functions verwenden, muss der gesamte Zugriff auf den serverlosen Endpunkt über eine Cloud Armor-Sicherheitsrichtlinie gefiltert werden.
Nutzer mit der Standard-URL für eine serverlose Anwendung können den Load-Balancer umgehen und direkt die Dienst-URL aufrufen. Dadurch werden die Cloud Armor-Sicherheitsrichtlinien umgangen. Deaktivieren Sie die Standard-URL, die automatisch Cloud Run-Diensten oder Cloud Run Functions (2. Generation) zugewiesen wird, um dieses Problem zu beheben. Google Cloud Zum Schutz von App Engine Anwendungen können Sie Ingress-Steuerungen verwenden.
Wenn Sie Ingress-Steuerungen verwenden, um Ihre Zugriffssteuerungen auf den gesamten eingehenden
Traffic anzuwenden, können Sie die internal-and-gclb Ingress-Einstellung verwenden, wenn Sie
Cloud Run Functions
oder Cloud Run konfigurieren.
Die Ingress-Einstellung internal-and-gclb 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 diese Standard-URLs von außerhalb Ihres privaten Netzwerks gesendet wird, wird blockiert.
Dadurch wird verhindert, dass Nutzer Zugriffssteuerungen (z. B. 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.
Cloud Armor mit Cloud Service Mesh
Sie können Sicherheitsrichtlinien für interne Dienste für Ihr Service Mesh konfigurieren, um die globale serverseitige Ratenbegrenzung pro Client zu erzwingen. So können Sie die verfügbare Kapazität Ihres Dienstes fair aufteilen und das Risiko verringern, dass böswillige oder fehlerhafte Clients Ihre Dienste überlasten. Sie hängen eine Sicherheitsrichtlinie an eine Cloud Service Mesh-Endpunktrichtlinie an, um die Ratenbegrenzung für eingehenden Traffic serverseitig zu erzwingen. Wenn Sie TCP-Traffic-Routing verwenden, können Sie jedoch keine Cloud Armor-Sicherheitsrichtlinie konfigurieren. Weitere Informationen zur Verwendung von Cloud Armor mit Cloud Service Mesh finden Sie unter Ratenbegrenzung mit Cloud Armor konfigurieren.