Mit Sicherheitsrichtlinien für das Netzwerk-Edge können Sie Regeln konfigurieren, um Traffic am Rand des Google-Netzwerks zuzulassen oder zu blockieren. Sie können Sicherheitsrichtlinien für den Netzwerk-Edge für die folgenden Front-End-Typen konfigurieren:
- Externe Passthrough-Netzwerk-Load-Balancer
- Protokollweiterleitung
- VMs mit öffentlichen IP-Adressen
Mit Sicherheitsrichtlinien für den Netzwerk-Edge können Sie ähnlich wie in der Cloud Next Generation Firewall nach Quell- und Ziel-IP-Adressbereichen filtern, ohne Ihre Ressourcen zu verbrauchen. Darüber hinaus 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 Back-End- und Edge-Sicherheitsrichtlinien können Sie benutzerdefinierte Regeln für Sicherheitsrichtlinien für den Netzwerk-Edge konfigurieren. Im folgenden Beispiel erstellen Sie eine Sicherheitsrichtlinie für den Netzwerk-Edge, konfigurieren eine benutzerdefinierte Regel, die nur Traffic von einem bestimmten Quell-IP-Adressbereich zulässt, und hängen die Richtlinie an Ihren Back-End-Dienst an.
Sicherheitsrichtlinien für den Netzwerk-Edge unterstützen mehrere Google Cloud Armor-Filter, einschließlich eindeutiger Filter wie Byte-Offset-Filter. Weitere Informationen dazu, welche Features von Sicherheitsrichtlinien für das Netzwerk-Edge unterstützt werden, finden Sie in der Übersicht über die Sicherheitsrichtlinien. Darüber hinaus können Sie Sicherheitsrichtlinien für den 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 einen erweiterten DDoS-Schutz für Netzwerke können Sie keine benutzerdefinierten Regeln für Sicherheitsrichtlinien für den 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 wie bei der Aktivierung des erweiterten DDoS-Schutzes für Netzwerke.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 von anderen Regeln nicht explizit zugelassen wird.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
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 mit dem folgenden Befehl 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
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 weiterhin Regeln mit dem Befehl security-policies rules update
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 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–1023“) sein. |
IP-Adressprotokolle | --network-ip-protocols |
Nächster IPv4-Protokoll-/IPv6-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:
|
Byte-Offset-Filterung | – | Weitere Informationen finden Sie im folgenden Abschnitt. |
Wenn Sie das Flag --network-src-region-codes
mit einer Sicherheitsrichtlinie für den 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-Filterung konfigurieren
Wenn Sie externe Passthrough-Network Load Balancer, Protokollweiterleitung oder VMs mit öffentlichen IP-Adressen verwenden, kann Google Cloud Armor für eingehenden Traffic eine Deep Packet Inspection 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 oder nicht vorhanden ist.
Im folgenden Beispiel wird Traffic zugelassen, wenn der Wert vorhanden ist, und der gesamte andere Traffic abgelehnt:
Erstellen Sie eine neue Sicherheitsrichtlinie für den 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
Aktualisieren Sie die Sicherheitsrichtlinie für den Netzwerk-Edge, um benutzerdefinierte Felder mithilfe der folgenden Parameter hinzuzufügen:
- Basis: Der Wert kann
IPv4
,IPv6
,TCP
oderUDP
sein. - Offset: Offset des Felds von der Basis in Byte
- Size: Größe des Felds in Byte (maximaler Wert ist
4
) - Maske: Die Maske für die Bits in dem Feld, das abgeglichen werden soll.
Pro Richtlinie kannst du 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
- Basis: Der Wert kann
Fügen Sie in der Sicherheitsrichtlinie des Netzwerk-Edges eine Regel mit dem Namen des benutzerdefinierten Felds 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 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
Verknüpfen Sie Ihre Sicherheitsrichtlinie für den Netzwerk-Edge mit dem Back-End-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 Ihrer Sicherheitsrichtlinienregeln für das Netzwerk-Edge die folgenden Messwerte nach Cloud Monitoring:
packet_count
Blocked
: ein boolescher Wert, der das Ergebnis einerallow
- oderdeny
-Regelaktion darstelltCount
: der Wert vonpacket_count
, der für je 10.000 Pakete einmal erhöht wird. Der Wertpacket_count
von5
bedeutet beispielsweise, dass mindestens 50.000 Pakete Ihrer Regel entsprechen.
preview_packet_count
: identisch mitpacket_count
, wird für Regeln im Vorschaumodus verwendet
Zum Aufrufen 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.