Sicherheitsrichtlinien für Netzwerk-Edge konfigurieren

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

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

Mit Network Edge-Sicherheitsrichtlinien können Sie nach Quell- und Ziel-IP-Adressbereichen filtern, ähnlich wie bei der Firewall der nächsten Generation, ohne Ihre Ressourcen zu belasten. Außerdem ist eine Edge-Netzwerk-Sicherheitsrichtlinie der einzige Sicherheitsrichtlinientyp, der Byte-Offset-Filterung unterstützt.

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

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

Sicherheitsrichtlinien für den Netzwerkrand unterstützen mehrere Google Cloud Armor-Filter, darunter auch einzigartige Filter wie die Byte-Offset-Filterung. Weitere Informationen dazu, welche Funktionen von Sicherheitsrichtlinien für den Netzwerk-Edge unterstützt werden, finden Sie in der Übersicht über Sicherheitsrichtlinien. Außerdem können Sie Network Edge-Sicherheitsrichtlinien im Vorschaumodus bereitstellen.

Bevor Sie fortfahren, müssen Sie sich für Google Cloud Armor Enterprise registrieren und den erweiterten DDoS-Schutz für Netzwerke konfigurieren. Sie können benutzerdefinierte Regeln für Sicherheitsrichtlinien für Netzwerk-Edge nur verwenden, wenn Sie ein aktives Cloud Armor Enterprise-Abo und den erweiterten DDoS-Schutz für Netzwerke haben.

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. Verwenden Sie nicht dieselbe Sicherheitsrichtlinie, die Sie beim Aktivieren des erweiterten DDoS-Netzwerkschutzes 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 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. 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 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 Network Edge-Sicherheitsrichtlinie mit dem Befehl security-policies rules update weitere Regeln hinzufügen. Die unterstützten Felder für Sicherheitsrichtlinien für Netzwerk-Edge sind:

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.
Quellregionscodes --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 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 einer 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 Network 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 für eingehenden Traffic durchführen. Sie können eine Sicherheitsrichtlinienregel konfigurieren, die mit einem bestimmten TCP/UDP-Byte-Offsetwert übereinstimmt. Sie können die Regel so konfigurieren, dass die Regelaktion angewendet wird, wenn der konfigurierte Wert vorhanden ist oder wenn er nicht vorhanden ist.

Im folgenden Beispiel wird Traffic zugelassen, wenn der Wert vorhanden ist, und aller anderer Traffic wird abgelehnt:

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

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION_NAME
    
  2. Aktualisieren Sie Ihre Network Edge-Sicherheitsrichtlinie, um benutzerdefinierte Felder hinzuzufügen. Verwenden Sie dazu die 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 ist 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. 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 den Netzwerk-Edge als deny-Regel 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 Network Edge-Sicherheitsrichtlinie mit dem Backend-Dienst Ihres 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 die folgenden Messwerte für jede Ihrer Regeln für Sicherheitsrichtlinien am Netzwerkrand in Cloud Monitoring:

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

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

Zu Monitoring