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 für jede Website einzelne Regeln zu erstellen, können Sie mit URL-Listen eine wiederverwendbare, zentrale Sammlung von Domains, Hostnamen und bestimmten URL-Mustern definieren.
Hier sind einige der wichtigsten Vorteile der Verwendung von URL-Listen:
Richtlinienverwaltung vereinfachen: Sie können eine große Anzahl von
allow- oderdeny-Regeln mit einem einzigen Verweis in Ihrer Sicherheitsrichtlinie anwenden.Präzise Steuerung erzwingen: Mit einer bestimmten Syntax können Sie ganze Domains, Subdomains oder genaue URL-Pfade abgleichen. So wird sichergestellt, dass Ihre Arbeitslasten nur auf autorisierte Ziele zugreifen können.
Sicherer Webzugriff: Sie können den Webzugriff in Ihrer Google Cloud Umgebung 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 -n1Wenn 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
Rufen Sie in der Google Cloud Console die Seite SWP-Richtlinien auf.
Klicken Sie auf Richtlinie erstellen.
Geben Sie im Feld Name einen Namen für die Richtlinie ein, z. B.
myswppolicy.Geben Sie im Feld Beschreibung eine Beschreibung für die Richtlinie ein, z. B.
My new swp policy.Wählen Sie unter Regionen die Region aus, in der Sie die Richtlinie erstellen möchten, z. B.
us-central1.Klicken Sie auf Erstellen.
Cloud Shell
Erstellen Sie mit einem Texteditor eine
policy.yaml-Datei.Fügen Sie folgenden Code in die
policy.yaml-Datei ein.name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTIONErsetzen Sie Folgendes:
PROJECT_NAME: Name Ihres ProjektsREGION: Region, in der Ihre Richtlinie erstellt wird, z. B.us-central1POLICY_NAME: Name der RichtliniePOLICY_DESCRIPTION: Beschreibung Ihrer Richtlinie
Importieren Sie die Sicherheitsrichtlinie mit dem Befehl
gcloud network-security gateway-security-policies import:gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
Web-Proxy erstellen
Console
Rufen Sie in der Google Cloud Console die Seite Web-Proxys auf.
Klicken Sie auf Sicheren Web-Proxy erstellen.
Geben Sie im Feld Name einen Namen für den Webproxy ein, z. B.
myswp.Geben Sie im Feld Beschreibung eine Beschreibung für den Webproxy ein, z. B.
My new swp.Wählen Sie für Routing-Modus eine der folgenden Optionen aus:
- Explizit: Ihre Secure Web Proxy-Instanz wird im expliziten Proxymodus bereitgestellt.
- Next Hop: Ihre Secure Web Proxy-Instanz wird im Next Hop-Modus bereitgestellt.
Wählen Sie unter Regionen die Region aus, in der Sie den Webproxy erstellen möchten, z. B.
us-central1.Wählen Sie unter Netzwerk das Netzwerk aus, in dem Sie den Webproxy erstellen möchten.
Wählen Sie für Subnetzwerk das VPC-Subnetz aus, das Sie bei der Ersteinrichtung erstellt haben.
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 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 Subnetzwerk aus.
Wählen Sie unter Zertifikat das Zertifikat aus, das Sie zum Erstellen des Webproxys verwenden möchten.
Wählen Sie unter Richtlinie die Richtlinie aus, die Sie zum Verknüpfen des Web-Proxys erstellt haben.
Klicken Sie auf Erstellen.
Cloud Shell
Erstellen Sie mit einem Texteditor eine
gateway.yaml-Datei.Fügen Sie folgenden Code in die
gateway.yaml-Datei ein.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: samplescopeOptional: Wenn Sie zulassen möchten, dass Clientanwendungen aus anderen Google CloudRegionen eine Verbindung zu Ihrem Proxy herstellen, aktivieren Sie beim Erstellen Ihrer Secure Web Proxy-Instanz den globalen Zugriff.
Fügen Sie in der Datei
gateway.yamldas FeldallowGlobalAccesshinzu und setzen Sie es auftrue.Wichtig: Sie können
allowGlobalAccessnur aktivieren, wenn Sie eine Secure Web Proxy-Instanz erstellen. Sie können diese Einstellung später nicht mehr konfigurieren.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 addresses: [GATEWAY_IP_ADDRESS] scope: samplescope allowGlobalAccess: trueErsetzen Sie Folgendes:
GATEWAY_NAME: Name dieser Secure Web Proxy-InstanzGATEWAY_PORT_NUMBERS: Liste der Portnummern für dieses Gateway, z. B.[80,443]CERTIFICATE_URLS: Liste der SSL-Zertifikat-URLsSUBNETWORK: das VPC-Subnetz, das Sie bei der Ersteinrichtung erstellt habenROUTING_MODE: Geben Sie den erforderlichen Webproxy-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 Next Hop-Modus bereit.
GATEWAY_IP_ADDRESS: Optionale Liste von IP-Adressen für Ihre Secure Web Proxy-Instanzen in den Proxy-Subnetzen, die Sie zuvor in den Schritten zur Ersteinrichtung erstellt haben.Wenn Sie keine IP-Adressen angeben möchten, lassen Sie das Feld leer, damit der Web-Proxy eine IP-Adresse für Sie auswählt.
Erstellen Sie die Secure Web Proxy-Instanz mit dem Befehl
gcloud network-services gateways import:gcloud network-services gateways import GATEWAY_NAME \ --source=gateway.yaml \ --location=REGION
Verbindung testen
Verwenden Sie den Befehl curl von einer beliebigen VM-Instanz 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 Richtlinie für sichere Web-Proxys erzwingt 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
Rufen Sie in der Google Cloud Console die Seite URL-Listen auf.
Klicken Sie auf URL-Liste erstellen. Die Seite URL-Liste erstellen wird geöffnet.
Geben Sie im Feld Name einen Namen für die URL-Liste ein, z. B.
example-org-allowed-list.Geben Sie im Feld Beschreibung eine Beschreibung für die URL-Liste ein, z. B.
My new URL list.Wählen Sie unter Regionen die Region aus, in der Sie die URL-Liste erstellen möchten, z. B.
us-central1.Wenn Sie die Liste der Hosts, URLs oder Muster hinzufügen möchten, die abgeglichen werden sollen, geben Sie die Details in das Feld URL-Liste ein oder klicken Sie auf Liste hochladen, um eine benutzerdefinierte Liste von URLs hochzuladen. Weitere Informationen finden Sie unter Syntaxreferenz für URL-Listen.
Klicken Sie auf Erstellen.
Cloud Shell
Erstellen Sie die Datei
url_list.yamlmit einem Texteditor.Fügen Sie folgenden Code in die
url_list.yaml-Datei ein.name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME values: URL_LISTErsetzen Sie Folgendes:
PROJECT_ID: Eindeutige ID Ihres Google Cloud-ProjektsREGION: Region, in der Ihre URL-Liste erstellt wird, z. B.us-central1URL_LIST_NAME: Name der URL-ListeURL_LIST: Liste der Hosts, URLs oder Muster, die abgeglichen werden sollen
Weitere Informationen finden Sie in der Referenz zur UrlList-Syntax.
Im Folgenden finden Sie ein Beispiel für eine Regeldatei für URL-Listen:
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. URLs, die das Zeichen*enthalten, müssen in Anführungszeichen gesetzt werden.Importieren Sie die von Ihnen erstellte URL-Liste mit dem Befehl
gcloud network-security url-lists import, 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
Rufen Sie in der Google Cloud Console die Seite SWP-Richtlinien auf.
Klicken Sie auf den Namen Ihrer Richtlinie, z. B.
myswppolicy.Klicken Sie auf Regel hinzufügen.
Führen Sie für jede Regel die folgenden Schritte aus:
Geben Sie unter Priorität eine numerische Auswertungsreihenfolge für die Regel ein. Regeln werden von der höchsten bis zur niedrigsten Priorität ausgewertet, wobei
0die höchste Priorität ist.Geben Sie im Feld Name einen Namen für die Regel ein, z. B.
allow-org-url-list.Geben Sie im Feld Beschreibung eine Beschreibung für die Regel ein.
Wählen Sie für Aktion eine der folgenden Optionen aus:
- Zulassen: Damit werden Verbindungsanfragen zugelassen, die der Regel entsprechen.
- Ablehnen: Verbindungsanfragen, die der Regel entsprechen, werden abgelehnt.
Wählen Sie für das Feld Status eine der folgenden Optionen für die Durchsetzung der Regel aus:
- Aktiviert: Die Regel wird für Ihre Secure Web Proxy-Instanz erzwungen.
- Deaktiviert: Die Regel wird nicht für Ihre Secure Web Proxy-Instanz erzwungen.
Geben Sie im Bereich 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
SessionMatcherfinden Sie in der CEL-Matcher-Sprachreferenz.Geben Sie im Bereich Application Match die Kriterien für den Abgleich der Anfrage an.
Klicken Sie auf Regel hinzufügen.
Cloud Shell
Erstellen Sie mit einem Texteditor eine
rule.yaml-Datei.Fügen Sie folgenden Code in die
rule.yaml-Datei ein.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_EXPRESSIONErsetzen Sie Folgendes:
PROJECT_ID: Eindeutige ID Ihres Google Cloud-ProjektsREGION: Region, für die diese Regel giltPOLICY_NAME: Name einer vorhandenen Sicherheitsrichtlinie, die von Ihrer Secure Web Proxy-Instanz verwendet wirdRULE_NAME: Name der RegelPRIORITY_VALUE: Priorität der Regel. Eine niedrigere Zahl entspricht einer höheren Priorität.RULE_DESCRIPTION: Beschreibung der RegelSESSION_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
Im Folgenden finden Sie 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')"Importieren Sie die erstellte Regel mit dem Befehl
gcloud network-security gateway-security-policies rules import.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-Listen-basierten Zugriffsregeln richtig konfiguriert sind und von Ihrer Secure Web Proxy-Instanz aktiv 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-InstanzSWP_PORT_NUMBER: Portnummer Ihres Web-Proxys, z. B.443HTTP_TEST_ADDRESS: Eine zu testende Adresse, z. B.https://www.example.com. Sie entspricht einem Host- oder URL-Eintrag in Ihrerurl_list.
Wenn alles korrekt funktioniert, erhalten Sie eine 200 OK-Antwort. Diese Antwort bestätigt, dass der ausgehende Traffic zu einer URL, die in Ihrer URL-Liste aufgeführt ist und auf die in der Sicherheitsrichtlinienregel verwiesen wird, erfolgreich über Ihre Secure Web Proxy-Instanz zugelassen wird.