TLS-Versionen einschränken
Auf dieser Seite wird beschrieben, wie Sie den Zugriff auf Ressourcen von Google Cloud verhindern, indem Sie Anfragen mit TLS 1.0 oder 1.1 ablehnen.
Übersicht
Google Cloud unterstützt mehrere TLS-Protokollversionen. Um die Compliance-Anforderungen zu erfüllen, sollten Sie Handshake-Anfragen von Clients ablehnen, die ältere TLS-Versionen verwenden. Dazu können Sie die gcp.restrictTLSVersion
-Einschränkung der Organisationsrichtlinie verwenden.
Die Einschränkung gcp.restrictTLSVersion
kann auf Organisationen, Ordner oder Projekte in der Ressourcenhierarchie angewendet werden.
Für die Einschränkung wird eine Ausschlussliste verwendet, mit der explizite Werte abgelehnt und alle anderen zugelassen werden. Wenn Sie versuchen, eine Zulassungsliste zu verwenden, tritt ein Fehler auf.
Aufgrund des Verhaltens der Hierarchiebewertung von Organisationsrichtlinien gilt die TLS-Versionseinschränkung für den angegebenen Ressourcenknoten und alle untergeordneten Elemente. Wenn Sie beispielsweise die TLS-Version 1.0 für eine Organisation ablehnen, wird diese auch für alle Ordner und Projekte (untergeordnete Elemente) abgelehnt, die von dieser Organisation abstammen.
Sie können die übernommene TLS-Versionseinschränkung überschreiben, indem Sie die Organisationsrichtlinie für eine untergeordnete Ressource aktualisieren. Wenn in Ihrer Organisationsrichtlinie beispielsweise TLS 1.0 auf Organisationsebene abgelehnt wird, können Sie die Einschränkung für einen untergeordneten Ordner entfernen, indem Sie für diesen Ordner eine separate Organisationsrichtlinie 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 von Organisationsrichtlinien müssen Sie zuerst die IAM-Rolle Administrator für Organisationsrichtlinien (
roles/orgpolicy.policyAdmin
) erhalten.
TLS-Version einschränken
So beschränken Sie eine oder mehrere TLS-Versionen:
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 das Projekt aus, für das Sie die Organisationsrichtlinie festlegen möchten.
Wählen Sie auf der Seite Organisationsrichtlinien die Einschränkung TLS-Version einschränken aus der Liste 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 eine TLS-Version ein, die abgelehnt werden soll. Die folgenden Werte sind zulässige 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 möchten, 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 zur Datei Ihrer Organisationsrichtlinie, die im YAML-Format in etwa so aussehen sollte:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
rules:
- values:
deniedValues:
- TLS_VERSION_1
- TLS_VERSION_1_1
Ersetzen Sie Folgendes durch:
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 die Richtlinie angewendet wurde:
gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective
Ersetzen Sie Folgendes durch:
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 Einschränkungsrichtlinie für die TLS-Version kann für jeden in den Geltungsbereich fallenden Dienst getestet werden. Mit dem folgenden Beispiel-Curl-Befehl wird die TLS-Versionsbeschränkung für einen Cloud Storage-Bucket überprüft.
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 Folgendes durch:
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.
In der folgenden Beispielanfrage für curl
ist 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 TLS_VERSION_X
eingeschränkt wird, schlägt jeder Versuch, im Beispielbefehl auf Ressourcen mit TLS_VERSION_X
im projektspezifischen Richtlinienbereich 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 des Projekts, in dem die im vorherigen Befehl angegebene Ressource gehostet wird.SERVICE_NAME
: der Name des in den Geltungsbereich fallenden 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 von Google Front End (GFE) signierten Header haben.
Nicht unterstützte Dienste
Die Einschränkung der TLS-Version in Organisationsrichtlinien gilt nicht für die folgenden Dienste:
- App Engine (
*.appspot.com
) - Cloud Run-Funktionen (
*.cloudfunctions.net
), - Cloud Run (
*.run.app
) - Private Service Connect
- Benutzerdefinierte Domains
Wenn Sie die 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 die TLS-Version und die Chiffrensuite für Ihre Load Balancer durchzusetzen.