Secure Web Proxy als expliziten Proxy bereitstellen

In dieser Kurzanleitung wird beschrieben, wie Sie eine Secure Web Proxy-Instanz bereitstellen und testen. In den Schritten wird die Bereitstellung von Secure Web Proxy im expliziten Routingmodus beschrieben, der als expliziter Proxy fungiert.

Secure Web Proxy-Instanzen im expliziten Routingmodus können als Private Service Connect-Dienst bereitgestellt werden. Alternativ können Sie Secure Web Proxy im Routingmodus „Next Hop“ bereitstellen.

Die Bereitstellung von Secure Web Proxy im expliziten Routingmodus umfasst die folgenden Schritte:

  1. Erstellen Sie eine Secure Web Proxy-Richtlinie.
  2. Erstellen Sie Secure Web Proxy-Regeln und fügen Sie sie der Richtlinie hinzu.
  3. Richten Sie die Secure Web Proxy-Instanz im expliziten Routingmodus ein.
  4. Testen Sie die Verbindung von einer Linux-VM-Instanz, um zu prüfen, ob der Proxy und seine Richtlinien ordnungsgemäß funktionieren.
Secure Web Proxy im expliziten Proxy-Routing-Modus bereitstellen.
Secure Web Proxy im expliziten Proxy-Routing-Modus bereitstellen (zum Vergrößern klicken)

Hinweis

  1. Führen Sie die ersten Einrichtungsschritte aus.

  2. Optional: Wenn Sie die in diesem Dokument angegebenen gcloud-Befehlszeilenbeispiele ausführen möchten, installieren Sie die Google Cloud CLI in einer der folgenden Entwicklungsumgebungen:

    Cloud Shell

    Wenn Sie ein Onlineterminal mit bereits eingerichteter gcloud CLI verwenden möchten, aktivieren Sie Cloud Shell.

    Unten auf dieser Seite wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Das Initialisieren der Sitzung kann einige Sekunden dauern.

    Wenn Sie die gcloud CLI bereits installiert haben, prüfen Sie, ob Sie die neueste verfügbare Version nutzen. Führen Sie dazu den Befehl gcloud components update aus.

    Lokale Shell

    So verwenden Sie eine lokale Entwicklungsumgebung:

    1. Google Cloud CLI installieren
    2. gcloud CLI initialisieren
  3. Erstellen Sie ein neues Google Cloud -Projekt oder wählen Sie ein vorhandenes aus.

    Wenn Sie die in diesem Verfahren erstellten Ressourcen nicht behalten möchten, empfehlen wir, ein neues Projekt zu erstellen, statt ein vorhandenes Projekt auszuwählen. Nachdem Sie die Schritte dieser Kurzanleitung ausgeführt haben, können Sie das Projekt löschen, um alle mit dem Projekt verknüpften Ressourcen zu entfernen.

    Console

    Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl entweder ein vorhandenes Projekt aus oder erstellen Sie ein Google Cloud -Projekt.

    Zur Projektauswahl

    Cloud Shell

    1. Erstellen Sie ein Projekt in Google Cloud .

      gcloud projects create PROJECT_ID
      

      Ersetzen Sie PROJECT_ID durch die Projekt-ID Ihrer Wahl.

    2. Wählen Sie das von Ihnen erstellte Projekt in Google Cloud aus.

      gcloud config set project PROJECT_ID
      
  4. Linux-VM-Instanz erstellen

    gcloud compute instances create swp-test-vm \
        --subnet=default \
        --zone=ZONE \
        --image-project=debian-cloud \
        --image-family=debian-11
    

    Ersetzen Sie ZONE durch die Zone Ihrer Test-VM-Instanz.

    Compute Engine gewährt dem Nutzer, der die VM-Instanz erstellt, die Rolle „Compute Instance Admin“ (roles/compute.instanceAdmin). Compute Engine fügt diesen Nutzer der sudo-Gruppe hinzu.

  5. Erstellen Sie eine Firewallregel.

    gcloud compute firewall-rules create default-allow-ssh \
        --direction=INGRESS \
        --priority=1000 \
        --network=default \
        --action=ALLOW \
        --rules=tcp:22 \
        --source-ranges=0.0.0.0/0
    

Erforderliche Rollen

