Sicherheitsrichtlinien für Netzwerk-Edge konfigurieren

Mit Sicherheitsrichtlinien für Netzwerk-Edges können Sie Regeln konfigurieren, um Traffic am Rand des Google-Netzwerks zuzulassen oder zu blockieren. Sie können Sicherheitsrichtlinien für Netzwerk-Edges für die folgenden Front-End-Typen konfigurieren:

  • Externe Passthrough-Netzwerk-Load-Balancer
  • Protokollweiterleitung
  • VMs mit öffentlichen IP-Adressen

Mit Sicherheitsrichtlinien des Netzwerk-Edges können Sie ähnlich wie bei der Cloud Next Generation Firewall nach Quell- und Ziel-IP-Adressbereichen filtern, ohne Ihre Ressourcen zu verbrauchen. Darüber hinaus ist eine Sicherheitsrichtlinie am Netzwerk-Edge der einzige Sicherheitsrichtlinientyp mit Unterstützung für die Byte-Offset-Filterung.

Benutzerdefinierte Regeln für Sicherheitsrichtlinien des Netzwerk-Edges konfigurieren

Wie Back-End- und Edge-Sicherheitsrichtlinien können Sie benutzerdefinierte Regeln für Sicherheitsrichtlinien des Netzwerk-Edges konfigurieren. Im folgenden Beispiel erstellen Sie eine Sicherheitsrichtlinie für den Netzwerk-Edge, konfigurieren eine benutzerdefinierte Regel, um Traffic nur von einem bestimmten Quell-IP-Adressbereich zuzulassen, und hängen die Richtlinie an Ihren Back-End-Dienst an.

Sicherheitsrichtlinien für Netzwerk-Edges unterstützen mehrere Google Cloud Armor-Filter, einschließlich eindeutiger Filter wie Byte-Offset-Filter. Weitere Informationen dazu, welche Features von Sicherheitsrichtlinien am Netzwerk-Edge unterstützt werden, finden Sie in der Übersicht der Sicherheitsrichtlinie. Darüber hinaus können Sie Sicherheitsrichtlinien für das Netzwerk-Edge im Vorschaumodus bereitstellen.

Bevor Sie fortfahren, müssen Sie sich bei Google Cloud Armor Enterprise registrieren und den erweiterten DDoS-Schutz für Netzwerke konfigurieren. Ohne ein aktives Cloud Armor Enterprise-Abo und erweiterten DDoS-Schutz für Netzwerke können Sie keine benutzerdefinierten Regeln für Sicherheitsrichtlinien am Netzwerk-Edge verwenden.

So konfigurieren Sie benutzerdefinierte Regeln:

  1. Erstellen Sie eine neue Sicherheitsrichtlinie für das Netzwerk-Edge mit dem Namen POLICY_NAME in der Region REGION. Verwenden Sie nicht dieselbe Sicherheitsrichtlinie, die Sie bei der Aktivierung des erweiterten DDoS-Schutzes für Netzwerke verwendet haben.

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION
    
  2. Ändern Sie die Standardregel Ihrer Richtlinie von allow zu deny, um Traffic zu blockieren, der von anderen Regeln nicht explizit zugelassen wird.

    gcloud compute security-policies rules update 2147483647 \
       --security-policy=POLICY_NAME \
       --action=deny \
       --region=REGION
    
  3. Fügen Sie in derselben Sicherheitsrichtlinie eine Regel mit der Priorität RULE_PRIORITY hinzu, die Anfragen im Quell-IP-Adressbereich RANGE zulässt.

    gcloud compute security-policies rules create RULE_PRIORITY \
       --security-policy=POLICY_NAME \
       --network-src-ip-ranges=RANGE \
       --action=allow \
       --region=REGION
    
  4. Verknüpfen Sie die Sicherheitsrichtlinie mit Ihrem Back-End-Dienst BACKEND_SERVICE_NAME.

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
       --security-policy=POLICY_NAME \
       --region=REGION
    

    Alternativ können Sie die Sicherheitsrichtlinie mithilfe des folgenden Befehls mit einer einzelnen VM-Instanz verknüpfen:

    gcloud beta compute instances network-interfaces update VM_NAME \
       --security-policy=POLICY_NAME \
       --security-policy-region=REGION \
       --network-interface=NETWORK_INTERFACE \
       --zone=ZONE_NAME
    
  5. Optional: Mit dem folgenden Befehl können Sie prüfen, ob die Sicherheitsrichtlinie angehängt wurde. Bei Erfolg enthält das Feld securityPolicy in der Ausgabe einen Link zu Ihrer Sicherheitsrichtlinienressource.

    gcloud compute instances describe VM_NAME --zone=ZONE_NAME
    

