Comment sécuriser les objets S3 avec le chiffrement Amazon S3

De nombreuses entreprises stockent leurs données dans le cloud. Les services de stockage dans le cloud sont aujourd’hui très populaires en raison de leur grande fiabilité et de leur haute disponibilité, deux facteurs très importants pour les entreprises. Amazon est l’un des principaux acteurs fournissant des services de cloud public sur le marché. Ces services sont appelés Amazon Web Services (AWS). Amazon offre un niveau de sécurité élevé, notamment grâce à une connexion réseau cryptée utilisée pour accéder aux fichiers et aux services. Le chiffrement réduit le risque d’interception des données sur le réseau. Les données sont cruciales pour chaque entreprise et chaque utilisateur. Personne ne souhaite que ses données soient perdues, corrompues ou volées.

C’est pourquoi Amazon propose des options de chiffrement pour le stockage des données sur ses différents services de stockage dans le cloud. Ces options de stockage dans le cloud comprennent les volumes EBS, un stockage haute performance pour les Virtuelles Maschinen (instances), et Amazon S3, un service de stockage dans le cloud développé pour stocker des sauvegardes, des archives, des fichiers d’application et d’autres données. Vous pouvez crypter les compartiments Amazon S3 et les fichiers stockés dans ces compartiments par l’intermédiaire des options de chiffrement AWS. Cet article de blog traite du chiffrement Amazon S3, y compris les types de chiffrement et la configuration.

Direct Backup to AWS S3 | NAKIVO

Direct Backup to AWS S3 | NAKIVO

Avoid a single point of failure with simple Amazon S3 integration and anti-ransomware immutability options. Automated backup tiering and instant recovery features.

À propos du chiffrement des données

Le chiffrement des données est un processus qui consiste à sécuriser les données par codage des informations. Les données sont codées à l’aide d’un mot de passe ou d’une clé de chiffrement (cypher) et d’algorithmes de chiffrement spéciaux. Les données chiffrées sont alors accessibles par l’utilisation du mot de passe ou de la clé de chiffrement (déchiffrement) corrects. Le chiffrement des données est utilisé pour protéger la confidentialité des données numériques, même si une personne non autorisée obtient un accès logique ou physique à ces données. Si une personne non autorisée accède aux données chiffrées, celles-ci sont illisibles sans la clé ou le mot de passe. Les algorithmes de chiffrement modernes rendent difficile, voire impossible, le piratage d’une clé de chiffrement longue ou d’un mot de passe complexe. Différents algorithmes de chiffrement peuvent être utilisés, par exemple AES, 3DES, RSA, Blowfish, etc. Les principaux types de cryptographie sont la cryptographie à clé symétrique et la cryptographie à clé asymétrique.

Amazon recommande l’utilisation du chiffrement S3 lors du stockage de données dans des compartiments Amazon S3. La première raison de cette recommandation est la sécurité. Le chiffrement augmente le niveau de sécurité et de confidentialité. Cependant, il existe une autre raison pour laquelle les données stockées dans le cloud doivent être chiffrées. Amazon stocke les données d’utilisateurs de différents pays. Parfois, un pays peut demander que des données lui soient transmises dans le cadre d’une enquête si un client ou une organisation est soupçonné d’avoir enfreint la loi. Cependant, Amazon doit respecter le contrat de licence et les lois d’autres pays (pays dont les citoyens sont clients d’Amazon), ce qui peut entraîner un conflit.

Si les données d’un utilisateur sont cryptées et qu’Amazon ne dispose pas des clés de chiffrement, les données de l’utilisateur ne peuvent pas être fournies à des organisations ou personnes tierces (même si les données cryptées sont fournies, il s’agit d’un ensemble de bits inutiles et illisibles). Imaginez une situation dans laquelle les États-Unis demandent les données d’un client européen d’Amazon à des fins d’enquête. Que faire dans ce cas ? Comme vous le savez peut-être déjà, les données personnelles des citoyens européens sont protégées par le règlement général sur la protection des données (RGPD). Pour en savoir plus, consultez le White Paper Règlement général sur la protection des données de l’UE.

Types de chiffrement Amazon S3

Comment fonctionne le chiffrement S3 ? Amazon propose plusieurs types de chiffrement pour les données stockées dans Amazon S3. S3 est-il chiffré ? Par défaut, les données stockées dans un compartiment S3 ne sont pas chiffrées, mais vous pouvez configurer les paramètres de chiffrement AWS S3.

