TLS-Versionen einschränken

Auf dieser Seite wird beschrieben, wie Sie den Zugriff auf Google Cloud-Ressourcen verhindern können, indem Sie Anfragen ablehnen, die über Transport Layer Security (TLS) 1.0 oder 1.1 gestellt wurden.

Überblick

Google Cloud unterstützt mehrere TLS-Protokollversionen. Zur Erfüllung der Complianceanforderungen sollten Sie Handshakeanfragen von Clients ablehnen, die ältere TLS-Versionen verwenden. Dazu können Sie die Einschränkung der Organisationsrichtlinien gcp.restrictTLSVersion verwenden.

Die Einschränkung gcp.restrictTLSVersion kann auf Organisationen, Ordner oder Projekte in der Ressourcenhierarchie angewendet werden. Die Einschränkung verwendet eine Ablehnungsliste, auf der explizite Werte abgelehnt und alle anderen zugelassen werden. Wenn Sie versuchen, eine Zulassungsliste zu verwenden, tritt ein Fehler auf.

Aufgrund des Verhaltens der Evaluierung der Organisationsrichtlinienhierarchie gilt die TLS-Versionsbeschränkung für den angegebenen Ressourcenknoten und alle untergeordneten Knoten. Wenn Sie beispielsweise TLS Version 1.0 für eine Organisation ablehnen, wird sie auch für alle Ordner und Projekte (untergeordnete Elemente) abgelehnt, die von dieser Organisation abstammen.

Sie können die übernommene TLS-Versionsbeschränkung überschreiben, indem Sie die Organisationsrichtlinie für eine untergeordnete Ressource aktualisieren. Wenn Ihre Organisationsrichtlinie beispielsweise TLS 1.0 auf Organisationsebene ablehnt, können Sie die Einschränkung für einen untergeordneten Ordner entfernen, indem Sie eine separate Organisationsrichtlinie für diesen Ordner festlegen. Wenn der Ordner untergeordnete Elemente hat, wird die Richtlinie des Ordners aufgrund der Richtlinienübernahme auch auf jede untergeordnete Ressource angewendet.

Hinweise

  • Zum Festlegen, Ändern oder Löschen einer Organisationsrichtlinie muss Ihnen zuerst die IAM-Rolle (Identity and Access Management) Administrator für Organisationsrichtlinien (roles/orgpolicy.policyAdmin) gewährt werden.

TLS-Version einschränken

Führen Sie die folgenden Schritte aus, um eine oder mehrere TLS-Versionen einzuschränken:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Organisationsrichtlinien.

    Zu den Organisationsrichtlinien

  2. Klicken Sie oben auf der Seite auf Projektauswahl.

  3. Wählen Sie in der Projektauswahl die Ressource aus, für die Sie die Organisationsrichtlinie festlegen möchten.

  4. Wählen Sie in der Liste auf der Seite Organisationsrichtlinien die Einschränkung TLS-Version einschränken aus.

  5. Klicken Sie auf Bearbeiten, um die Organisationsrichtlinie für diese Ressource zu aktualisieren.

  6. Wählen Sie auf der Seite Bearbeiten die Option Anpassen aus.

  7. Wählen Sie unter Richtlinienerzwingung eine Erzwingungsoption aus:

    • Wählen Sie Mit übergeordneter Ressource zusammenführen aus, um die Organisationsrichtlinien zusammenzuführen und zu evaluieren. Weitere Informationen zur Übernahme und zur Ressourcenhierarchie finden Sie unter Informationen zu Evaluierungen der Hierarchie.

    • Wählen Sie Ersetzen aus, um Richtlinien zu überschreiben, die von einer übergeordneten Ressource übernommen wurden.

  8. Klicken Sie auf Regel hinzufügen.

  9. Unter Richtlinienwerte ist der Standardwert Alle ablehnen festgelegt. Wählen Sie stattdessen Benutzerdefiniert aus.

  10. Wählen Sie unter Richtlinientyp die Option Ablehnen aus.

  11. Geben Sie unter Benutzerdefinierte Werte die TLS-Version ein, die abgelehnt werden soll. Die folgenden Werte sind gültige benutzerdefinierte Werte:

    • TLS_VERSION_1 für TLS 1.0
    • TLS_VERSION_1_1 für TLS 1.1

    Wenn Sie mehrere TLS-Versionen einschränken, klicken Sie auf Wert hinzufügen und geben Sie den Wert in das zusätzliche Feld ein.

  12. Klicken Sie auf Speichern, um den Vorgang abzuschließen und die Organisationsrichtlinie anzuwenden.

gcloud