Sie benötigen die folgenden Rollen, um die Aufgaben in dieser Anleitung auszuführen:

Hier finden Sie weitere Informationen:

Secure Web Proxy-Richtlinie erstellen

In diesem Abschnitt werden die Schritte zum Erstellen einer Secure Web Proxy-Richtlinie beschrieben. Die Richtlinie kann dann als Container für alle Sicherheitsregeln dienen, die den Traffic-Fluss durch den Secure Web Proxy steuern. Nachdem Sie die Richtlinie erstellt haben, können Sie Regeln erstellen und der Richtlinie hinzufügen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite SWP-Richtlinien auf.

    Zu den Richtlinien zum Löschen von Dienstdaten

  2. Klicken Sie auf Richtlinie erstellen.

  3. Geben Sie im Feld Name einen Namen für die Richtlinie ein, z. B. myswppolicy.

  4. Geben Sie im Feld Beschreibung eine Beschreibung für die Richtlinie ein, z. B. My new swp policy.

  5. Wählen Sie unter Regionen die Region aus, in der Sie die Richtlinie erstellen möchten, z. B. us-central1.

  6. Wenn Sie Regeln für die Richtlinie erstellen möchten, klicken Sie auf Regel hinzufügen. Weitere Informationen finden Sie im Abschnitt Secure Web Proxy-Regeln erstellen.

  7. Klicken Sie auf Erstellen.

Cloud Shell

  1. Erstellen Sie mit einem Texteditor eine policy.yaml-Datei.

  2. Fügen Sie folgenden Code in die policy.yaml-Datei ein.

      description: basic Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/myswppolicy
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: ID Ihres Projekts
    • REGION: Region, in der Ihre Richtlinie erstellt wird, z. B. us-central1
  3. Erstellen Sie die Secure Web Proxy-Richtlinie.

    gcloud network-security gateway-security-policies import myswppolicy \
        --source=policy.yaml \
        --location=REGION
    

Secure Web Proxy-Regeln erstellen

In diesem Abschnitt werden die Schritte zum Erstellen von Secure Web Proxy-Regeln beschrieben. Mit Regeln werden die tatsächlichen Zugriffssteuerungen für Webtraffic definiert.

In der zuvor erstellten Richtlinie können Sie Regeln wie allow-wikipedia-org definieren. Diese Regeln legen die Kriterien für den Abgleich von Websitzungen fest, z. B. den Abgleich mit einem bestimmten Host wie www.wikipedia.org, und lassen den Webtraffic dann entweder zu oder lehnen ihn ab.

Console

  1. Rufen Sie in der Google Cloud Console die Seite SWP-Richtlinien auf.

    Zu den Richtlinien zum Löschen von Dienstdaten

  2. Klicken Sie auf den Namen Ihrer Richtlinie, z. B. myswppolicy.

  3. Klicken Sie auf Regel hinzufügen.

  4. Führen Sie für jede Regel die folgenden Schritte aus:

    1. Geben Sie unter Priorität eine numerische Auswertungsreihenfolge für die Regel ein. Die Regeln werden von der höchsten bis zur niedrigsten Priorität ausgewertet, wobei 0 die höchste Priorität ist.

    2. Geben Sie im Feld Name einen Namen für die Regel ein, z. B. allow-wikipedia-org.

    3. Geben Sie im Feld Beschreibung eine Beschreibung für die Regel ein, z. B. Allow wikipedia.org.

    4. Wählen Sie unter Aktion eine der folgenden Optionen aus:

      • Zulassen: Verbindungsanfragen, die der Regel entsprechen, werden zugelassen.
      • Ablehnen: Verbindungsanfragen, die der Regel entsprechen, werden abgelehnt.
    5. Wählen Sie im Feld Status eine der folgenden Optionen für die Regelerzwingung aus:

      • Aktiviert: Die Regel wird auf Ihrer Secure Web Proxy-Instanz erzwungen.
      • Deaktiviert: Die Regel wird nicht für Ihre Secure Web Proxy-Instanz erzwungen.
    6. Geben Sie im Abschnitt Sitzungsabgleich die Kriterien für den Abgleich der Sitzung an, z. B. host() == 'www.wikipedia.org'.

      Weitere Informationen zur Syntax für SessionMatcher finden Sie in der CEL-Matcher-Sprachreferenz.

    7. Geben Sie im Abschnitt Anwendungsübereinstimmung die Kriterien für die Übereinstimmung mit der Anfrage an. Da wir die Regel für die TLS-Prüfung nicht aktiviert haben, kann die Anfrage nur mit HTTP-Traffic abgeglichen werden.

      Weitere Informationen zum Abgleich von TCP-Traffic finden Sie unter TCP-Proxy-Regeln konfigurieren.

    8. Klicken Sie auf Erstellen.

  5. Wenn Sie eine weitere Regel hinzufügen möchten, klicken Sie auf Regel hinzufügen.

