TLS-Prüfung aktivieren

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.

Hinweise

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 Zertifizierungsstellendienst, 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 die Ausstellung von Zertifikaten und 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 mit dem CA-Dienst eine CA erstellen können. In diesem Abschnitt werden die Berechtigungen beschrieben, die Sie für diese Aufgabe benötigen. Anschließend wird erläutert, wie Sie einen CA-Pool erstellen.

Für die Generierung von Zertifikaten verwendet die TLS-Prüfung für jedes Projekt ein separates Dienstkonto namens service-[PROJECT_NUMBER]@gcp-sa-certmanager.iam.gserviceaccount.com. Achten Sie darauf, dass Sie diesem Dienstkonto die Berechtigung zur Verwendung Ihres CA-Pools erteilt haben. Wenn dieser Zugriff widerrufen wird, funktioniert die TLS-Prüfung nicht mehr.

Wenn Sie die PROJECT_NUMBER mit der PROJECT_ID des CA-Pool-Projekts abrufen möchten, verwenden Sie den folgenden Befehl:

    gcloud projects describe PROJECT_ID
        --format="value(projectNumber)"

Verwenden Sie den Befehl gcloud privateca pools create, um den Pool zu erstellen, und geben Sie die untergeordnete Pool-ID, die Stufe, die Projekt-ID und den Speicherort an.

gcloud privateca pools create SUBORDINATE_POOL_ID \
    --tier=TIER \
    --project=PROJECT_ID \
    --location=REGION

Ersetzen Sie Folgendes:

  • SUBORDINATE_POOL_ID: Name des CA-Pools
  • TIER: CA-Stufe, entweder devops oder enterprise

    Wir empfehlen, den CA-Pool auf der Ebene devops zu erstellen, da das Nachverfolgen einzeln ausgestellter Zertifikate nicht erforderlich ist.

  • PROJECT_ID: ID des CA-Pool-Projekts

  • REGION: Standort des CA-Pools

Untergeordneten CA-Pool erstellen

Wenn Sie mehrere Szenarien für die Zertifikatausstellung haben, können Sie für jedes dieser Szenarien eine untergeordnete Zertifizierungsstelle erstellen. Sie können eine untergeordnete Zertifizierungsstelle in einem CA-Pool erstellen. Die Stamm-CA signiert dann alle Zertifizierungsstellen in diesem CA-Pool. Diese Zertifikate werden zum Signieren von Serverzertifikaten verwendet, 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 Root-CA erstellen, die im Certificate Authority Service gespeichert ist

So generieren Sie eine untergeordnete Zertifizierungsstelle:

  1. CA-Pool erstellen
  2. Untergeordnete Zertifizierungsstellen in einem CA-Pool erstellen

Untergeordneten CA-Pool mit einer externen Stamm-CA erstellen

So generieren Sie eine untergeordnete Zertifizierungsstelle:

  1. CA-Pool erstellen
  2. Untergeordnete Zertifizierungsstellen erstellen, die von einer externen Stamm-CA signiert wurden

Stamm-CA erstellen

Wenn keine Stamm-CA vorhanden ist, können Sie in CA Service eine erstellen.

So erstellen Sie eine Root-CA:

  1. Stamm-CA erstellen
  2. Untergeordneten CA-Pool mit einer vorhandenen Stamm-CA erstellen, die im CA-Dienst gespeichert ist

Dienstkonto erstellen

Mit einem Dienstkonto können Sie die erforderlichen Berechtigungen für die TLS-Prüfung bereitstellen, ohne die Sicherheit Ihrer Nutzerkonten oder Ihrer Secure Web Proxy-Instanz zu gefährden.

Wenn Sie kein Dienstkonto haben, müssen Sie eines erstellen und dann die erforderlichen Berechtigungen für dieses Dienstkonto erteilen.

  1. Erstellen Sie ein Dienstkonto.

    gcloud beta services identity create \
        --service=networksecurity.googleapis.com \
        --project=PROJECT_ID
    

    Daraufhin erstellt die Google Cloud CLI ein Dienstkonto mit dem Namen service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.

    Wenn Sie die PROJECT_NUMBER mithilfe der PROJECT_ID des CA-Pool-Projekts abrufen möchten, verwenden Sie den folgenden Befehl:

        gcloud projects describe PROJECT_ID
            --format="value(projectNumber)"
      

  2. Gewähren Sie dem von Ihnen 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 mit den Aufgaben in diesem Abschnitt erst fortfahren, wenn Sie die im Abschnitt Vorbereitung aufgeführten Voraussetzungen erfüllt haben.

