Mit Sicherheitsrichtlinien für den Netzwerkrand können Sie Regeln konfigurieren, um Traffic am Edge des Google-Netzwerks zuzulassen oder zu blockieren. 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 Edge-Sicherheitsrichtlinien für Netzwerke verwenden, um ähnlich wie bei der Cloud Next Generation Firewall nach Quell- und Ziel-IP-Adressbereichen zu filtern, ohne Ihre Ressourcen zu belasten. Außerdem ist eine Edge-Sicherheitsrichtlinie der einzige Sicherheitsrichtlinientyp, der die Byteoffset-Filterung unterstützt.
Benutzerdefinierte Regeln für Sicherheitsrichtlinien für 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 eine Sicherheitsrichtlinie für den Netzwerkrand, konfigurieren eine benutzerdefinierte Regel, um nur Traffic von 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, einschließlich spezieller Filter wie die Byteoffset-Filterung. Weitere Informationen zu den unterstützten Funktionen von Sicherheitsrichtlinien für Netzwerk-Edge-Geräte 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 sich bei Google Cloud Armor Enterprise registrieren und den 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:
Erstellen Sie eine neue Sicherheitsrichtlinie für den Netzwerk-Edge mit dem Namen
POLICY_NAME
in der RegionREGION
. 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
Ändern Sie die Standardregel Ihrer Richtlinie von
allow
indeny
, 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
Fügen Sie in derselben Sicherheitsrichtlinie eine Regel mit der Priorität
RULE_PRIORITY
hinzu, die Anfragen im Quell-IP-AdressbereichRANGE
zulässt.gcloud compute security-policies rules create RULE_PRIORITY \ --security-policy=POLICY_NAME \ --network-src-ip-ranges=RANGE \ --action=allow \ --region=REGION
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
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 Beispiel oben erstellt haben, können Sie mit dem Befehl security-policies rules update
weitere Regeln zur Sicherheitsrichtlinie für den Netzwerkrand hinzufügen.
Die folgenden Felder werden für Sicherheitsrichtlinien für 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. |
Codes für Quellregionen | --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“) oder ein Bereich (z. B. „253–254“) oder einer der folgenden Protokollnamen sein:
|
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 |
der sogenannten Volksrepublik Donezk (DNR) und der sogenannten Volksrepublik Lugansk (LNR) |
XD |
Byteoffset-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 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 alternativ, wenn er nicht vorhanden ist.
Im folgenden Beispiel wird Traffic zugelassen, wenn der Wert vorhanden ist, und abgelehnt, wenn er nicht vorhanden ist:
Erstellen Sie eine neue Edge-Sicherheitsrichtlinie für das Netzwerk. 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
Aktualisieren Sie die Sicherheitsrichtlinie für den Netzwerkrand, um benutzerdefinierte Felder hinzuzufügen. Verwenden Sie dazu die folgenden Parameter:
- Base: Der Wert kann
IPv4
,IPv6
,TCP
oderUDP
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
- Base: Der Wert kann
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
undVALUE2
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
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 Sicherheitsrichtlinie bereits eine Regel zum Ablehnen ist.
gcloud compute security-policies rules update 2147483647 \ --security-policy=POLICY_NAME \ --action=deny \ --region=REGION_NAME
Verknüpfen Sie Ihre Sicherheitsrichtlinie für die Netzwerkkante 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 für jede Sicherheitsrichtlinienregel am Netzwerkrand die folgenden Messwerte in Cloud Monitoring:
packet_count
Blocked
: ein boolescher Wert, der das Ergebnis einerallow
- oderdeny
-Regelaktion darstelltCount
: Der Wert vonpacket_count
wird bei jedem 10.000. Paket um eins erhöht. Einpacket_count
-Wert von5
bedeutet beispielsweise, dass mindestens 50.000 Pakete mit Ihrer Regel übereinstimmen.
preview_packet_count
: Entsprichtpacket_count
und wird für Regeln im Vorschaumodus verwendet.
Wenn Sie sich 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 Security Admin (roles/compute.securityAdmin
) enthalten. Nachdem Sie die Network Security API aktiviert haben, können Sie sich die Messwerte in der Google Cloud Console unter „Monitoring“ ansehen.