Cloud Shell

  1. Erstellen Sie die Datei rule.yaml mit einem Texteditor.

  2. Fügen Sie folgenden Code in die rule.yaml-Datei ein. Weitere Informationen zur Syntax für SessionMatcher finden Sie in der CEL-Matcher-Sprachreferenz.

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
    description: Allow wikipedia.org
    enabled: true
    priority: 1
    basicProfile: ALLOW
    sessionMatcher: host() == 'www.wikipedia.org'
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: ID Ihres Projekts
    • REGION: Region Ihrer Richtlinie
    • RULE_NAME: Name der Regel, z. B. allow-wikipedia-org.
  3. Erstellen Sie die Sicherheitsrichtlinienregel.

    gcloud network-security gateway-security-policies rules import allow-wikipedia-org \
        --source=rule.yaml \
        --location=REGION \
        --gateway-security-policy=policy1
    

Web-Proxy einrichten

In diesem Abschnitt wird beschrieben, wie Sie Secure Web Proxy im expliziten Routingmodus bereitstellen, der als expliziter Proxy fungiert. Außerdem wird erläutert, wie Sie die zuvor erstellte Richtlinie und die Regeln mit Ihrer Secure Web Proxy-Instanz verknüpfen, damit der gesamte Traffic, der sie passiert, den definierten Zugriffssteuerungen unterliegt.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Web-Proxys auf.

    Zu „Web-Proxys“

  2. Klicken Sie auf Sicheren Web-Proxy erstellen.

  3. Geben Sie im Feld Name einen Namen für den Webproxy ein, z. B. myswp.

  4. Geben Sie im Feld Beschreibung eine Beschreibung für den Webproxy ein, z. B. My new swp.

  5. Wählen Sie für Routingmodus die Option Explizit aus.

  6. Wählen Sie unter Regionen die Region aus, in der Sie den Webproxy erstellen möchten, z. B. us-central1.

  7. Wählen Sie unter Netzwerk das Netzwerk aus, in dem Sie den Webproxy erstellen möchten.

  8. Wählen Sie unter Subnetzwerk das VPC-Subnetz aus, das Sie zuvor im Rahmen der ersten Einrichtungsschritte erstellt haben.

  9. Optional: Geben Sie im Feld Web-Proxy-IP-Adresse die IP-Adresse des Secure Web Proxy ein.

    Sie können eine IP-Adresse aus dem Bereich der Secure Web Proxy-IP-Adressen eingeben, die sich in dem Subnetz befinden, das Sie im vorherigen Schritt erstellt haben. Wenn Sie die IP-Adresse nicht eingeben, wählt Ihre Secure Web Proxy-Instanz automatisch eine IP-Adresse aus dem ausgewählten Subnetzwerk aus.

  10. Geben Sie unter Ports die Portnummern ein, z. B. 80 oder 443, auf denen der Webproxy überwacht werden soll.

  1. Wählen Sie unter Zertifikat das Zertifikat aus, das Sie zum Erstellen des Webproxys verwenden möchten.

  2. Wählen Sie unter Verknüpfte Richtlinie die Richtlinie aus, die Sie erstellt haben, um den Web-Proxy damit zu verknüpfen.

  3. Klicken Sie auf Erstellen.

