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.1
und dem Zielport123
sind 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.1
und dem Zielport123
besteht 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/32
Verknü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/8
entsprechen der Regel mit der höchsten Priorität auf Organisationsebenedelegate-internal-traffic
und 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/16
zulässig und der Rest der Verbindungen wird anhand der implizierten Eingangsregeldeny
ausgewertet.Eingehende Verbindungen mit einem Quell-IP-Bereich, der für die Zielports
22
,80
und443
nicht10.0.0.0/8
ist, werden an die nächste Ebene delegiert. Dort sind die Ports80
und443
zulässig,22
jedoch 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/8
Fügen Sie eine Regel hinzu, um externe Verbindungsregeln an die Ports
80
/443
/22
an 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/0
Verknü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/16
Fü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.1
gerichteten ausgehenden Verbindungen sind zulässig; die übrigen Verbindungen werden abgelehnt. Alle an203.0.113.1
gerichteten ausgehenden Verbindungen entsprechen der Regeldelegate-egress-my-vpc
und umgehen die restlichen Regeln aus der Organisationsrichtlinie.Die ausgehenden Verbindungen werden dann anhand der in
myvpc
konfigurierten Firewallregeln ausgewertet. Die Standardregel lässt ausgehende Verbindungen zu. Die Regelblock-egress-traffic-sepc-ports
aus 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/myvpc
Fü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
80
und443
auf 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.1
blockieren kann. Der Sicherheitsadministrator von Folder2 delegiert weitere Entscheidungen an den VPC-Sicherheitsadministrator, der entscheidet, die Ports80
,443
und22
zu ö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/24
mit den Zielports TCP80
und443
sind 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.1
sind zulässig. Eingehende Verbindungen von anderen203.0.113.0/24
-Quellen mit Ausnahme von203.0.113.1
sind nur an die Ports80
,443
und22
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.
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/24
an 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/24
Fü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/0
Verknü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/0
Verknüpfen Sie die Firewallrichtlinie mit Folder1:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --folder=200000000000
Erstellen 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.1
zuzulassen: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/32
Verknüpfen Sie die Firewallrichtlinie mit Folder2:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --folder=300000000000
Fügen Sie eine Firewallregel hinzu, um eingehende HTTP(S)-Verbindungen zuzulassen:
gcloud compute firewall-rules create allow-internal-traffic \ --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.