Le Blog Amazon Web Services

Amazon S3 chiffre les nouveaux objets par défaut

Chez AWS, la sécurité est une priorité absolue. À partir d’aujourd’hui, Amazon Simple Storage Service (Amazon S3) chiffre tous les nouveaux objets par défaut. Désormais, S3 applique automatiquement le chiffrement côté serveur (SSE-S3) pour chaque nouvel objet, à moins que vous ne spécifiiez une autre option de chiffrement. SSE-S3 a été lancé en 2011. Comme Jeff Barr l’a écrit à l’époque : « Le chiffrement côté serveur d’Amazon S3 gère tout le chiffrement, le déchiffrement et la gestion des clés de manière totalement transparente. Pour chaque opération PUT, nous générons une clé unique, nous chiffrons vos données avec la clé, puis nous chiffrons la clé avec une clé [principale]. »

Cette nouveauté met automatiquement en place une bonne pratique de sécurité, sans impact sur les performances et sans action requise de votre part. Les buckets (compartiments) S3 qui n’utilisent pas le chiffrement par défaut utiliseront désormais automatiquement SSE-S3 comme paramètre par défaut. Les buckets existants qui utilisent déjà le chiffrement par défaut S3 ne changeront pas.

Comme toujours, vous pouvez choisir de chiffrer vos objets en utilisant l’une des trois options de chiffrement que nous proposons : le chiffrement par défaut de S3 (SSE-S3, le nouveau paramètre par défaut), les clés de chiffrement fournies par le client (SSE-C) ou les clés du service de gestion des clés AWS (SSE-KMS). Pour disposer d’une couche supplémentaire de chiffrement, vous pouvez également chiffrer les objets côté client, en utilisant des librairies clientes telles que le client de chiffrement Amazon S3.

Bien qu’il soit simple à activer, le fait que vous deviez activer SSE-S3 vous-même signifie que vous deviez vous assurer qu’il était toujours configuré sur les nouveaux buckets et vérifier qu’il reste configuré correctement au fil du temps. Pour les organisations qui exigent que tous leurs objets restent chiffrés au repos avec SSE-S3, cette mise à jour permet de répondre à leurs exigences de conformité en matière de chiffrement sans outils supplémentaires ni modifications de la configuration du client.

Avec cette annonce, nous avons fait en sorte que vous puissiez appliquer ce chiffrement sur chaque bucket S3 en un seul clic.

Vérifiez que vos objets sont chiffrés
Le changement est visible aujourd’hui dans le journal d’événements AWS CloudTrail. Vous verrez les changements dans la section S3 de l’AWS Management Console, Amazon S3 Inventory, Amazon S3 Storage Lens, et comme un en-tête supplémentaire dans l’AWS CLI et dans les AWS SDK au cours des prochaines semaines. Nous vous tiendrons informés et vous mettrons à disposition la documentation lorsque l’état de chiffrement sera disponible dans ces outils dans toutes les régions AWS.

Pour vérifier que le changement est effectif sur vos buckets dès aujourd’hui, vous pouvez configurer CloudTrail pour qu’il consigne les événements de données. Par défaut, les journaux ne consignent pas les événements de données, et il y a un coût supplémentaire pour l’activer. Les événements de données montrent les opérations effectuées sur ou dans une ressource, par exemple lorsqu’un utilisateur télécharge un fichier vers un bucket S3. Vous pouvez consigner les événements de données pour les buckets Amazon S3, les fonctions AWS Lambda, les tables Amazon DynamoDB ou une combinaison de ces services.

Une fois activé, recherchez les entrées qui contiennent des PutObject API pour les téléchargements de fichiers ou des InitiateMultipartUpload pour les téléchargements multipart. Lorsqu’Amazon S3 chiffre automatiquement un objet à l’aide des paramètres de chiffrement par défaut, le journal inclut le champ suivant comme paire nom-valeur : "SSEApplied" : "Default_SSE_S3". Voici un exemple de journal CloudTrail (avec la journalisation des événements de données activée) lorsque j’ai téléchargé un fichier vers l’un de mes buckets à l’aide de la commande AWS CLI aws s3 cp backup.sh s3://private-sst.

CloudTrail log avec data events

Options de chiffrement d’Amazon S3
Comme je l’ai expliqué, SSE-S3 est maintenant le nouveau niveau de base de chiffrement lorsqu’aucun autre type de chiffrement n’est spécifié. SSE-S3 utilise le chiffrement Advanced Encryption Standard (AES) avec des clés de 256 bits gérées par AWS.

Vous pouvez choisir de chiffrer vos objets à l’aide de SSE-C ou de SSE-KMS plutôt qu’avec SSE-S3, soit en tant que paramètres de chiffrement par défaut « en un clic » sur tout le bucket, soit pour chaque objets individuellement dans les requêtes PUT.

SSE-C permet à Amazon S3 d’effectuer le chiffrement et le déchiffrement de vos objets tandis que vous gardez le contrôle des clés utilisées pour chiffrer les objets. Avec SSE-C, vous n’avez pas besoin de mettre en œuvre ou d’utiliser une librairie côté client pour effectuer le chiffrement et le déchiffrement des objets que vous stockez dans Amazon S3, mais vous devez gérer les clés que vous envoyez à Amazon S3 pour chiffrer et déchiffrer les objets.

Avec SSE-KMS, AWS Key Management Service (AWS KMS) gère vos clés de chiffrement. L’utilisation d’AWS KMS pour gérer vos clés offre plusieurs avantages supplémentaires. Avec AWS KMS, il existe des autorisations distinctes pour l’utilisation de la clé KMS, ce qui fournit une couche supplémentaire de contrôle ainsi qu’une protection contre l’accès non autorisé à vos objets stockés dans Amazon S3. AWS KMS fournit un journal d’audit qui vous permet de savoir qui a utilisé votre clé pour accéder à tel ou tel objet et à quel moment, ainsi que de visualiser les tentatives infructueuses d’accès aux données par des utilisateurs ou des services non autorisés à déchiffrer vos données.

Lorsque vous utilisez une librairie de client de chiffrement, telle que le client de chiffrement Amazon S3, vous conservez le contrôle des clés et effectuez le chiffrement et le déchiffrement des objets côté client à l’aide de la bibliothèque de chiffrement de votre choix. Vous chiffrez les objets avant de les envoyer à Amazon S3 pour le stockage. Les kits SDK AWS Java, .Net, Ruby, PHP, Go et C++ prennent en charge le chiffrement côté client.

Vous pouvez suivre les instructions de cet article de blog si vous souhaitez chiffrer rétroactivement les objets existants dans vos buckets.

Disponible dès maintenant
Ce changement est effectif dès maintenant, dans toutes les régions AWS, y compris sur les régions AWS GovCloud (US) et AWS China. Il n’y a pas de coût supplémentaire pour le chiffrement par défaut au niveau des objets.

–Seb