Nachdem Sie das vorherige Beispiel erstellt haben, können Sie Ihrer Sicherheitsrichtlinie für den Netzwerk-Edge mit dem Befehl security-policies rules update weitere Regeln hinzufügen. Folgende Felder werden für Sicherheitsrichtlinien am Netzwerk-Edge unterstützt:

Feld Flag Beschreibung
IP-Adresse der Quelle --network-src-ip-ranges Quell-IPv4/6-Adressen oder CIDR-Präfixe im Standardtextformat.
Quellports --network-src-ports Quellportnummern für TCP/UDP/SCTP. Jedes Element kann eine (16-Bit-)Zahl (z. B. „80“) oder einen Bereich (z. B. „0–1.023“) sein.
Quellregioncodes --network-src-region-codes Zweistelliger Ländercode (ISO 3166-1 alpha-2).
Quell-ASNs --network-src-asns Nummer des autonomen BGP-Systems der Quell-IP-Adresse.
Ziel-IP-Adressbereiche --network-dest-ip-ranges Ziel-IPv4/6-Adressen oder CIDR-Präfixe im Standardtextformat.
Zielports --network-dest-ports Zielportnummern für TCP/UDP/SCTP. Jedes Element kann eine (16-Bit)-Zahl (z. B. „80“) oder einen Bereich (z. B. „0–1.023“) sein.
IP-Adressprotokolle --network-ip-protocols IPv4-Protokoll / IPv6-Next-Header (nach Erweiterungsheadern). Jedes Element kann eine 8-Bit-Zahl (z. B. „6“), einen Bereich (z. B. „253-254“) oder einen der folgenden Protokollnamen sein:
  • tcp
  • udp
  • icmp
  • esp
  • ah
  • ipip
  • sctp
Byte-Offset-Filterung Weitere Informationen finden Sie im folgenden Abschnitt.

Wenn Sie das Flag --network-src-region-codes mit einer Sicherheitsrichtlinie für das Netzwerk-Edge verwenden, können Sie Regionscodes für die folgenden Gebiete verwenden, die umfassenden US-Sanktionen unterliegen:

Gebiete Zugewiesener Code
Krim XC
Die sogenannte Volksrepublik Donezk (DNR) und
die sogenannte Volksrepublik Lugansk (LNR)
XD

Byte-Offset-Filter konfigurieren

Wenn Sie externe Passthrough-Network Load Balancer, Protokollweiterleitung oder VMs mit öffentlichen IP-Adressen verwenden, kann Google Cloud Armor eine Deep-Paketprüfung für eingehenden Traffic durchführen. Sie können eine Sicherheitsrichtlinienregel konfigurieren, die für einen bestimmten TCP/UDP-Byte-Offsetwert gilt. Sie können die Regel so konfigurieren, dass die Regelaktion angewendet wird, wenn der konfigurierte Wert vorhanden ist oder nicht.

