Richtlinien mit URL-Listen erstellen

Auf dieser Seite wird beschrieben, wie Sie URL-Listen verwenden, um detaillierte Zugriffsrichtlinien für Ihren ausgehenden Webtraffic in Ihrer Secure Web Proxy-Instanz zu erstellen und zu verwalten. Anstatt einzelne Regeln für jede Website zu erstellen, können Sie mit URL-Listen eine wiederverwendbare, zentralisierte Sammlung von Domains, Hostnamen und bestimmten URL-Mustern definieren.

Hier sind einige der wichtigsten Vorteile der Verwendung von URL-Listen:

  • Vereinfachte Richtlinienverwaltung: Sie können eine große Anzahl von allow oder deny Regeln mit einem einzigen Verweis in Ihrer Sicherheitsrichtlinie anwenden.

  • Präzise Steuerung erzwingen: Sie können eine bestimmte Syntax verwenden, um gesamte Domains, Subdomains oder genaue URL-Pfade abzugleichen. So lässt sich sicherstellen, dass Ihre Arbeitslasten nur auf autorisierte Ziele zugreifen können.

  • Sicherer Webzugriff: Sie können den Webzugriff in Ihrer gesamten Umgebung Google Cloud effizient sichern und prüfen.

Hinweis

  • Führen Sie die Schritte zur Ersteinrichtung aus.

  • Prüfen Sie, ob die Google Cloud CLI-Version 406.0.0 oder höher installiert ist:

    gcloud version | head -n1
    

    Wenn Sie eine ältere gcloud CLI-Version installiert haben, aktualisieren Sie die Version:

    gcloud components update --version=406.0.0
    

Secure Web Proxy-Instanz mit einer leeren Richtlinie erstellen

Wenn Sie eine Secure Web Proxy-Instanz erstellen möchten, müssen Sie zuerst eine leere Sicherheitsrichtlinie und dann einen Web-Proxy erstellen, der die Richtlinie verwendet.

Leere Sicherheitsrichtlinie erstellen

Console

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

    Zu SWP-Richtlinien

  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 Description (Beschreibung) eine Beschreibung für die Richtlinie ein, z. B. My new swp policy.

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

  6. Klicken Sie auf Erstellen.

Cloud Shell

  1. Erstellen Sie mit Ihrem bevorzugten Texteditor eine policy.yaml-Datei.

  2. Fügen Sie der erstellten Datei policy.yaml Folgendes hinzu:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Ersetzen Sie Folgendes:

    • PROJECT_NAME: Name Ihres Projekts

    • REGION: Region, in der Ihre Richtlinie erstellt wird, z. B. us-central1

    • POLICY_NAME: Name Ihrer Richtlinie

    • POLICY_DESCRIPTION: Beschreibung Ihrer Richtlinie

  3. Importieren Sie die Sicherheitsrichtlinie mit dem gcloud network-security gateway-security-policies import Befehl:

    gcloud network-security gateway-security-policies import POLICY_NAME \
        --source=POLICY_FILE.yaml \
        --location=REGION
    

