Diese Seite enthält Beispiele für die Umsetzung hierarchischer Firewallrichtlinien. Dabei wird davon ausgegangen, dass Sie mit den Konzepten vertraut sind, die unter Hierarchische Firewallrichtlinien beschrieben sind.
Beispiel 1: Prober den Zugriff auf alle VMs gestatten
In diesem Anwendungsfall müssen alle VM-Instanzen in einer Organisation gescannt und mit Tests von einer bestimmten IP-Adresse (10.100.0.1) an einem bestimmten Port (123) erfasst werden. Der Sicherheitsadministrator der Organisation sorgt dafür, dass kein Netzwerkadministrator oder andere Sicherheitsadministratoren diesen Port in einer VM-Instanz in der Organisation blockieren können.
In diesem Beispiel wird davon ausgegangen, dass keine Firewallrichtlinien auf Ordnerebene bereitgestellt wurden.
Die Konfiguration für diesen Anwendungsfall ist im folgenden Diagramm beschrieben.
Auf VMs angewendete geltende Richtlinie
In diesem Beispiel sieht die wirksame VM-Firewallrichtlinie nach Auswertung der Regeln in der Hierarchie wie unten dargestellt aus.
Eingehende Verbindungen
Eingehende Verbindungen mit der Quell-IP
10.100.0.1und dem Zielport123sind zulässig, wie in der Richtlinie definiert. Bei einer Übereinstimmung in der Organisationsrichtlinie sind die Testverbindungen zulässig und es werden keine weiteren Regeln in der Hierarchie ausgewertet.Für sämtliche eingehenden Verbindungen außer der Quell-IP
10.100.0.1und dem Zielport123besteht keine Übereinstimmung. Daher gilt die Standardregel für eingehenden Traffic in VPC-Firewallregeln, mit der die Verbindung abgelehnt wird.
Ausgehende Verbindung
- Bei den hierarchisch definierten Regeln besteht keine Übereinstimmung. Daher gilt die Standardregel für ausgehenden Traffic in VPC-Firewallregeln, die ausgehende Verbindungen zulässt.
Konfiguration
Erstellen Sie eine Firewallrichtlinie, die die Regel enthalten soll:
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"Fügen Sie die Regel der Firewallrichtlinie hinzu:
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-scan-probe" \ --layer4-configs=tcp:123 \ --firewall-policy=example-firewall-policy \ --organization=123456789012 \ --src-ip-ranges=10.100.0.1/32Verknüpfen Sie die Firewallrichtlinie mit der Organisation:
gcloud compute firewall-policies associations create \ --firewall-policy=example-firewall-policy \ --organization=123456789012
Beispiel 2: Alle externen Verbindungen mit Ausnahme bestimmter Ports ablehnen
In diesem Anwendungsfall blockiert eine Firewallrichtlinie alle Verbindungen von externen Internetquellen mit Ausnahme der Verbindungen an den Zielports 80, 443 und 22. Eine eingehende Internetverbindung an jedem Port, der nicht 80, 443 und 22 ist, wird unabhängig von den Firewallregeln auf VPC-Netzwerkebene blockiert. Bei Verbindungen an Port 80, 443 oder 22 delegiert die Richtlinie das Verhalten, das im jeweiligen VPC-Netzwerk für diese Ports erzwungen werden soll, an den VPC-Sicherheitsadministrator.
Die Konfiguration für diesen Anwendungsfall ist im folgenden Diagramm beschrieben.
Auf VMs angewendete geltende Richtlinie
In diesem Beispiel sieht die wirksame VM-Firewallrichtlinie nach Auswertung der Regeln in der Hierarchie wie unten dargestellt aus.
Eingehende Verbindungen
Alle eingehenden Verbindungen von
10.0.0.0/8entsprechen der Regel mit der höchsten Priorität auf Organisationsebenedelegate-internal-trafficund umgehen die restlichen Regeln aus der Organisationsrichtlinie, die anhand der Firewallregeln ausgewertet werden, die auf VPC-Netzwerkebene konfiguriert sind. Gemäß der VPC-Firewallregel sind Verbindungen von10.2.0.0/16zulässig und der Rest der Verbindungen wird anhand der implizierten Eingangsregeldenyausgewertet.Eingehende Verbindungen mit einem Quell-IP-Bereich, der für die Zielports
22,80und443nicht10.0.0.0/8ist, werden an die nächste Ebene delegiert. Dort sind die Ports80und443zulässig,22jedoch nicht.Alle anderen Verbindungen werden blockiert.
Ausgehende Verbindungen
- Bei den hierarchisch definierten Regeln besteht keine Übereinstimmung. Daher gilt die Standardregel für ausgehenden Traffic in VPC-Firewallregeln, die ausgehende Verbindungen zulässt.
Konfiguration
Erstellen Sie eine Firewallrichtlinie, die die Regel enthalten soll:
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"Fügen Sie eine Regel hinzu, um interne Verbindungen an den Projektinhaber zu delegieren:
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-internal-traffic" \ --organization=123456789012 \ --firewall-policy="example-firewall-policy" \ --src-ip-ranges=10.0.0.0/8Fügen Sie eine Regel hinzu, um externe Verbindungsregeln an die Ports
80/443/22an den Projektinhaber zu delegieren:gcloud compute firewall-policies rules create 2000 \ --action=goto_next \ --description="delegate-external-traffic-spec-ports" \ --src-ip-ranges=0.0.0.0/0 \ --layer4-configs=tcp:80,tcp:443,tcp:22 \ --organization=123456789012 \ --firewall-policy="example-firewall-policy"Fügen Sie eine Regel hinzu, um alle anderen externen Verbindungen abzulehnen:
gcloud compute firewall-policies rules create 3000 \ --action=deny \ --description="block-other-external-traffic-spec-ports" \ --organization=123456789012 \ --firewall-policy="example-firewall-policy" \ --src-ip-ranges=0.0.0.0/0Verknüpfen Sie die Firewallrichtlinie mit der Organisation:
gcloud compute firewall-policies associations create \ --organization=123456789012 \ --firewall-policy="example-firewall-policy"Fügen Sie im Projekt eine Firewallregel hinzu, um interne Verbindungen aus dem angegebenen Subnetz zuzulassen:
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --priority=1000 \ --source-ranges=10.2.0.0/16Fügen Sie im Projekt eine Firewallregel hinzu, um externe TCP-
80/443-Verbindungen zuzulassen:gcloud compute firewall-rules create allow-external-traffic \ --action=allow \ --priority=2000 \ --rules=tcp:80,tcp:443
Beispiel 3: Ausgehende Verbindungen mit Ausnahme eines bestimmten VPC-Netzwerks ablehnen
In diesem Anwendungsfall lässt der Sicherheitsadministrator der Organisation in keinem VPC-Netzwerk ausgehende Verbindungen zu, mit Ausnahme von Verbindungen, die aus dem VPC-Netzwerk myvpc stammen. Der Administrator delegiert die Entscheidung, ausgehenden Traffic zum öffentlichen Server 203.0.113.1 zu öffnen, an den Sicherheitsadministrator myvpc.
In diesem Beispiel wird davon ausgegangen, dass keine Firewallrichtlinien auf Ordnerebene bereitgestellt wurden. Die Konfiguration für diesen Anwendungsfall ist im folgenden Diagramm beschrieben.
Auf VMs angewendete geltende Richtlinie
In diesem Beispiel sieht die wirksame VM-Firewallrichtlinie nach Auswertung der Regeln in der Hierarchie wie unten dargestellt aus.
Eingehende Verbindungen
- Bei den hierarchisch definierten Regeln besteht keine Übereinstimmung. Daher gilt bei VPC-Firewallregeln die Standardregel für eingehenden Traffic, die eingehende Verbindungen ablehnt.
Ausgehende Verbindungen
Alle an
203.0.113.1gerichteten ausgehenden Verbindungen sind zulässig; die übrigen Verbindungen werden abgelehnt. Alle an203.0.113.1gerichteten ausgehenden Verbindungen entsprechen der Regeldelegate-egress-my-vpcund umgehen die restlichen Regeln aus der Organisationsrichtlinie.Die ausgehenden Verbindungen werden dann anhand der in
myvpckonfigurierten Firewallregeln ausgewertet. Die Standardregel lässt ausgehende Verbindungen zu. Die Regelblock-egress-traffic-sepc-portsaus der Richtlinie auf Organisationsebene lehnt die übrigen Verbindungen ab.
Konfiguration
Erstellen Sie eine Firewallrichtlinie, die die Regel enthalten soll:
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"Fügen Sie eine Regel hinzu, um bestimmte ausgehende Verbindungen zu delegieren:
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-egress-myvpc" \ --dest-ip-ranges=203.0.113.1/32 --direction=egress --organization=123456789012 \ --short-name="example-firewall-policy" \ --target-resources=projects/PROJECT_ID/networks/myvpcFügen Sie eine Regel hinzu, um alle anderen ausgehenden Verbindungen abzulehnen:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description="block-egress-external-traffic-spec-ports" \ --direction=egress \ --dest-ip-ranges=0.0.0.0/0 \ --organization=123456789012 \ --short-name="example-firewall-policy"Verknüpfen Sie die Firewallrichtlinie mit der Organisation:
gcloud compute firewall-policies associations create \ --organization=123456789012 \ --short-name="example-firewall-policy"
Beispiel 4: Organisationsweite und ordnerspezifische Regeln konfigurieren
In diesem Anwendungsfall lässt ein Sicherheitsadministrator keine eingehenden Verbindungen zu VMs in der Organisation zu, mit Ausnahme der Verbindungen aus dem Bereich, der in eine Zulassungsliste aufgenommen wurde: 203.0.113.0/24. Der Administrator delegiert weitere Entscheidungen darüber, was mit Verbindungen von 203.0.113.0/24 geschieht, auf Ordnerebene an Sicherheitsadministratoren.
Es gibt zwei verschiedene Ordner:
- Folder1, bei dem die Richtlinie nur Verbindungen mit den Ports
80und443auf den Back-End-VMs zulässt und die restlichen Ports blockiert werden. - Folder2, bei dem die Richtlinie erzwingt, dass keine VM in Folder2 einen Zielport für Traffic von der IP-Adresse
203.0.113.1blockieren kann. Der Sicherheitsadministrator von Folder2 delegiert weitere Entscheidungen an den VPC-Sicherheitsadministrator, der entscheidet, die Ports80,443und22zu öffnen und den Rest der Ports abzulehnen.
Die Konfiguration für diesen Anwendungsfall ist im folgenden Diagramm beschrieben.
Auf VMs angewendete geltende Richtlinie
In diesem Beispiel sieht die wirksame VM-Firewallrichtlinie nach Auswertung der Regeln in der Hierarchie wie unten dargestellt aus.
Für VMs, die zu my-vpc gehören
Alle eingehenden Verbindungen von
203.0.113.0/24mit den Zielports TCP80und443sind zulässig. Alle anderen eingehenden Verbindungen werden abgelehnt.Alle ausgehenden Verbindungen werden gemäß der angewendeten VPC-Firewallregel akzeptiert, da es in den übergeordneten Firewallrichtlinien keine Übereinstimmung gibt.
Für VMs, die zu vpc2 gehören
Alle eingehenden Verbindungen von
203.0.113.1sind zulässig. Eingehende Verbindungen von anderen203.0.113.0/24-Quellen mit Ausnahme von203.0.113.1sind nur an die Ports80,443und22zulässig. Alle anderen eingehenden Verbindungen werden abgelehnt.Alle ausgehenden Verbindungen werden gemäß der angewendeten VPC-Firewallregel akzeptiert, da es in den übergeordneten Firewallrichtlinien keine Übereinstimmung gibt.
Konfiguration
Erstellen Sie eine Firewallrichtlinie, die die Regeln für Org_A enthalten soll:
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --description="rules that apply to all VMs in the organization"Fügen Sie eine Regel hinzu, um eingehenden Traffic von
203.0.113.0/24an den Projektinhaber zu delegieren:gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-ingress" \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --src-ip-ranges=203.0.113.0/24Fügen Sie eine Regel hinzu, um alle anderen externen Verbindungen abzulehnen:
gcloud compute firewall-policies rules create 2000 \ --action=deny --description="block-ingress-external-traffic" --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --src-ip-ranges=0.0.0.0/0Verknüpfen Sie die Firewallrichtlinie mit der Organisation:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a"Erstellen Sie eine Firewallrichtlinie, die die Regeln für Folder1 enthält:
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --description="rules that apply to all VMs under Folder1"Fügen Sie eine Regel hinzu, die den gesamten eingehenden HTTP(S)-Traffic zulässt:
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-http-s-ingress" \ --layer4-configs=tcp:80,tcp:443 \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1"Fügen Sie eine Regel hinzu, um eingehenden Traffic auf allen anderen Ports oder Protokollen abzulehnen:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description="block-ingress-external-traffic" \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --src-ip-ranges=0.0.0.0/0Verknüpfen Sie die Firewallrichtlinie mit Folder1:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --folder=200000000000Erstellen Sie eine Firewallrichtlinie, die die Regeln für Folder2 enthalten soll:
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --description="rules that apply to all VMs under Folder2"Fügen Sie eine Regel hinzu, um eingehenden Traffic von
203.0.113.1zuzulassen:gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-vul-scan-ingress" \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --src-ip-ranges=203.0.113.1/32Verknüpfen Sie die Firewallrichtlinie mit Folder2:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --folder=300000000000Fügen Sie eine Firewallregel hinzu, um eingehende HTTP(S)-Verbindungen zuzulassen:
gcloud compute firewall-rules create allow-internal-traffic \ --network=vpc2 \ --action=allow \ --rules=tcp:80,tcp:443,tcp:22
Nächste Schritte
- Informationen zum Erstellen und Ändern von hierarchischen Firewallrichtlinien und -regeln finden Sie unter Hierarchische Firewallrichtlinien verwenden.