Limiter les versions TLS

Cette page explique comment empêcher l'accès aux ressources Google Cloud en refusant les requêtes effectuées à l’aide du protocole TLS (Transport Layer Security) 1.0 ou 1.1.

.

Présentation

Google Cloud accepte plusieurs protocoles TLS version. À répondre aux exigences de conformité, vous pouvez refuser les requêtes de handshake provenant qui utilisent des versions antérieures de TLS. Pour ce faire, vous pouvez utiliser la gcp.restrictTLSVersion règles d'administration contrainte.

La contrainte gcp.restrictTLSVersion peut être appliquée aux organisations, aux dossiers ou aux projets du hiérarchie des ressources. La contrainte utilise deny list (liste de blocage) qui nie les valeurs explicites et autorise toutes les autres. Une erreur s'affiche si vous essayez d'utiliser une liste d'autorisation.

En raison du comportement évaluation de la hiérarchie des règles d'administration, la restriction de version TLS s'applique au nœud de ressource spécifié et à toutes ses enfants. Par exemple, si vous refusez la version 1.0 de TLS pour une organisation, est également refusé pour tous les dossiers et projets (enfants) descendant de organisation.

Vous pouvez ignorer la restriction de version TLS héritée en mettant à jour le paramètre une règle d'administration sur une ressource enfant. Par exemple, si votre organisation refuse TLS 1.0 au niveau de l'organisation, vous pouvez supprimer la restriction pour un dossier enfant en définissant une règle d'administration distincte sur ce dossier. Si le dossier a des enfants, la stratégie du dossier s'applique également à chaque ressource enfant en raison de l'héritage de la stratégie.

Avant de commencer

  • Pour définir, modifier ou supprimer une règle d'administration, vous devez d'abord disposer l'administrateur des règles d'administration (roles/orgpolicy.policyAdmin) ; rôle IAM (Identity and Access Management).

Limiter une version TLS

Pour restreindre une ou plusieurs versions de TLS, procédez comme suit:

Console

  1. Ouvrez la page Règles d'administration dans la console Google Cloud.

    Accéder à la page Règles d'administration

  2. Cliquez sur le sélecteur de projets en haut de la page.

  3. Dans le sélecteur de projet, choisissez la ressource pour laquelle vous souhaitez pour définir la règle d'administration.

  4. Sélectionnez la contrainte Restreindre la version TLS dans la liste de la Règles d'administration.

  5. Pour mettre à jour la règle d'administration pour cette ressource, cliquez sur Modifier.

  6. Sur la page Modifier, sélectionnez Personnaliser.

  7. Sous Application des règles, sélectionnez une option d'application :

    • Pour fusionner et évaluer vos règles d'administration ensemble, sélectionnez Fusionner avec le parent. Pour en savoir plus sur l'héritage et les la hiérarchie des ressources, consultez Comprendre l'évaluation hiérarchique

    • Pour remplacer les règles héritées d'une ressource parente, sélectionnez Remplacer.

  8. Cliquez sur Ajouter une règle.

  9. Sous Valeurs de règle, la valeur par défaut est Tout refuser. Sélectionner Personnalisé à la place.

  10. Sous Policy type (Type de règle), sélectionnez Deny (Refuser).

  11. Sous Valeurs personnalisées, saisissez une version de TLS à refuser. Les valeurs suivantes sont des valeurs personnalisées valides:

    • TLS_VERSION_1 pour TLS 1.0
    • TLS_VERSION_1_1 pour TLS 1.1

    Si vous restreignez plusieurs versions de TLS, cliquez sur Ajouter une valeur. saisissez la valeur dans le champ supplémentaire.

  12. Pour terminer et appliquer la règle d'administration, cliquez sur Enregistrer.

gcloud

Exécutez la commande gcloud org-policies set-policy pour définir une règle d'administration sur la ressource:

gcloud org-policies set-policy POLICY_PATH

POLICY_PATH est le chemin d'accès complet à votre fichier de règle d'administration, qui doit ressembler à ce qui suit si vous utilisez le format YAML:

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

Remplacez-la par ce qui suit:

  • RESOURCE_TYPE est organizations, folders ou projects.

  • RESOURCE_ID correspond à l'ID de l'organisation, à l'ID du dossier, à l'ID du projet ou au numéro du projet, en fonction du type de ressource spécifié dans RESOURCE_TYPE.

Exécutez la commande suivante pour vérifier que votre stratégie a bien été appliquée:

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

Remplacez-la par ce qui suit:

  • RESOURCE_TYPE est organization, folder ou project.

  • RESOURCE_ID correspond à l'ID de l'organisation, à l'ID du dossier, à l'ID du projet ou au numéro du projet, en fonction du type de ressource spécifié dans RESOURCE_TYPE.

Tester la stratégie

La contrainte de la règle de restriction de version TLS peut être testée pour service couvert. L'exemple de commande curl suivant valide la restriction de version TLS pour un bucket Cloud Storage.

  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

Il n'y a pas d'espace entre --tlsv et la valeur. Par exemple : --tlsv1.1

Remplacez-la par ce qui suit:

  • GCS_BUCKET_NAME est un nom de bucket Cloud Storage. dans votre projet, par exemple mybucketname.

  • TLS_VERSION est une version TLS telle que 1.0 ou 1.1. refusées dans la règle configurée.

L'exemple de requête curl suivant montre GCS_BUCKET_NAME défini sur mybucketname et TLS_VERSION sur 1.1:

  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

Si la règle d'administration est configurée pour restreindre TLS_VERSION_X, tout élément tentative d'accès aux ressources avec TLS_VERSION_X dans le compte dans cet exemple de commande échouera. Un message d'erreur s'affiche. décrit la raison de cet échec.

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`

Ce résultat inclut les valeurs suivantes :

  • PROJECT_NUMBER: numéro du projet hébergeant le ressource référencée dans la commande précédente.
  • SERVICE_NAME: nom du service couvert par la règle de restriction TLS.

Services compatibles

La restriction de version TLS est compatible avec toutes les API de ressources Google Cloud. dont l'en-tête est signé par Google Front End (GFE).

Services incompatibles

La contrainte de règle d'administration de restriction de version TLS n'est pas définie. applicables aux services suivants:

  • App Engine (*.appspot.com)
  • Cloud Functions (*.cloudfunctions.net),
  • Cloud Run (*.run.app)
  • Private Service Connect
  • Domaines personnalisés

Pour limiter les versions TLS pour ces services, utilisez Cloud Load Balancing ainsi que les règles SSL. Vous pouvez également utilisez la classe prédéfinie constraints/compute.requireSslPolicy contrainte ainsi que des contraintes personnalisées pour les règles SSL appliquer des restrictions de version TLS et de suite de chiffrement pour vos équilibreurs de charge.

Étape suivante