Web-Proxy erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Web Proxies (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 Web-Proxy ein, z. B. myswp.

  4. Geben Sie im Feld Description (Beschreibung) eine Beschreibung für den Web-Proxy ein, z. B. My new swp.

  5. Wählen Sie unter Routing mode (Routingmodus) eine der folgenden Optionen aus:

    • Explicit (Explizit): Stellt Ihre Secure Web Proxy Instanz im expliziten Proxymodus bereit.
    • Next hop (Nächster Hop): Stellt Ihre Secure Web Proxy -Instanz im Modus „Nächster Hop“ bereit.
  6. Wählen Sie unter Regions (Regionen) die Region aus, in der Sie den Web-Proxy erstellen möchten, z. B. us-central1.

  7. Wählen Sie unter Network (Netzwerk) das Netzwerk aus, in dem Sie den Web-Proxy erstellen möchten.

  8. Wählen Sie unter Subnetwork das VPC-Subnetz aus, das Sie bei der Ersteinrichtung erstellt haben.

  9. Optional: Geben Sie im Feld Web proxy IP address (IP-Adresse des Web-Proxys) die IP-Adresse des sicheren Web-Proxys ein.

    Sie können eine IP-Adresse aus dem Bereich der Secure Web Proxy-IP-Adressen eingeben, die sich im 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 Subnetz aus.

  10. Wählen Sie unter Certificate (Zertifikat) das Zertifikat aus, das Sie zum Erstellen des Web-Proxys verwenden möchten.

  11. Wählen Sie unter Policy (Richtlinie) die Richtlinie aus, die Sie erstellt haben, um den Web-Proxy damit zu verknüpfen.

  12. Klicken Sie auf Erstellen.

Cloud Shell

  1. Erstellen Sie mit Ihrem bevorzugten Texteditor eine gateway.yaml-Datei.

  2. Fügen Sie der Datei gateway.yaml Folgendes hinzu:

    name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME
    type: SECURE_WEB_GATEWAY
    ports: [GATEWAY_PORT_NUMBERS]
    certificateUrls: [CERTIFICATE_URLS]
    gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    network: projects/PROJECT_NAME/global/networks/NETWORK_NAME
    subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNETWORK
    routingMode: ROUTING_MODE
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Ersetzen Sie Folgendes:

    • GATEWAY_NAME: Name dieser Secure Web Proxy-Instanz

    • GATEWAY_PORT_NUMBERS: Liste der Portnummern für dieses Gateway, z. B. [80,443]

    • CERTIFICATE_URLS: Liste der SSL-Zertifikat-URLs

    • SUBNETWORK: VPC Subnetz , das Sie bei der Ersteinrichtung erstellt haben

    • ROUTING_MODE: Geben Sie den erforderlichen Web-Proxy-Routingmodus an:

      • EXPLICIT_ROUTING_MODE: Stellt Ihre Secure Web Proxy-Instanz im expliziten Proxymodus bereit
      • NEXT_HOP_ROUTING_MODE: Stellt Ihre Secure Web Proxy-Instanz im Modus „Nächster Hop“ bereit
    • GATEWAY_IP_ADDRESS: Optionale Liste der IP Adressen für Ihre Secure Web Proxy-Instanzen in den Proxy Subnetzen, die Sie zuvor bei der Ersteinrichtung erstellt haben

      Wenn Sie keine IP-Adressen auflisten möchten, lassen Sie das Feld leer, damit der Web-Proxy eine IP-Adresse für Sie auswählen kann.

  3. Erstellen Sie die Secure Web Proxy-Instanz mit dem gcloud network-services gateways import Befehl:

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

Verbindung testen

Verwenden Sie den Befehl curl von einer beliebigen VM-Instanz (virtuelle Maschine) in Ihrem VPC-Netzwerk (Virtual Private Cloud), um die Verbindung zu testen:

  curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure

Wenn alles korrekt funktioniert, gibt Ihre Secure Web Proxy-Instanz den Statuscode 403 Forbidden zurück. Dieser Fehler bestätigt Folgendes:

  • Die Secure Web Proxy-Instanz wurde erfolgreich bereitgestellt und empfängt aktiv Traffic.

  • Die Secure Web Proxy-Richtlinie erzwingt korrekt die Standardsicherheitskonfiguration, bei der der gesamte Traffic abgelehnt wird, bis Sie in den nächsten Abschnitten bestimmte allow-Regeln definieren.

URL-Liste erstellen und konfigurieren

Console

  1. Rufen Sie in der Google Cloud Console die Seite URL Lists (URL-Listen) auf.

    Zu URL-Listen

  2. Klicken Sie auf URL-Liste erstellen. Die Seite URL-Liste erstellen wird geöffnet.

  3. Geben Sie im Feld Name einen Namen für die URL-Liste ein, z. B. example-org-allowed-list.

  4. Geben Sie im Feld Description (Beschreibung) eine Beschreibung für die URL-Liste ein, z. B. My new URL list.

  5. Wählen Sie unter Regions (Regionen) die Region aus, in der Sie die URL-Liste erstellen möchten, z. B. us-central1.

  6. Wenn Sie die Liste der Hosts, URLs oder Muster hinzufügen möchten, die abgeglichen werden sollen, geben Sie im URL list Feld die Details ein oder klicken Sie auf Upload list, um eine benutzerdefinierte Liste von URLs hochzuladen. Weitere Informationen finden Sie in der Syntaxreferenz für UrlList.

  7. Klicken Sie auf Erstellen.

Cloud Shell

  1. Erstellen Sie mit Ihrem bevorzugten Texteditor die Datei url_list.yaml.

  2. Fügen Sie der Datei url_list.yaml Folgendes hinzu:

      name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME
      values: URL_LIST
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: eindeutige ID Ihres Google Cloud Projekts

    • REGION: Region, in der Ihre URL-Liste erstellt wird, z. B. us-central1

    • URL_LIST_NAME: Name der URL-Liste

    • URL_LIST: Liste der Hosts, URLs oder Muster, die abgeglichen werden sollen

    Weitere Informationen finden Sie in der Syntaxreferenz für UrlList.

    Hier ein Beispiel für eine URL-Listenregeldatei:

    name: projects/PROJECT_ID/locations/REGION/urlLists/example-org-allowed-list
    values:
      - www.example.com
      - about.example.com
      - "*.google.com"
      - "github.com/example-org/*"
    

    Das Sternchen (*) hat in YAML eine besondere Bedeutung. Sie müssen URLs, die ein * enthalten, in Anführungszeichen setzen.

  3. Importieren Sie die erstellte URL-Liste mit dem gcloud network-security url-lists import Befehl , damit Ihre Secure Web Proxy-Regel darauf verweisen kann.

    gcloud network-security url-lists import URL_LIST_NAME \
        --location=REGION \
        --project=PROJECT_ID \
        --source=url_list.yaml
    

Secure Web Proxy-Regel hinzufügen

Console

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

    Zu SWP-Richtlinien

  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 Priority (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-org-url-list.

    3. Geben Sie im Feld Description (Beschreibung) eine Beschreibung für die Regel ein.

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

      • Allow (Zulassen): Verbindungsanfragen zulassen, die der Regel entsprechen.
      • Deny (Ablehnen): Verbindungsanfragen ablehnen, die der Regel entsprechen.
    5. Wählen Sie im Feld Status eine der folgenden Optionen für die Erzwingung der Regel aus:

      • Enabled (Aktiviert): Die Regel für Ihre Secure Web Proxy Instanz erzwingen.
      • Disabled (Deaktiviert): Die Regel nicht für Ihre Secure Web Proxy Instanz erzwingen.
    6. Geben Sie im Abschnitt Session Match (Sitzungsabgleich) den eindeutigen Namen der URL-Liste an, die Sie im vorherigen Abschnitt erstellt haben. Beispiel:

        sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME)"
      

      Weitere Informationen zur Syntax für SessionMatcher, siehe CEL-Matcher-Sprachreferenz.

    7. Geben Sie im Abschnitt Application Match (Anwendungsabgleich) die Kriterien für den Abgleich der Anfrage an.

    8. Klicken Sie auf Regel hinzufügen.

Cloud Shell

  1. Erstellen Sie mit Ihrem bevorzugten Texteditor eine rule.yaml-Datei.

  2. Fügen Sie der Datei rule.yaml Folgendes hinzu:

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
    basicProfile: ALLOW
    enabled: true
    priority: RULE_PRIORITY
    description: RULE_DESCRIPTION
    sessionMatcher: SESSION_CEL_EXPRESSION
    applicationMatcher: APPLICATION_CEL_EXPRESSION
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: eindeutige ID Ihres Google Cloud Projekts

    • REGION: Region, auf die diese Regel angewendet wird

    • POLICY_NAME: Name einer vorhandenen Sicherheitsrichtlinie , die von Ihrer Secure Web Proxy-Instanz verwendet wird

    • RULE_NAME: Name der Regel

    • PRIORITY_VALUE: Priorität der Regel. Eine niedrigere Zahl entspricht einer höheren Priorität.

    • RULE_DESCRIPTION: Beschreibung der Regel

    • SESSION_CEL_EXPRESSION: Ein CEL-Ausdruck (Common Expression Language). Weitere Informationen finden Sie in der CEL-Matcher-Sprachreferenz.

    • APPLICATION_CEL_EXPRESSION: Ein CEL-Ausdruck für Ihre Anwendung

    Hier ein Beispiel für eine Regeldatei:

    name: projects/PROJECT_ID/locations/REGION/urlLists/allow-repos
    basicProfile: ALLOW
    enabled: true
    priority: 100
    description: Allow access to our list of known code repos.
    sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
    

  3. Importieren Sie die erstellte Regel mit dem gcloud network-security gateway-security-policies rules import Befehl.

        gcloud network-security gateway-security-policies rules import RULE_NAME \
          --location=REGION \
          --project=PROJECT_ID \
          --source=rule.yaml \
          --gateway-security-policy=POLICY_NAME
    

Richtlinienkonfiguration testen

Sie können die Verbindung noch einmal testen, um zu prüfen, ob die URL-listenbasierten Zugriffsregeln korrekt konfiguriert und aktiv von Ihrer Secure Web Proxy-Instanz erzwungen werden.

Verwenden Sie den folgenden curl-Befehl, um die Verbindung zu testen:

curl -x https://SWP_IP_ADDRESS:SWP_PORT_NUMBER HTTP_TEST_ADDRESS
--proxy-insecure

Ersetzen Sie Folgendes:

  • SWP_IP_ADDRESS: IP-Adresse Ihrer Secure Web Proxy-Instanz

  • SWP_PORT_NUMBER: Portnummer Ihres Web-Proxys, z. B. 443

  • HTTP_TEST_ADDRESS: Eine zu testende Adresse, z. B. https://www.example.com. Sie entspricht einem Host- oder URL-Eintrag in Ihrer url_list.

Wenn alles korrekt funktioniert, erhalten Sie die Antwort 200 OK. Diese Antwort bestätigt, dass der ausgehende Traffic zu einer URL, die in Ihrer URL-Liste aufgeführt und in der Sicherheitsrichtlinienregel referenziert ist, erfolgreich über Ihre Secure Web Proxy-Instanz zugelassen wird.

Nächste Schritte