Verwenden Sie den Befehl gcloud org-policies set-policy, um eine Organisationsrichtlinie für die Ressource festzulegen:

gcloud org-policies set-policy POLICY_PATH

POLICY_PATH ist der vollständige Pfad zu Ihrer Organisationsrichtliniendatei, die bei Verwendung des YAML-Formats so aussehen sollte:

name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
  rules:
  - values:
    deniedValues:
    - TLS_VERSION_1
    - TLS_VERSION_1_1

Ersetzen Sie sie durch Folgendes:

  • RESOURCE_TYPE ist organizations, folders oder projects.

  • RESOURCE_ID ist je nach Ressourcentyp, der in RESOURCE_TYPE angegeben ist, Ihre Organisations-ID, Ordner-ID, Projekt-ID oder Projektnummer.

Führen Sie den folgenden Befehl aus, um zu prüfen, ob Ihre Richtlinie angewendet wurde:

gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective

Ersetzen Sie sie durch Folgendes:

  • RESOURCE_TYPE ist organization, folder oder project.

  • RESOURCE_ID ist je nach Ressourcentyp, der in RESOURCE_TYPE angegeben ist, Ihre Organisations-ID, Ordner-ID, Projekt-ID oder Projektnummer.

Richtlinie testen

Die TLS-Richtlinieneinschränkung zur Versionsbeschränkung kann für alle unterliegenden Dienste getestet werden. Mit dem folgenden curl-Beispielbefehl wird die TLS-Versionsbeschränkung für einen Cloud Storage-Bucket validiert.

  curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://storage.googleapis.com/storage/v1/b/GCS_BUCKET_NAME/o" \
  --tlsvTLS_VERSION --tls-max TLS_VERSION --ciphers DEFAULT@SECLEVEL=0

Zwischen --tlsv und dem Wert darf kein Leerzeichen stehen. Beispiel: --tlsv1.1

Ersetzen Sie sie durch Folgendes:

  • GCS_BUCKET_NAME ist der Name eines Cloud Storage-Bucket in Ihrem Projekt, z. B. mybucketname.

  • TLS_VERSION ist eine TLS-Version wie 1.0 oder 1.1, die in der konfigurierten Richtlinie abgelehnt wird.

Im folgenden Beispiel für eine curl-Anfrage wird GCS_BUCKET_NAME auf mybucketname und TLS_VERSION auf 1.1 festgelegt:

  curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://storage.googleapis.com/storage/v1/b/mybucketname/o" \
  --tlsv1.1 --tls-max 1.1 --ciphers DEFAULT@SECLEVEL=0

Wenn die Organisationsrichtlinie so konfiguriert ist, dass sie TLS_VERSION_X einschränkt, schlägt jeder Versuch, mit TLS_VERSION_X im richtlinienbeschränkten Projekt in diesem Beispielbefehl auf Ressourcen zuzugreifen, fehl. Es wird eine Fehlermeldung zurückgegeben, die den Grund für diesen Fehler beschreibt.

Request is disallowed by organization's constraints/gcp.restrictTLSVersion
constraint for 'projects/PROJECT_NUMBER' to use service
'SERVICE_NAME.googleapis.com' by violated TLS version `TLS_VERSION_X`

Diese Ausgabe enthält die folgenden Werte:

  • PROJECT_NUMBER: die Projektnummer, auf der die im vorherigen Befehl referenzierte Ressource gehostet wird.
  • SERVICE_NAME: der Name des unterliegenden Dienstes, der durch die TLS-Einschränkungsrichtlinie blockiert wird.

Unterstützte Dienste

Die TLS-Versionsbeschränkung wird von allen Google Cloud-Ressourcen-APIs unterstützt, die einen vom Google Front End (GFE) signierten Header haben.

Nicht unterstützte Dienste

Die TLS-Versionseinschränkung der Organisationsrichtlinie gilt nicht für die folgenden Dienste:

  • App Engine (*.appspot.com)
  • Cloud Functions (*.cloudfunctions.net),
  • Cloud Run (*.run.app)
  • Private Service Connect
  • Benutzerdefinierte Domains

Wenn Sie TLS-Versionen für diese Dienste einschränken möchten, verwenden Sie Cloud Load Balancing zusammen mit SSL-Richtlinien. Sie können auch die vordefinierte Einschränkung constraints/compute.requireSslPolicy zusammen mit benutzerdefinierten Einschränkungen für SSL-Richtlinien verwenden, um Einschränkungen für TLS-Versionen und Cipher Suite für Ihre Load-Balancer durchzusetzen.

Nächste Schritte