Mit Sicherheitsrichtlinien für Netzwerk-Edge können Sie Regeln konfigurieren, um Traffic am Edge des Google-Netzwerks zuzulassen oder zu blockieren. Sie können Sicherheitsrichtlinien für Netzwerk-Edge für die folgenden Frontend-Typen konfigurieren:
- Regionale externe Passthrough-Network Load Balancer
- Protokollweiterleitung
- VMs mit öffentlichen IP-Adressen
Mit Sicherheitsrichtlinien für Netzwerk-Edge können Sie nach Quell- und Ziel-IP-Adressbereichen filtern, ähnlich wie bei der Cloud Next Generation Firewall, aber ohne Ihre Ressourcen zu belasten. Außerdem ist die Sicherheitsrichtlinie für Netzwerk-Edge der einzige Sicherheits richtlinientyp, der die Filterung nach Byte-Offset unterstützt.
Benutzerdefinierte Regeln für Sicherheitsrichtlinien für Netzwerk-Edge konfigurieren
Wie bei Backend- und Edge-Sicherheitsrichtlinien können Sie auch für Sicherheitsrichtlinien für Netzwerk-Edge benutzerdefinierte Regeln konfigurieren. Im folgenden Beispiel erstellen Sie eine Sicherheitsrichtlinie für Netzwerk-Edge, konfigurieren eine benutzerdefinierte Regel, um Traffic nur aus einem bestimmten Quell-IP-Adressbereich zuzulassen, und hängen die Richtlinie an Ihren Backend-Dienst an.
Sicherheitsrichtlinien für Netzwerk-Edge unterstützen mehrere Google Cloud Armor-Filter, einschließlich einzigartiger Filter wie die Filterung nach Byte-Offset. Weitere Informationen zu den Funktionen, die von Sicherheitsrichtlinien für Netzwerk-Edge unterstützt werden, finden Sie in der Übersicht über Sicherheitsrichtlinien. Außerdem können Sie Sicherheitsrichtlinien für Netzwerk-Edge in 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 Netzwerk-Edge mit dem Namen
POLICY_NAMEin der RegionREGION. Verwenden Sie nicht dieselbe Sicherheitsrichtlinie, die Sie beim Aktivieren des erweiterten DDoS-Schutzes für Netzwerke verwendet haben.gcloud compute security-policies create POLICY_NAME \ --type=CLOUD_ARMOR_NETWORK \ --region=REGION
Ändern Sie die Standardregel Ihrer Richtlinie von
allowindeny, 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
Fügen Sie in derselben Sicherheitsrichtlinie eine Regel mit der Priorität
RULE_PRIORITYhinzu, die Anfragen im Quell-IP-AdressbereichRANGEzulä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 Backend-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 ist. Wenn der Vorgang erfolgreich ist, enthält das Feld
securityPolicyin 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 Netzwerk-Edge mit dem Befehl security-policies rules update weitere Regeln hinzufügen.
Die unterstützten Felder für Sicherheitsrichtlinien für Netzwerk-Edge sind wie folgt:
| 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 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-Header für den nächsten 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:
|
| Filterung nach Byte-Offset | – | Weitere Informationen finden Sie im folgenden Abschnitt. |
Wenn Sie das Flag --network-src-region-codes mit einer Sicherheitsrichtlinie für 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 |
Filterung nach Byte-Offset konfigurieren
Wenn Sie regionale externe Passthrough-Network Load Balancer, Protokollweiterleitung oder VMs mit öffentlichen IP-Adressen verwenden, kann 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 alternativ, wenn er nicht vorhanden ist.
Im folgenden Beispiel wird Traffic zugelassen, wenn der Wert vorhanden ist, und der gesamte andere Traffic wird abgelehnt:
Erstellen Sie eine neue Sicherheitsrichtlinie für Netzwerk-Edge. 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
Aktualisieren Sie Ihre Sicherheitsrichtlinie für Netzwerk-Edge, um benutzerdefinierte Felder hinzuzufügen. Verwenden Sie dazu die folgenden Parameter:
- Basis: Der Wert kann
IPv4,IPv6,TCP, oderUDPsein. - Offset: Offset des Felds von der Basis in Byte.
- Größe: Größe des Felds in Byte (maximaler Wert ist
4) - Maske: Maske für die Bits im Feld, die abgeglichen werden sollen.
Sie können bis zu acht benutzerdefinierte Felder pro Richtlinie 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 Ihrer Sicherheitsrichtlinie für Netzwerk-Edge eine Regel mit demselben benutzerdefinierten Feldnamen hinzu, den Sie im vorherigen Beispiel verwendet haben. Ersetzen Sie
VALUE1undVALUE2durch Werte, die mit dem Traffic übereinstimmen, 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 für die Standardregel in Ihrer Sicherheitsrichtlinie für Netzwerk-Edge eine 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
Verknüpfen Sie Ihre Sicherheitsrichtlinie für Netzwerk-Edge mit dem Backend-Dienst Ihres regionalen externen Passthrough-Network Load Balancers.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --security-policy=POLICY_NAME \ --region=REGION_NAME
Monitoring
Cloud Armor exportiert die folgenden Messwerte für jede Ihrer Sicherheitsrichtlinienregeln für Netzwerk-Edge nach Cloud Monitoring:
packet_countBlocked: Ein boolescher Wert, der das Ergebnis einerallowoderdeny
-Regelaktion darstellt.Count: Der Wert vonpacket_countwird für jeweils 10.000 Pakete um 1 erhöht. Einpacket_count-Wert von5bedeutet beispielsweise, dass mindestens 50.000 Pakete mit Ihrer Regel übereinstimmen.
preview_packet_count: Entsprichtpacket_countund wird für Regeln im Vorschaumodus verwendet.
Wenn Sie Messwerte für Sicherheitsrichtlinien für Netzwerk-Edge 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 die Messwerte in Monitoring in der Google Cloud Konsole ansehen.