Vous devez définir la méthode de chiffrement à utiliser après avoir répondu aux questions suivantes :

  • Qui chiffre et effectue le déchiffrement des données ?
  • Qui stocke la clé secrète ?
  • Qui gère la clé secrète ?

Examinons les méthodes de chiffrement AWS disponibles pour les objets S3 stockés dans un compartiment.

Chiffrement côté serveur

Le chiffrement côté serveur (SSE) est l’option de chiffrement des données la plus simple. Toutes les opérations de chiffrement lourdes sont effectuées côté serveur dans le cloud AWS. Vous envoyez des données brutes (non chiffrées) à AWS, puis celles-ci sont chiffrées côté AWS lorsqu’elles sont enregistrées dans le stockage dans le cloud. Lorsque vous avez besoin de récupérer vos données, Amazon lit les données cryptées, effectue le déchiffrement des données nécessaires côté serveur Amazon, puis vous envoie les données non cryptées via le réseau. Ce processus est transparent pour les utilisateurs finaux.

SSE-S3 est la méthode la plus simple : les clés sont gérées et traitées par AWS pour effectuer le chiffrement des données que vous avez sélectionnées. Vous ne pouvez pas voir la clé directement ni l’utiliser manuellement pour effectuer le chiffrement ou le déchiffrement des données. L’algorithme de chiffrement utilisé est AES-256. AES (Advanced Encryption Standard) est un chiffrement symétrique par blocs, avec une longueur de clé cryptographique de 256 bits. Si vous faites entièrement confiance à AWS, utilisez cette méthode de chiffrement S3.

SSE-KMS est une méthode légèrement différente de SSE-S3. AWS Key Management Service (KMS) est utilisé pour chiffrer les données S3 côté serveur Amazon. La clé de données est gérée par AWS, mais un utilisateur gère la clé principale du client (CMK) dans AWS KMS. Les avantages du type de chiffrement SSE-KMS sont le contrôle par l’utilisateur et la piste d’audit.

Avec SSE-C, les clés sont fournies par un client et AWS ne stocke pas les clés de chiffrement. La clé fournie est transmise à AWS pour traiter chaque demande liée au chiffrement ou au déchiffrement des données. L’utilisateur doit garantir la sécurité des clés. Le chiffrement des données S3 est effectué côté serveur AWS. Seule une connexion HTTPS peut être utilisée (pas HTTP).

Chiffrement côté client

Lorsque vous utilisez le chiffrement côté client S3, le client est responsable de toutes les opérations de chiffrement. Dans ce cas, les données ne sont pas chiffrées par AWS, mais plutôt par l’utilisateur. Les données chiffrées dans le centre de données de l’utilisateur sont directement téléchargées vers AWS. Deux options sont proposées pour le chiffrement côté client S3 : une clé principale peut être stockée côté client ou côté serveur. Si une clé principale est stockée côté client, le client assume l’entière responsabilité du chiffrement. L’avantage de cette approche est qu’Amazon ne connaît jamais les clés de chiffrement de l’utilisateur et que les données ne sont jamais stockées sur les serveurs Amazon dans un état non chiffré. L’utilisateur chiffre les données avant de les envoyer à Amazon S3 et effectue le déchiffrement après les avoir récupérées depuis Amazon S3.

Qu’est-ce que le client de chiffrement Amazon S3 ?

Le client de chiffrement Amazon S3 est utilisé pour chiffrer les données côté utilisateur. Une clé de chiffrement à usage unique est générée de manière aléatoire et utilisée pour le chiffrement des données au niveau de chaque objet, ce qui signifie qu’un même compartiment Amazon S3 peut contenir des objets chiffrés et non chiffrés. AmazonS3EncryptionClient est une classe publique pour AWS SDK. Vous pouvez utiliser AWS SDK pour Java, C++, Python, .NET et d’autres langages de programmation pris en charge afin de créer vos propres applications compatibles avec Amazon S3 et pouvant être utilisées pour effectuer le chiffrement des données envoyées vers S3 et le déchiffrement des données reçues de S3 côté client.