Cloud Shell

  1. Erstellen Sie mit einem Texteditor eine gateway.yaml-Datei.

  2. Fügen Sie folgenden Code in die gateway.yaml-Datei ein.

    name: projects/PROJECT_ID/locations/REGION/gateways/myswp
    type: SECURE_WEB_GATEWAY
    addresses: ["IP_ADDRESS"]
    ports: [443]
    gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    network: projects/PROJECT_ID/global/networks/NETWORK
    subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK
    routingMode: EXPLICIT_ROUTING_MODE
    

    Optional: Wenn Sie Clientanwendungen aus anderen Google Cloud-Regionen erlauben möchten, eine Verbindung zu Ihrem Proxy herzustellen, aktivieren Sie beim Erstellen Ihrer Secure Web Proxy-Instanz den globalen Zugriff.

    Fügen Sie in der Datei gateway.yaml das Feld allowGlobalAccess hinzu und setzen Sie es auf true.

    Wichtig: Sie können allowGlobalAccess nur aktivieren, wenn Sie eine Secure Web Proxy-Instanz erstellen. Sie können diese Einstellung später nicht mehr konfigurieren.

    name: projects/PROJECT_ID/locations/REGION/gateways/swp1
    type: SECURE_WEB_GATEWAY
    addresses: ["IP_ADDRESS"]
    ports: [443]
    gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    network: projects/PROJECT_ID/global/networks/NETWORK
    subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK
    routingMode: EXPLICIT_ROUTING_MODE
    allowGlobalAccess: true
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: ID Ihres Projekts
    • REGION: Region, in der Ihre Secure Web Proxy-Instanz erstellt wird
    • IP_ADDRESS: IP-Adresse Ihrer Secure Web Proxy-Instanz
    • NETWORK: Netzwerk Ihrer Secure Web Proxy-Instanz
    • SUBNETWORK: Subnetzwerk Ihrer Secure Web Proxy-Instanz. Sie müssen das VPC-Subnetz verwenden, das Sie zuvor im Rahmen der ersten Einrichtungsschritte erstellt haben.
  3. Erstellen Sie eine Secure Web Proxy-Instanz basierend auf der Datei gateway.yaml.

    gcloud network-services gateways import myswp \
        --source=gateway.yaml \
        --location=REGION
    

    Die Bereitstellung einer Secure Web Proxy-Instanz kann einige Minuten dauern.

Verbindung testen

In diesem Abschnitt geht es um das Testen der Verbindung von einer Linux-VM, um zu bestätigen, dass der neu bereitgestellte Secure Web Proxy, seine Richtlinien und die zugehörigen Regeln ordnungsgemäß funktionieren.

  1. Stellen Sie eine Verbindung zur VM her, die Sie zuvor bereitgestellt haben.

    gcloud compute ssh swp-test-vm \
        --zone=ZONE
    

    Ersetzen Sie ZONE durch die Zone Ihrer Test-VM-Instanz.

  2. Testen Sie die Secure Web Proxy-Instanz.

    curl -s -o /dev/null -w "%{http_code}\\n" -x IP_ADDRESS:443 https://www.wikipedia.org
    

    Ersetzen Sie IP_ADDRESS durch die IP-Adresse Ihrer Secure Web Proxy-Instanz.

    Dieser Befehl gibt den HTTP-Statuscode aus, der von www.wikipedia.org zurückgegeben wird. Wenn der Befehl erfolgreich ist, lautet der Statuscode 200. Wenn jedoch ein Problem mit dem Proxy vorliegt, gibt der Befehl den Statuscode 000 zurück, um einen Verbindungsfehler anzuzeigen. Wenn Sie die detaillierten Fehlermeldungen aufrufen möchten, fügen Sie dem Befehl die Option -v hinzu.

In dem auf dieser Seite erwähnten Beispiel haben wir die TLS-Prüfung nicht konfiguriert. Weitere Informationen zum Konfigurieren von Secure Web Proxy für die TLS-Prüfung und zum anschließenden Testen Ihrer Secure Web Proxy-Instanz finden Sie unter TLS-Prüfung aktivieren.

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:

Secure Web Proxy-Instanz swp1 löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Web-Proxys auf. Sie können die Liste aller Web-Proxys oder nur der Web-Proxys aufrufen, die in einem bestimmten Netzwerk verfügbar sind.

    Zu „Web-Proxys“

  2. Wählen Sie den Webproxy aus, den Sie löschen möchten. In diesem Fall lautet der Name des Webproxys swp1.

  3. Klicken Sie auf Löschen und dann zur Bestätigung noch einmal auf Löschen.