Führen Sie die Aufgaben in den folgenden Abschnitten aus, um die TLS-Prüfung zu konfigurieren.

TLS-Prüfungsrichtlinie erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite TLS-Prüfungsrichtlinien auf.

    Zu den TLS-Prüfungsrichtlinien

  2. Wählen Sie im Menü „Projektauswahl“ Ihr Projekt aus.

  3. Klicken Sie auf TLS-Prüfungsrichtlinie erstellen.

  4. Geben Sie für Name einen Namen ein.

  5. Optional: Geben Sie im Feld Beschreibung eine Beschreibung ein.

  6. Wählen Sie in der Liste Region die Region aus, für die Sie die TLS-Prüfungsrichtlinie erstellen möchten.

  7. 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 unter CA-Pool erstellen.

  8. Optional: Wählen Sie in der Liste Mindest-TLS-Version die von der Richtlinie unterstützte Mindest-TLS-Version aus.

  9. Wählen Sie für die Vertrauensstellungskonfiguration eine der folgenden Optionen aus:

    • Nur öffentliche Zertifizierungsstellen: Wählen Sie diese Option aus, wenn Sie Servern mit öffentlich signierten Zertifikaten vertrauen möchten.
    • Nur private Zertifizierungsstellen: Wählen Sie diese Option aus, wenn Sie Servern mit privat signierten Zertifikaten vertrauen möchten.

      Wählen Sie in der Liste Konfiguration der privaten Vertrauensstellung die Vertrauenskonfiguration mit dem konfigurierten Trust Store aus, der für das Vertrauen in vorgelagerten Serverzertifikaten verwendet werden soll. Weitere Informationen zum Erstellen einer Vertrauenskonfiguration finden Sie unter Vertrauenskonfiguration erstellen.

    • Öffentliche und private Zertifizierungsstellen: Wählen Sie diese Option aus, wenn Sie sowohl öffentliche als auch private Zertifizierungsstellen verwenden möchten.

  10. Optional: Wählen Sie in der Liste Cipher-Suite-Profil den TLS-Profiltyp aus. Sie können einen der folgenden Werte auswählen:

    • Kompatibel: ermöglicht den umfassendsten Satz von Clients, einschließlich Clients, die nur veraltete TLS-Features unterstützen, um TLS auszuhandeln.
    • Modern: unterstützt einer Vielzahl von TLS-Features, mit denen moderne Clients TLS aushandeln können.
    • Eingeschränkt: unterstützt einen reduzierten Satz von TLS-Features, die strengere Compliance-Anforderungen erfüllen sollen.
    • Benutzerdefiniert: Hiermit können Sie TLS-Features einzeln auswählen.

      Wählen Sie in der Liste Cipher-Suites die Cipher Suites aus, die vom benutzerdefinierten Profil unterstützt werden.

  11. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die Datei TLS_INSPECTION_FILE.yaml. Ersetzen Sie TLS_INSPECTION_FILE durch den erforderlichen Dateinamen.

  2. 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_POOL
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: ID des Projekts.
    • REGION: Region, in der die Richtlinie erstellt werden soll
    • TLS_INSPECTION_NAME: Name der TLS-Prüfungsrichtlinie für den Secure Web Proxy
    • CA_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 zur Sicherheitsrichtlinie hinzufügen

Console

Web-Proxy-Richtlinie erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerksicherheit auf.

    Netzwerksicherheit aufrufen

  2. Klicken Sie auf Sicherer Web-Proxy.

  3. Klicken Sie auf den Tab Richtlinien.

  4. Klicken Sie auf Richtlinie erstellen.

  5. Geben Sie einen Namen für die Richtlinie ein, die Sie erstellen möchten, z. B. myswppolicy.

  6. Geben Sie eine Beschreibung der Richtlinie ein, z. B. My new swp policy.

  7. Wählen Sie in der Liste Regionen die Region aus, in der Sie die Richtlinie für den sicheren Webproxy erstellen möchten.

  8. Wählen Sie TLS-Prüfung konfigurieren aus, um die TLS-Prüfung zu konfigurieren.

  9. Wählen Sie in der Liste TLS-Prüfungsrichtlinie die von Ihnen erstellte TLS-Prüfungsrichtlinie aus.

  10. 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 Regeln für sicheren Webproxy erstellen.

  11. Klicken Sie auf Erstellen.