Comment configurer le chiffrement AWS S3 ?

  1. Connectez-vous à l’interface Web d’AWS. Votre compte doit disposer des autorisations suffisantes pour modifier les paramètres S3.
  2. Accédez à la page Amazon S3 (le lien peut varier en fonction de votre région et de votre compte) :
    https://s3.console.aws.amazon.com/s3/homeOpening the S3 bucket to configure Amazon S3 encryption
  3. Sélectionnez votre compartiment ou créez-en un nouveau pour lequel vous souhaitez configurer les paramètres de chiffrement.
  4. Sur la page des paramètres du compartiment, cliquez sur l’onglet Propriétés , puis cliquez sur Chiffrement par défaut.Amazon S3 bucket encryption is disabled by default
  5. Les paramètres de chiffrement sont désormais ouverts. Par défaut, l’option de chiffrement du compartiment S3 est désactivée.
  6. Sélectionnez l’option souhaitée, par exemple AES-256. Il s’agit d’un chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3). Vous pouvez afficher la politique du compartiment. Cliquez sur Enregistrez pour enregistrer les paramètres de chiffrement du compartiment. Ces paramètres seront utilisés comme paramètres de chiffrement S3 par défaut pour les objets ajoutés à ce compartiment à l’avenir.Changing default S3 bucket encryption settings
  7. Cliquez sur Enregistrez.
  8. Le chiffrement par défaut est désormais défini. Tous les nouveaux objets stockés dans le compartiment S3 seront chiffrés selon la configuration définie. Il est recommandé d’activer le chiffrement lors de la création d’un compartiment. Vous pouvez également activer le chiffrement ultérieurement au niveau du compartiment. Cependant, si vous configurez les paramètres de chiffrement ultérieurement, ces paramètres n’auront aucun effet sur les fichiers non chiffrés qui ont déjà été téléchargés dans le compartiment.
    S3 encryption at rest is configured
  9. Si vous souhaitez sélectionner le chiffrement AWS-KMS, cliquez sur l’option appropriée. Dans ce cas, sélectionnez une clé dans la liste déroulante.
    Using AWS-KMS for AWS encryption

Chiffrement des objets personnalisés dans le compartiment

Voyons comment chiffrer des objets personnalisés qui ont déjà été téléchargés dans un compartiment et pour lesquels les paramètres de chiffrement sont définis sur Aucune.

Ouvrez votre compartiment dans l’interface Web d’AWS. Vous pouvez voir vos objets S3 dans l’onglet Aperçu . Cliquez sur l’objet (un fichier ou un répertoire) pour voir les paramètres de chiffrement actuellement appliqués à cet objet. Les propriétés et les autorisations de l’objet s’affichent dans la fenêtre contextuelle. Comme vous pouvez le voir sur la capture d’écran ci-dessous, le fichier téléchargé n’est pas chiffré (Chiffrement : Aucune).

AWS encryption for the file stored in an S3 bucket is set to none

Sélectionnez un ou plusieurs objets, cliquez sur Actions puis cliquez sur Modifier le chiffrement pour modifier les paramètres de chiffrement des objets personnalisés dans votre compartiment S3.

Changing AWS S3 encryption settings for custom files stored in an S3 bucket

Dans la fenêtre qui s’ouvre, sélectionnez le type de chiffrement souhaité, par exemple AES-256, puis cliquez sur Enregistrer.

Changing AWS S3 encryption settings for custom files stored in an S3 bucket

Dans la fenêtre de confirmation, vérifiez les objets sélectionnés qui seront affectés par les nouveaux paramètres de chiffrement, puis cliquez sur Changez.

Confirmation that all affected S3 objects will change AWS encryption

Le chiffrement est désormais défini pour les objets sélectionnés.

Notez qu’après avoir défini les paramètres de chiffrement pour l’ensemble du compartiment, les fichiers qui ont été téléchargés dans le compartiment avant l’activation du chiffrement restent non chiffrés. Si votre compartiment S3 contient un grand nombre d’objets, il peut être difficile de trouver et de sélectionner tous les objets non chiffrés qui doivent être chiffrés. Pour sélectionner les objets non chiffrés dans un compartiment dont le chiffrement est activé, vous pouvez utiliser Amazon S3 Inventaire ou AWS CLI.

Vous devez identifier les objets non chiffrés, puis les télécharger à nouveau afin de les chiffrer avec le niveau de chiffrement par défaut défini pour l’ensemble du compartiment S3. Si vous ne souhaitez pas rechercher les objets S3 non chiffrés dans votre compartiment (compartiment1, par exemple), vous pouvez créer un nouveau compartiment (compartiment2), copier tous les fichiers du compartiment1 vers le compartiment2, puis recopier tous les fichiers du compartiment2 vers le compartiment1.