Cloud Shell

gcloud network-services gateways delete swp1 \
    --location=REGION

Ersetzen Sie REGION durch die Region Ihrer Secure Web Proxy-Instanz.

Cloud NAT-Gateway löschen

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.

    Zur Seite „Cloud NAT”

  2. Wählen Sie das Cloud NAT-Gateway aus, das automatisch für Ihre Secure Web Proxy-Instanz generiert wurde. Das Cloud NAT-Gateway heißt in der Regel swg-autogen-nat.

  3. Klicken Sie auf Löschen und dann zur Bestätigung noch einmal auf Löschen.

Cloud Shell

  1. Optional: Wenn Sie den Namen des automatisch generierten Cloud Router ermitteln möchten, listen Sie die Router in Ihrer Region auf.

    gcloud compute routers list \
        --region=REGION \
        --filter="name:(swg-autogen-router-*)" \
        --format="value(name)"
    

    Ersetzen Sie REGION durch die Region Ihrer Secure Web Proxy-Instanz.

  2. Löschen Sie das Cloud NAT-Gateway.

    gcloud compute routers nats delete NAT_NAME \
        --router=ROUTER_NAME \
        --region=REGION
    

    Ersetzen Sie Folgendes:

    • NAT_NAME: Name des Cloud NAT-Gateways, normalerweise swg-autogen-nat
    • ROUTER_NAME: Name des Cloud Router, der mit dem Cloud NAT-Gateway verknüpft ist. Der Name des Routers beginnt in der Regel mit swg-autogen-router-.
    • REGION: Region des Cloud NAT-Gateways

Cloud Router löschen

Console

  1. Wechseln Sie in der Google Cloud -Console zur Seite Cloud Router.

    Zu Cloud Routers

  2. Wählen Sie den Cloud Router aus, der automatisch für Ihre Secure Web Proxy-Instanz generiert wurde. Der Name des Routers beginnt normalerweise mit swg-autogen-router-.

  3. Klicken Sie auf Löschen und dann zur Bestätigung noch einmal auf Löschen.

Cloud Shell

gcloud compute routers delete ROUTER_NAME \
    --region=REGION

Ersetzen Sie Folgendes:

  • ROUTER_NAME: Name des Cloud Router
  • REGION: Region von Cloud Router

Regel allow-wikipedia-org löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Web-Proxys auf. Sie können die Liste aller Web-Proxys oder nur der Web-Proxys aufrufen, die in einem bestimmten Netzwerk verfügbar sind.

    Zu „Web-Proxys“

  2. Klicken Sie auf die Richtlinie. In diesem Fall lautet der Name der Richtlinie policy1.

  3. Wählen Sie die Regel aus, die Sie löschen möchten. In diesem Fall lautet der Name der Regel allow-wikipedia-org.

  4. Klicken Sie auf Löschen und dann zur Bestätigung noch einmal auf Löschen.

Cloud Shell

gcloud network-security gateway-security-policies rules delete allow-wikipedia-org \
    --location=REGION \
    --gateway-security-policy=policy1

Ersetzen Sie REGION durch die Region Ihrer Richtlinie.

Secure Web Proxy-Richtlinie policy1 löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Web-Proxys auf. Sie können die Liste aller Web-Proxys oder nur der Web-Proxys aufrufen, die in einem bestimmten Netzwerk verfügbar sind.

    Zu „Web-Proxys“

  2. Wählen Sie die Richtlinie aus, die Sie löschen möchten. In diesem Fall lautet der Name der Richtlinie policy1.

  3. Klicken Sie auf Löschen und dann zur Bestätigung noch einmal auf Löschen.

Cloud Shell

gcloud network-security gateway-security-policies delete policy1 \
    --location=REGION

Ersetzen Sie REGION durch die Region Ihrer Richtlinie.

Löschen Sie die Linux-VM-Instanz swp-test-vm:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu Seite „VM-Instanzen“

  2. Wählen Sie die Instanzen aus, die Sie löschen möchten. Dabei ist swp-test-vm der Name der Linux-VM-Instanz.

  3. Klicken Sie auf Löschen.

Cloud Shell

gcloud compute instances delete swp-test-vm

Nächste Schritte