Comment puis-je appliquer le protocole TLS version 1.2 ou ultérieure à mes compartiments Amazon S3 ?

Lecture de 3 minute(s)
0

Mes clients utilisent des versions antérieures de TLS. Je souhaite leur imposer l'utilisation d'une version récente de TLS lorsqu'ils accèdent au contenu depuis mes compartiments Amazon Simple Storage Service (Amazon S3).

Résolution

Remarque : Amazon S3 requiert la version 1.2 ou ultérieure du protocole TLS et constitue la valeur par défaut des points de terminaison de l'API S3. Pour appliquer une version de protocole de chiffrement supérieure, telle que TLS 1.3 ou version ultérieure, les exemples de cet article s'appliquent toujours.

Utilisez une politique basée sur les ressources associée à votre compartiment pour appliquer le protocole TLS version 1.2 ou ultérieure à toutes les connexions avec vos compartiments S3.

Pour attacher une stratégie de compartiment qui nécessite la version 1.2 ou ultérieure du protocole TLS, procédez comme suit :

  1. Ouvrez la console Amazon S3.

  2. Sélectionnez le compartiment dans la liste.

  3. Sélectionnez l'onglet Autorisations.

  4. Sous Stratégie de compartiment, sélectionnez Modifier.

  5. Ajoutez une politique pour refuser l'accès aux protocoles de chiffrement que vous souhaitez éviter. Par exemple, utilisez la stratégie suivante pour refuser toutes les demandes HTTPS qui utilisent des versions de TLS antérieures à la version 1.2 :

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "EnforceTLSv12orHigher",
          "Principal": {
            "AWS": "*"
          },
          "Action": [
            "s3:*"
          ],
          "Effect": "Deny",
          "Resource": [
            "arn:aws:s3:::DOC_EXAMPLE_BUCKET/*",
            "arn:aws:s3:::DOC_EXAMPLE_BUCKET"
          ],
          "Condition": {
            "NumericLessThan": {
              "s3:TlsVersion": 1.2
            }
          }
        }
      ]
    }

    Cette politique impose le protocole HTTPS afin de renforcer la sécurité de vos données en transit.

    Si votre charge de travail nécessite un trafic HTTP vers Amazon S3, adoptez la stratégie suivante. Cette politique autorise le trafic HTTP et bloque le trafic HTTPS provenant de versions de TLS antérieures à 1.2 :

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "UpdateTLSv12",
          "Effect": "Deny",
          "Principal": {
            "AWS": "*"
          },
          "Action": "s3:*",
          "Resource": "arn:aws:s3:::DOC_EXAMPLE_BUCKET/*",
          "Condition": {
            "Bool": {
              "aws:SecureTransport": "true"
            },
            "NumericLessThan": {
              "s3:TlsVersion": "1.2"
            }
          }
        }
      ]
    }

Examiner vos protocoles de chiffrement pour S3

Pour tester votre nouvelle politique, exécutez l'exemple de commande curl suivant pour effectuer des requêtes HTTPS qui utilisent un ancien protocole spécifique :

curl https://${BUCKET_NAME}.s3.us-east-1.amazonaws.com/image.png -v --tlsv1.0 --tls-max 1.0

Étant donné qu’Amazon S3 détecte que votre requête n’utilise pas le protocole TLS version 1.2 ou ultérieure, la commande curl renvoie le message Accès refusé.

Remarque : par défaut, curl envoie une requête anonyme. Lorsque votre compartiment est privé, vous recevez le message d'erreur 403 Accès refusé pour n'importe quelle version de TLS. Lorsque vous effectuez un test avec curl, générez une URL présignée Amazon S3 pour accéder à vos objets privés.

Il est recommandé d'utiliser AWS CloudTrail Lake pour identifier les connexions TLS antérieures aux points de terminaison des services AWS. Pour capturer des événements de gestion ou de données, vous pouvez configurer le magasin de données d'événement CloudTrail Lake.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 mois