Secure Web Proxy-Regeln erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerksicherheit auf.

    Netzwerksicherheit aufrufen

  2. Klicken Sie auf Sicherer Web-Proxy.

  3. Wählen Sie im Menü „Projektauswahl“ Ihre Organisations-ID oder den Ordner aus, der die Richtlinie enthält.

  4. Klicken Sie auf den Namen Ihrer Richtlinie.

  5. Klicken Sie auf Regel hinzufügen.

  6. Füllen Sie die Regelfelder aus:

    1. Name
    2. Beschreibung
    3. Status
    4. Priorität: die numerische Auswertungsreihenfolge der Regel. Die Regeln werden von der höchsten bis zur niedrigsten Priorität ausgewertet, wobei 0 die höchste Priorität ist.
    5. Geben Sie im Abschnitt Aktion an, ob Verbindungen, die der Regel entsprechen, zugelassen (Zulassen) oder abgelehnt (Ablehnen) werden sollen.
    6. Geben Sie im Bereich Sitzungsabgleich die Kriterien für den Sitzungsabgleich an. Weitere Informationen zur Syntax für SessionMatcher finden Sie in der Referenz zur CEL-Abgleichssprache.
    7. Wählen Sie TLS-Prüfung aktivieren aus, um die TLS-Prüfung zu aktivieren.
    8. Geben Sie im Abschnitt Anwendungsabgleich die Kriterien für den Abgleich der Anfrage an. Wenn Sie die Regel für die TLS-Prüfung nicht aktivieren, kann die Anfrage nur mit HTTP-Traffic abgeglichen werden.
    9. Klicken Sie auf Erstellen.
  7. Klicken Sie auf Regel hinzufügen, um eine weitere Regel hinzuzufügen.

  8. Klicken Sie auf Erstellen, um die Richtlinie zu erstellen.

Web-Proxy einrichten

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerksicherheit auf.

    Netzwerksicherheit aufrufen

  2. Klicken Sie auf Sicherer Web-Proxy.

  3. Klicken Sie auf den Tab Webproxys.

  4. Klicken Sie auf Webproxy einrichten.

  5. Geben Sie einen Namen für den Webproxy ein, den Sie erstellen möchten, z. B. myswp.

  6. Geben Sie eine Beschreibung des Web-Proxys ein, z. B. My new swp.

  7. Wählen Sie in der Liste Regionen die Region aus, in der Sie den Webproxy erstellen möchten.

  8. Wählen Sie in der Liste Netzwerk das Netzwerk aus, in dem Sie den Webproxy erstellen möchten.

  9. Wählen Sie in der Liste Subnetzwerk das Subnetzwerk aus, in dem Sie den Webproxy erstellen möchten.

  10. Geben Sie die IP-Adresse des Web-Proxys ein.

  11. Wählen Sie in der Liste Zertifikat das Zertifikat aus, mit dem Sie den Webproxy erstellen möchten.

  12. Wählen Sie in der Liste Richtlinie die Richtlinie aus, die Sie erstellt haben, um den Webproxy zu verknüpfen.

  13. Klicken Sie auf Erstellen.

Cloud Shell

  1. 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_NAME
    
  2. Erstellen Sie die Secure Web Proxy-Richtlinie:

      gcloud network-security gateway-security-policies import policy1 \
          --source=policy.yaml --location=REGION
    
  3. Erstellen 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: true
    
  4. Erstellen Sie die Sicherheitsrichtlinienregel:

      gcloud network-security gateway-security-policies rules import allow-example-com \
          --source=rule.yaml \
          --location=REGION \
          --gateway-security-policy=policy1
    
  5. Wenn Sie einer vorhandenen Sicherheitsrichtlinie eine TLS-Prüfungsrichtlinie zuordnen möchten, erstellen Sie die Datei POLICY_FILE.yaml. Ersetzen Sie POLICY_FILE durch 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
    

Nächste Schritte