Im folgenden Beispiel wird Traffic zugelassen, wenn der Wert vorhanden ist. Der gesamte andere Traffic wird abgelehnt:

  1. Erstellen Sie eine neue Sicherheitsrichtlinie für das Netzwerk-Edge. Sie können diesen Schritt überspringen, wenn Sie bereits eine Sicherheitsrichtlinie für den Netzwerk-Edge haben.

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION_NAME
    
  2. Aktualisieren Sie Ihre Sicherheitsrichtlinie für das Netzwerk-Edge, indem Sie mithilfe der folgenden Parameter benutzerdefinierte Felder hinzufügen:

    • Basis: Der Wert kann IPv4, IPv6, TCP oder UDP sein.
    • Offset: Offset des Felds von der Basis in Byte
    • Größe: Größe des Felds in Byte (Höchstwert ist 4)
    • Mask: Die Maske für die Bits im Feld, das abgeglichen werden soll.

    Pro Richtlinie können Sie bis zu acht benutzerdefinierte Felder verwenden. Im folgenden Beispiel erstellen Sie zwei benutzerdefinierte Felder.

    gcloud compute security-policies add-user-defined-field POLICY_NAME \
       --user-defined-field-name=USER_DEFINED_FIELD_NAME_TCP \
       --base=TCP \
       --offset=OFFSET \
       --size=SIZE \
       --mask=MASK \
       --region=REGION_NAME
    
    gcloud compute security-policies add-user-defined-field POLICY_NAME \
       --user-defined-field-name=USER_DEFINED_FIELD_NAME_UDP \
       --base=UDP \
       --offset=OFFSET \
       --size=SIZE \
       --mask=MASK \
       --region=REGION_NAME
    
  3. Fügen Sie Ihrer Sicherheitsrichtlinie für das Netzwerk-Edge eine Regel mit demselben benutzerdefinierten Feldnamen hinzu, den Sie im vorherigen Beispiel verwendet haben. Ersetzen Sie VALUE1 und VALUE2 durch Werte, die dem Traffic entsprechen, den Sie zulassen möchten.

    gcloud compute security-policies rules create RULE_PRIORITY \
       --security-policy=POLICY_NAME \
       --network-user-defined-fields="USER_DEFINED_FIELD_NAME_TCP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1,VALUE2" \
       --action=allow \
       --region=REGION_NAME
    
  4. Legen Sie die Standardregel in Ihrer Sicherheitsrichtlinie für das Netzwerk-Edge als Ablehnungsregel fest. Sie können diesen Schritt überspringen, wenn die Standardregel in Ihrer Sicherheitsrichtlinie bereits eine Ablehnungsregel ist.

    gcloud compute security-policies rules update 2147483647 \
       --security-policy=POLICY_NAME \
       --action=deny \
       --region=REGION_NAME
    
  5. Verknüpfen Sie Ihre Sicherheitsrichtlinie für das Netzwerk-Edge mit dem Back-End-Dienst des externen Passthrough-Network Load Balancers.

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
       --security-policy=POLICY_NAME \
       --region=REGION_NAME
    

Monitoring

Google Cloud Armor exportiert für jede Ihrer Sicherheitsrichtlinienregeln für den Netzwerk-Edge die folgenden Messwerte in Cloud Monitoring:

  • packet_count
    • Blocked: ein boolescher Wert, der das Ergebnis einer allow- oder deny
      -Regelaktion darstellt
    • Count: der Wert von packet_count, der für jeweils 10.000 Pakete einmal erhöht wird. Ein packet_count-Wert von 5 bedeutet beispielsweise, dass mindestens 50.000 Pakete Ihrer Regel entsprechen.
  • preview_packet_count: identisch mit packet_count; wird für Regeln im Vorschaumodus verwendet

Zum Ansehen von Messwerten für Sicherheitsrichtlinien des Netzwerk-Edges müssen Sie zuerst die Network Security API (networksecurity.googleapis.com) aktivieren. Diese Berechtigung ist in der Rolle „Compute Security Admin“ (roles/compute.securityAdmin) enthalten. Nachdem Sie die Network Security API aktiviert haben, können Sie die Messwerte in Monitoring in der Google Cloud Console ansehen.

Zu Monitoring