Sicherheitsrichtlinien für den Netzwerk-Edge konfigurieren

Mit Sicherheitsrichtlinien für den Netzwerk-Edge können Sie Regeln konfigurieren, um Traffic zuzulassen oder zu blockieren am Rand des Google-Netzwerks. Sie können Sicherheitsrichtlinien für den Netzwerkrand für die folgenden Frontendtypen konfigurieren:

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

Sie können Sicherheitsrichtlinien für den Netzwerk-Edge verwenden, um nach Quell- und Ziel-IP-Adressbereichen zu filtern ähnlich wie Cloud Next Generation Firewall, aber ohne Ihre Ressourcen zu verbrauchen. In Außerdem ist eine Sicherheitsrichtlinie für den Netzwerk-Edge der einzige Sicherheitsrichtlinientyp mit Unterstützung für die Byte-Offset-Filterung.

Benutzerdefinierte Regeln für Sicherheitsrichtlinien für den Netzwerk-Edge konfigurieren

Wie bei Backend- und Edge-Sicherheitsrichtlinien können Sie auch benutzerdefinierte Regeln für Netzwerk-Edge-Sicherheitsrichtlinien konfigurieren. Im folgenden Beispiel erstellen Sie ein Netzwerk Edge Security Policy, konfigurieren Sie eine benutzerdefinierte Regel, um nur Traffic von einem bestimmten Quell-IP-Adressbereich und verknüpfen Sie die Richtlinie mit Ihrem Back-End-Dienst.

Die Sicherheitsrichtlinien für den Netzwerk-Edge unterstützen mehrere Google Cloud Armor-Filter, einschließlich einzigartiger Filter wie Byte-Offset-Filterung. Weitere Informationen zu den Funktionen, die von Sicherheitsrichtlinien für Netzwerk-Edges unterstützt werden, finden Sie in der Übersicht über Sicherheitsrichtlinien. Außerdem können Sie Sicherheitsrichtlinien für Netzwerk-Edge-Geräte im Vorschaumodus bereitstellen.

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

So konfigurieren Sie benutzerdefinierte Regeln:

  1. Erstellen Sie eine neue Sicherheitsrichtlinie für den Netzwerk-Edge mit dem Namen POLICY_NAME in der Region REGION. Nicht dieselbe Sicherheitsrichtlinie verwenden den 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 in deny, um Traffic zu blockieren, der nicht explizit durch andere Regeln zugelassen ist.

    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. Ordnen Sie die Sicherheitsrichtlinie Ihrem Back-End-Dienst zu BACKEND_SERVICE_NAME.

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

    Alternativ können Sie die Sicherheitsrichtlinie mit einer einzelnen VM-Instanz verknüpfen. Verwenden Sie dazu den folgenden Befehl:

    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: Sie können mit dem folgenden Befehl prüfen, ob die Sicherheitsrichtlinie angehängt ist. Bei Erfolg wird das Feld securityPolicy in der Ausgabe enthält einen Link zu Ihrer Sicherheitsrichtlinienressource.

    gcloud compute instances describe VM_NAME --zone=ZONE_NAME
    

Nachdem Sie das Beispiel oben erstellt haben, können Sie mit dem Befehl security-policies rules update weitere Regeln zur Sicherheitsrichtlinie für den Netzwerkrand hinzufügen. Folgende Felder werden für Sicherheitsrichtlinien für den 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 ein Bereich (z. B. „0–1023“) 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 in Standardtext Format.
Zielports --network-dest-ports Zielportnummern für TCP/UDP/SCTP. Jedes Element kann eine (16-Bit-)Zahl (z. B. „80“) oder ein Bereich (z. B. „0–1023“) sein.
IP-Adressprotokolle --network-ip-protocols IPv4-Protokoll/IPv6-Next-Header (nach Erweiterungsheadern). Jedes -Element kann eine 8-Bit-Zahl (z. B. "6"), ein Bereich (z. B. "253–254") oder einen der folgenden Protokollnamen:
  • 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 Netzwerk-Edge-Sicherheitsrichtlinie 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-Filterung konfigurieren

Wenn Sie externe Passthrough-Network Load Balancer, Protokollweiterleitung oder VMs mit öffentlichen IP-Adressen verwenden, kann Google Cloud Armor eine Deep Packet Inspection auf eingehenden Traffic ausführen. Sie können Sicherheitsrichtlinienregeln konfigurieren, die mit einer bestimmten TCP/UDP-Byte-Offsetwert. Sie können die Regel so konfigurieren, dass die Regelaktion angewendet wird, wenn der konfigurierte Wert vorhanden ist, oder alternativ, wenn er nicht vorhanden ist.

Im folgenden Beispiel wird Traffic zugelassen, wenn der Wert vorhanden ist, und abgelehnt, wenn er nicht vorhanden ist:

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

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION_NAME
    
  2. Sicherheitsrichtlinie für den Netzwerk-Edge aktualisieren, um benutzerdefinierte Felder hinzuzufügen mithilfe der folgenden Parameter:

    • 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 (maximaler Wert: 4)
    • Maske: die Maske für die Bits im Feld, die abgeglichen werden sollen

    Sie können pro Richtlinie 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 in Ihrer Sicherheitsrichtlinie für den Netzwerk-Edge eine Regel mit demselben benutzerdefinierten Feldnamen hinzu, den Sie im vorherigen Beispiel verwendet haben. VALUE1 ersetzen und VALUE2 mit Werten, die dem Traffic entsprechen, die 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 den Netzwerk-Edge als Regel vom Typ „Deny“ fest. Sie können diesen Schritt überspringen, wenn die Standardregel in Ihrer Sicherheit Richtlinie ist bereits eine Ablehnungsregel.

    gcloud compute security-policies rules update 2147483647 \
       --security-policy=POLICY_NAME \
       --action=deny \
       --region=REGION_NAME
    
  5. Sicherheitsrichtlinie des Netzwerk-Edges mit dem externen Passthrough-Network Load Balancer verknüpfen Back-End-Dienst.

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

Monitoring

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

  • packet_count
    • Blocked: ein boolescher Wert, der das Ergebnis von allow oder deny
      darstellt Regelaktion
    • Count: Der Wert von packet_count wird bei jedem 10.000. Paket um eins erhöht. Ein packet_count-Wert von 5 bedeutet beispielsweise, dass mindestens 50.000 Pakete mit Ihrer Regel übereinstimmen.
  • preview_packet_count: identisch mit packet_count, wird für Regeln in der Vorschau verwendet Modus

Wenn Sie Messwerte für Sicherheitsrichtlinien für den Netzwerk-Edge aufrufen möchten, müssen Sie zuerst die Network Security API (networksecurity.googleapis.com). Diese Berechtigung ist in der Rolle „Compute-Sicherheitsadministrator“ (roles/compute.securityAdmin). Nachdem Sie die Network Security API aktiviert haben, können Sie sich die Messwerte in Monitoring in der Google Cloud Console ansehen.

Zu Monitoring