Beispiele für hierarchische Firewallrichtlinien

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.

Prober den Zugriff auf alle VMs gestatten
Prober den Zugriff auf alle VMs gestatten

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 Zielport 123 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 Zielport 123 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

  1. 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"
    
  2. 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
  3. 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.

Grafik: Alle externen Verbindungen mit Ausnahme bestimmter Zielports ablehnen
Alle externen Verbindungen mit Ausnahme bestimmter Zielports ablehnen

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 Organisationsebene delegate-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 von 10.2.0.0/16 zulässig und der Rest der Verbindungen wird anhand der implizierten Eingangsregel deny ausgewertet.

  • Eingehende Verbindungen mit einem Quell-IP-Bereich, der für die Zielports 22, 80 und 443 nicht 10.0.0.0/8 ist, werden an die nächste Ebene delegiert. Dort sind die Ports 80 und 443 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

  1. 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"
    
  2. 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
    
  3. 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"
  4. 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
    
  5. Verknüpfen Sie die Firewallrichtlinie mit der Organisation:

    gcloud compute firewall-policies associations create \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy"
  6. 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
    
  7. 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.

Ausgehende Verbindungen mit Ausnahme eines bestimmten Netzwerks ablehnen
Ausgehende Verbindungen mit Ausnahme eines bestimmten Netzwerks ablehnen

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 an 203.0.113.1 gerichteten ausgehenden Verbindungen entsprechen der Regel delegate-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 Regel block-egress-traffic-sepc-ports aus der Richtlinie auf Organisationsebene lehnt die übrigen Verbindungen ab.

Konfiguration

  1. 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"
    
  2. 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
    
  3. 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"
  4. 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 und 443 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 Ports 80, 443 und 22 zu öffnen und den Rest der Ports abzulehnen.

Die Konfiguration für diesen Anwendungsfall ist im folgenden Diagramm beschrieben.

Organisationsweite und ordnerspezifische Regeln
Organisationsweite und ordnerspezifische Regeln

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 TCP 80 und 443 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 anderen 203.0.113.0/24-Quellen mit Ausnahme von 203.0.113.1 sind nur an die Ports 80, 443 und 22 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

  1. 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"
    
  2. 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
    
  3. 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
    
  4. Verknüpfen Sie die Firewallrichtlinie mit der Organisation:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a"
  5. 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"
    
  6. 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"
  7. 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
  8. Verknüpfen Sie die Firewallrichtlinie mit Folder1:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1" \
        --folder=200000000000
  9. 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"
  10. 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
  11. Verknüpfen Sie die Firewallrichtlinie mit Folder2:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder2" \
        --folder=300000000000
  12. 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