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
Öffnen Sie in der Google Cloud Console die Seite Organisationsrichtlinien.
Klicken Sie oben auf der Seite auf Projektauswahl.
Wählen Sie in der Projektauswahl die Ressource aus, für die Sie die Organisationsrichtlinie festlegen möchten.
Wählen Sie in der Liste auf der Seite Organisationsrichtlinien die Einschränkung TLS-Version einschränken aus.
Klicken Sie auf Bearbeiten, um die Organisationsrichtlinie für diese Ressource zu aktualisieren.
Wählen Sie auf der Seite Bearbeiten die Option Anpassen aus.
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.
Klicken Sie auf Regel hinzufügen.
Unter Richtlinienwerte ist der Standardwert Alle ablehnen festgelegt. Wählen Sie stattdessen Benutzerdefiniert aus.
Wählen Sie unter Richtlinientyp die Option Ablehnen aus.
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.0TLS_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.
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
istorganizations
,folders
oderprojects
.RESOURCE_ID
ist je nach Ressourcentyp, der inRESOURCE_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
istorganization
,folder
oderproject
.RESOURCE_ID
ist je nach Ressourcentyp, der inRESOURCE_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 wie1.0
oder1.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.