Vous pouvez copier des objets non chiffrés par réécriture de l’interface CLI AWS copy en définissant la méthode de chiffrement, par exemple, –sse active le chiffrement SSE-S3 128 bits sans créer de nouveau compartiment :

aws s3 cp s3://mybucket/myfile.zip s3://mybucket/myfile.zip --sse

Après réécriture, le fichier est chiffré. Notez que les attributs du fichier, tels que la date de création et de modification, sont modifiés après réécriture. Vos applications qui peuvent lire ces attributs (date et heure de création/dernière modification du fichier) et les utiliser pour travailler avec des fichiers stockés dans des compartiments Amazon S3 peuvent ne pas se comporter comme prévu après la réécriture des fichiers.

Si les options de gestion du cycle de vie sont activées pour votre compartiment AWS S3 à des fins de rentabilité, certains problèmes peuvent survenir. Par exemple, vous pouvez définir la configuration du cycle de vie pour supprimer les fichiers créés ou modifiés il y a 6 mois. Les anciens fichiers sont automatiquement supprimés, moins d’espace de stockage est utilisé dans le cloud et vous payez moins cher pour le stockage dans le cloud. Lorsque l’ LastModified horodatage (date/heure de la dernière modification) est réécrit pour un ancien fichier qui est sur le point d’être supprimé, la fonctionnalité de gestion du cycle de vie détecte ce fichier comme un fichier récemment créé qui ne doit pas être supprimé avant longtemps (par exemple, pendant 6 mois, comme mentionné ci-dessus). En conséquence, davantage de fichiers sont stockés dans le compartiment, ce qui entraîne des coûts plus élevés.

Si le versionnage est activé, une nouvelle version cryptée d’un objet est créée. Les versions précédentes de l’objet restent non cryptées.

Téléchargement d’objets via AWS CLI

AWS CLI peut être utilisé dans d’autres cas d’utilisation lorsque vous devez copier des fichiers vers Amazon S3 ou depuis Amazon S3 avec des options de chiffrement. Vous pouvez également utiliser cette interface de ligne de commande pour copier des objets au sein d’un compartiment S3 et d’un compartiment à un autre. Vous pouvez définir les options de chiffrement pour les fichiers en cours de téléchargement à l’aide de l’interface CLI vers le compartiment dans les cas où les paramètres de chiffrement par défaut du compartiment et les paramètres de chiffrement qui doivent être utilisés pour les fichiers en cours de téléchargement sont différents. Voyons quelques exemples d’utilisation des commandes AWS CLI dans bash.

Copier un fichier de la machine locale vers le compartiment AWS S3 et définir le chiffrement côté serveur (chiffrement SSE-S3) :

aws s3 cp /directory/file-name s3://bucket-name/file-encrypted --sse AES256

Copier et déchiffrer un fichier depuis AWS S3 vers un disque local :

aws s3 cp s3://bucket-name/file-encrypted /directory/file-name

Télécharger et chiffrer le fichier depuis un disque local vers un compartiment S3 par le biais du chiffrement SSE-KMS :

aws s3 cp /directory/file-name s3://bucket-name/file-encrypted --sse aws:kms

Télécharger et déchiffrer un fichier depuis un compartiment S3 vers un disque local :

aws s3 cp s3://bucket-name/file-encrypted /directory/file-name

Conclusion

Le chiffrement Amazon S3 vous aide à protéger vos données stockées dans les compartiments AWS S3 dans le cloud, ce qui est particulièrement important pour les données sensibles. Le chiffrement AWS S3 peut être effectué côté serveur Amazon et côté client. Les clés secrètes peuvent être stockées côté serveur et côté client. Si vous envisagez d’utiliser le chiffrement Amazon S3 pour les objets que vous allez stocker dans des compartiments S3, activez le chiffrement lors de la création d’un compartiment. Si vous utilisez déjà un compartiment et que les objets stockés dans ce compartiment ne sont pas chiffrés, vous pouvez activer le chiffrement pour ces objets. Cependant, dans ce cas, vous devez garder à l’esprit certains problèmes.

L’utilisation du chiffrement est une bonne idée pour augmenter le niveau de sécurité et protéger vos données contre l’accès par des tiers. En plus d’utiliser le chiffrement AWS, envisagez d’effectuer une sauvegarde AWS S3 et une sauvegarde AWS EC2 pour renforcer la sécurité de vos données.

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Les gens qui ont consulté cet article ont également lu