Auf dieser Seite wird beschrieben, wie Sie die TLS-Prüfung (Transport Layer Security) für Ihre Secure Web Proxy-Instanz aktivieren. Secure Web Proxy bietet einen TLS-Prüfdienst, mit dem Sie TLS-Traffic abfangen, die verschlüsselte Anfrage prüfen und Sicherheitsrichtlinien erzwingen können. Weitere Informationen zur TLS-Prüfung finden Sie unter TLS-Prüfung.
Hinweis
Bevor Sie Ihre Secure Web Proxy-Instanz für die TLS-Prüfung konfigurieren, führen Sie die Aufgaben in den folgenden Abschnitten aus.
Certificate Authority Service aktivieren
Secure Web Proxy verwendet den Certificate Authority Service , um die für die TLS-Prüfung verwendeten Zertifikate zu generieren.
Verwenden Sie den folgenden Befehl, um CA Service zu aktivieren:
gcloud services enable privateca.googleapis.com
CA-Pool erstellen
Ein Zertifizierungsstellenpool ist eine Sammlung mehrerer Zertifizierungsstellen mit einer gemeinsamen Richtlinie für das Ausstellen von Zertifikaten sowie einer IAM-Richtlinie (Identity and Access Management). CA-Pools bieten die Möglichkeit, Vertrauensketten ohne Ausfallzeiten für die zugehörigen Nutzlasten zu rotieren.
Sie müssen einen CA-Pool erstellen, bevor Sie CA Service zum Erstellen einer CA verwenden können. In diesem Abschnitt werden die Berechtigungen beschrieben, die Sie zum Ausführen dieser Aufgabe benötigen, und dann wird erläutert, wie Sie einen CA-Pool erstellen.
Zum Generieren von Zertifikaten verwendet die TLS-Prüfung für jedes Projekt ein separates Dienstkonto mit dem Namen
service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.
Achten Sie darauf, dass Sie diesem Dienstkonto Berechtigungen zur Verwendung Ihres CA-Pools erteilt haben. Wenn dieser Zugriff widerrufen wird, funktioniert die TLS-Prüfung nicht mehr.
Verwenden Sie den folgenden Befehl, um die PROJECT_NUMBER mit der PROJECT_ID des CA-Pool-Projekts abzurufen:
gcloud projects describe <var>PROJECT_ID</var>
--format="value(projectNumber)"
Verwenden Sie den Befehl gcloud privateca pools create und
geben Sie die ID des untergeordneten Pools, die Ebene, die Projekt-ID und den Standort an, um den Pool zu erstellen.
gcloud privateca pools create SUBORDINATE_POOL_ID \
--tier=TIER \
--project=PROJECT_ID \
--location=REGION
Ersetzen Sie Folgendes:
SUBORDINATE_POOL_ID: Name des CA-PoolsTIER: CA-Ebene, entwederdevopsoderenterpriseWir empfehlen, den CA-Pool auf der Ebene
devopszu erstellen, da es nicht erforderlich ist, einzeln ausgestellte Zertifikate zu verfolgen.PROJECT_ID: ID des CA-Pool-ProjektsREGION: Standort des CA-Pools
Untergeordneten CA-Pool erstellen
Wenn Sie mehrere Szenarien für die Zertifikatsausstellung haben, können Sie eine untergeordnete CA erstellen für jedes dieser Szenarien. Sie können eine untergeordnete CA in einem CA-Pool erstellen. Die Stamm-CA signiert alle CAs in diesem CA-Pool. Diese Zertifikate werden verwendet, um Serverzertifikate zu signieren, die für die TLS-Prüfung generiert werden.
Verwenden Sie eine der folgenden Methoden, um einen untergeordneten CA-Pool zu erstellen.
Untergeordneten CA-Pool mit einer vorhandenen Stamm-CA erstellen, die in Certificate Authority Service gespeichert ist
So generieren Sie eine untergeordnete CA:
Untergeordneten CA-Pool mit einer vorhandenen externen Stamm-CA erstellen
So generieren Sie eine untergeordnete CA:
Stamm-CA erstellen
Wenn keine Stamm-CA vorhanden ist, können Sie in CA Service eine erstellen.
So erstellen Sie eine Stamm-Zertifizierungsstelle:
- Stamm-CA erstellen
- Untergeordneten CA-Pool mit einer vorhandenen Stamm-CA erstellen, die in CA Service gespeichert ist
Dienstkonto erstellen
Ein Dienstkonto bietet die erforderlichen Berechtigungen für die TLS-Prüfung, ohne die Sicherheit Ihrer Nutzerkonten oder Ihrer Secure Web Proxy-Instanz zu beeinträchtigen.
Wenn Sie kein Dienstkonto haben, müssen Sie eines erstellen und diesem Dienstkonto dann die erforderlichen Berechtigungen erteilen.
Erstellen Sie ein Dienstkonto.
gcloud beta services identity create \ --service=networksecurity.googleapis.com \ --project=PROJECT_IDAls Antwort erstellt die Google Cloud CLI ein Dienstkonto mit dem Namen
service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.Verwenden Sie den folgenden Befehl, um die
PROJECT_NUMBERmit derPROJECT_IDdes CA-Pool-Projekts abzurufen:gcloud projects describe PROJECT_ID --format="value(projectNumber)"Erteilen Sie dem erstellten Dienstkonto die Berechtigung, Zertifikate mit Ihrem CA-Pool zu generieren.
gcloud privateca pools add-iam-policy-binding CA_POOL \ --member='serviceAccount:SERVICE_ACCOUNT' \ --role='roles/privateca.certificateManager' \ --location='REGION'
Secure Web Proxy für die TLS-Prüfung konfigurieren
Sie können erst mit den Aufgaben in diesem Abschnitt fortfahren, wenn Sie die erforderlichen Aufgaben ausgeführt haben, die im Abschnitt Hinweis aufgeführt sind.
Führen Sie die Aufgaben in den folgenden Abschnitten aus, um die TLS-Prüfung zu konfigurieren.
TLS-Prüfungsrichtlinie erstellen
Console
Rufen Sie in der Google Cloud Console die Seite TLS-Prüfungsrichtlinien auf.
Wählen Sie im Menü „Projektauswahl“ Ihr Projekt aus.
Klicken Sie auf TLS-Prüfungsrichtlinie erstellen.
Geben Sie im Feld Name einen Namen für die Richtlinie ein.
Optional: Geben Sie im Feld Beschreibung eine Beschreibung für die Richtlinie ein.
Wählen Sie in der Liste Region die Region aus, in der Sie die Richtlinie erstellen möchten.
Wählen Sie in der Liste CA-Pool den CA-Pool aus, aus dem Sie die Zertifikate erstellen möchten.
Wenn Sie keinen CA-Pool konfiguriert haben, klicken Sie auf Neuer Pool und folgen Sie der Anleitung im Abschnitt CA-Pool erstellen.
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie die Datei
TLS_INSPECTION_FILE.yaml. Ersetzen SieTLS_INSPECTION_FILEdurch den gewünschten Dateinamen.Fügen Sie der YAML-Datei den folgenden Code hinzu, um die erforderliche TlsInspectionPolicy zu konfigurieren:
name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOLErsetzen Sie Folgendes:
PROJECT_ID: ID des ProjektsREGION: Region, in der die Richtlinie erstellt werden sollTLS_INSPECTION_NAME: Name der TLS-Prüfungsrichtlinie für Secure Web ProxyCA_POOL: Name des CA-Pools, aus dem die Zertifikate erstellt werden sollen
Der CA-Pool muss in derselben Region vorhanden sein.
TLS-Prüfungsrichtlinie importieren
Importieren Sie die TLS-Prüfungsrichtlinie, die Sie im vorherigen Schritt erstellt haben:
gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \
--source=TLS_INSPECTION_FILE.yaml \
--location=REGION
TLS-Prüfungsrichtlinie der Sicherheitsrichtlinie hinzufügen
Console
Web-Proxy-Richtlinie erstellen
Rufen Sie in der Google Cloud Console die Seite SWP Policies (SWP-Richtlinien) auf.
Klicken Sie auf Richtlinie erstellen.
Geben Sie einen Namen für die zu erstellende Richtlinie ein, z. B.
myswppolicy.Geben Sie eine Beschreibung der Richtlinie ein, z. B.
My new swp policy.Wählen Sie in der Liste Regions (Regionen) die Region aus, in der Sie die Secure Web Proxy-Richtlinie erstellen möchten.
Wählen Sie Configure TLS inspection (TLS-Prüfung konfigurieren) aus, um die TLS-Prüfung zu konfigurieren.
Wählen Sie in der Liste TLS inspection policy (TLS-Prüfungsrichtlinie) die von Ihnen erstellte TLS -Prüfungsrichtlinie aus.
Wenn Sie Regeln für die Richtlinie erstellen möchten, klicken Sie auf Weiter und dann auf Regel hinzufügen. Weitere Informationen finden Sie unter Secure Web Proxy-Regeln erstellen.
Klicken Sie auf Erstellen.
Secure Web Proxy-Regeln erstellen
Rufen Sie in der Google Cloud Console die Seite SWP Policies (SWP-Richtlinien) auf.
Wählen Sie im Menü „Projektauswahl“ Ihre Organisations-ID oder den Ordner aus, der die Richtlinie enthält.
Klicken Sie auf den Namen Ihrer Richtlinie.
Klicken Sie auf Regel hinzufügen.
Füllen Sie die Regelfelder aus:
- Name
- Beschreibung
- Status
- Priorität: die numerische Auswertungsreihenfolge der Regel. Die Regeln werden von der höchsten bis zur niedrigsten Priorität ausgewertet, wobei
0die höchste Priorität ist. - Geben Sie im Abschnitt Aktion an, ob Verbindungen, die der Regel entsprechen, zugelassen (Zulassen) oder abgelehnt (Ablehnen) werden sollen.
- Geben Sie im Abschnitt Sitzungsübereinstimmung die Kriterien für den Abgleich der Sitzung an. Weitere Informationen zur Syntax für
SessionMatcher, finden Sie in der CEL-Referenz für Abgleichausdrücke. - Wählen Sie Enable TLS inspection (TLS-Prüfung aktivieren) aus, um die TLS-Prüfung zu aktivieren.
- Geben Sie im Abschnitt Anwendungsübereinstimmung die Kriterien für den Abgleich der Anfrage an. Wenn Sie die Regel nicht für die TLS-Prüfung aktivieren, kann die Anfrage nur mit HTTP-Traffic übereinstimmen.
- Klicken Sie auf Erstellen.
Klicken Sie auf Regel hinzufügen , um eine weitere Regel hinzuzufügen.
Klicken Sie auf Erstellen , um die Richtlinie zu erstellen.
Web-Proxy einrichten
Rufen Sie in der Google Cloud Console die Seite Web Proxies (Web-Proxys) auf.
Klicken Sie auf Sicheren Web-Proxy erstellen.
Geben Sie einen Namen für den zu erstellenden Web-Proxy ein, z. B.
myswp.Geben Sie eine Beschreibung des Web-Proxys ein, z. B.
My new swp.Wählen Sie in der Liste Regions (Regionen) die Region aus, in der Sie den Web-Proxy erstellen möchten.
Wählen Sie in der Liste Network (Netzwerk) das Netzwerk aus, in dem Sie den Web-Proxy erstellen möchten.
Wählen Sie in der Liste Subnetwork (Subnetzwerk) das Subnetzwerk aus, in dem Sie den Web-Proxy erstellen möchten.
Optional: Geben Sie die IP-Adresse des sicheren Web-Proxys ein. Sie können eine IP Adresse aus dem Bereich der IP-Adressen des sicheren Web-Proxys eingeben, die sich im Subnetzwerk 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 in der Liste Certificate (Zertifikat) das Zertifikat aus, das Sie zum Erstellen des Web-Proxys verwenden möchten.
Wählen Sie in der Liste Policy (Richtlinie) die Richtlinie aus, die Sie dem Web-Proxy zuordnen möchten.
Klicken Sie auf Erstellen.
Cloud Shell
Erstellen Sie die Datei
policy.yaml:description: basic Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1 tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAMEErstellen Sie die Secure Web Proxy-Richtlinie:
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml --location=REGIONErstellen Sie die Datei
rule.yaml:name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-example-com description: Allow example.com enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'example.com' applicationMatcher: request.path.contains('index.html') tlsInspectionEnabled: trueErstellen Sie die Regel für die Sicherheitsrichtlinie.
gcloud network-security gateway-security-policies rules import allow-example-com \ --source=rule.yaml \ --location=REGION \ --gateway-security-policy=policy1Wenn Sie eine TLS-Prüfungsrichtlinie an eine vorhandene Sicherheitsrichtlinie anhängen möchten, erstellen Sie die Datei
POLICY_FILE.yaml. Ersetzen SiePOLICY_FILEdurch Ihren Dateinamen.description: My Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME