Chiffrement des données en transit - Chiffrement des données de fichier avec Amazon Elastic File System

Chiffrement des données en transit

Vous pouvez monter un système de fichiers de telle sorte que tout le trafic NFS soit chiffré en transit à l'aide du protocole TLS (Transport Layer Security) 1.2 avec un cipher AES-256 conforme aux normes de l'industrie. TLS est un ensemble de protocoles cryptographiques standard utilisés pour chiffrer les informations échangées sur le réseau. AES-256 est un cipher de chiffrement 256 bits utilisé pour la transmission de données dans TLS. Nous vous recommandons de configurer le chiffrement en transit sur chaque client accédant au système de fichiers.

Vous pouvez utiliser des politiques IAM pour appliquer le chiffrement en transit pour l'accès du client NFS à Amazon EFS. Lorsqu'un client se connecte à un système de fichiers, Amazon EFS évalue la politique de ressources IAM du système de fichiers (appelée « politique de système de fichiers ») ainsi que les politiques IAM basées sur l'identité afin de déterminer les autorisations d'accès au système de fichiers appropriées à accorder. Vous pouvez utiliser la clé de condition aws:SecureTransport dans la politique de ressources du système de fichiers pour obliger les clients NFS à utiliser TLS lors de la connexion à un système de fichiers EFS.

Note

Vous devez utiliser l'assistant de montage EFS pour monter vos systèmes de fichiers Amazon EFS afin d'utiliser l'autorisation IAM pour contrôler l'accès par les clients NFS. Pour de plus amples informations, consultez Montage avec l'autorisation IAM dans le Guide de l'utilisateur Amazon EFS.

L'exemple de politique de système de fichiers EFS suivant applique le chiffrement en transit et présente les caractéristiques suivantes :

  • Le effect est allow.

  • Le mandataire est défini sur * pour toutes les entités IAM.

  • L'action est définie sur ClientMount, ClientWrite et ClientRootAccess.

  • La condition d'octroi des autorisations est définie sur SecureTransport. Seuls les clients NFS utilisant TLS pour se connecter au système de fichiers peuvent y accéder.

    { “Version”: “2012-10-17”, “Id”: “ExamplePolicy01”, “Statement”: [ { “Sid”: “VisualEditior0”, “Effect”: “Allow”, “Principal”: { “AWS”: “*”, }, “Action”: [ “elasticfilesystem:ClientRootAccess”, “elasticfilesystem:ClientMount”, “elasticfilesystem:ClientWrite” ], “Condition”: { “Bool”: { “aws:SecureTransport”: “true” } } } ] }

    Vous pouvez créer une politique de système de fichiers à l'aide de la console Amazon EFS ou de l'AWS CLI.

Pour créer une politique de système de fichiers à l'aide de la console EFS :

  1. Ouvrez la console Amazon EFS.

  2. Choisissez Systèmes de fichiers.

  3. Sur la page Systèmes de fichiers, choisissez le système de fichiers pour lequel vous souhaitez créer une politique de système de fichiers. La page de détails de ce système de fichiers s'affiche.

  4. Choisissez Politique de système de fichiers, puis Modifier. La page Politique du système de fichiers s'affiche.

    File system policy interface with policy options and JSON editor for custom configurations.

    Créer une politique de système de fichiers

  5. Dans Options de politique, nous vous recommandons de choisir les options de politique préconfigurées disponibles suivantes :

    • Empêcher l'accès racine par défaut

    • Appliquer l'accès en lecture seule par défaut

    • Appliquer le chiffrement en transit pour tous les clients

    Si vous choisissez une politique préconfigurée, l'objet JSON de politique s'affiche dans le panneau Éditeur de politique.

  6. Utilisez Accorder des autorisations supplémentaires pour accorder des autorisations de système de fichiers à d'autres principaux IAM, y compris un autre compte AWS. Choisissez Ajouter, puis saisissez l'ARN de principal de l'entité à laquelle vous accordez des autorisations, puis choisissez les autorisations à accorder.

  7. Utilisez l'éditeur de politique pour personnaliser une politique préconfigurée ou pour créer votre propre politique. Lorsque vous utilisez l'éditeur, les options de stratégie préconfigurées deviennent indisponibles. Pour annuler vos modifications de politique, choisissez Effacer.

    Lorsque vous effacez l'éditeur, les stratégies préconfigurées redeviennent disponibles.

  8. Après avoir terminé la modification ou la création de la politique, choisissez Enregistrer.

    La page de détails du système de fichiers s'affiche e présente la politique dans Politique de système de fichiers.

    Vous pouvez également créer une politique de système de fichiers par programmation en utilisant directement AWS CloudFormation, les kits SDK AWS ou l'API Amazon EFS. Pour de plus amples informations sur la création de politiques de système de fichiers, consultez Création de politiques de système de fichiers dans le Guide de l'utilisateur Amazon EFS.

Configuration du chiffrement des données en transit

Pour configurer le chiffrement des données en transit, nous vous recommandons de télécharger l'assistant de montage EFS sur chaque client. L'assistant de montage EFS est un utilitaire open source fourni par AWS pour simplifier l'utilisation d'EFS, y compris la configuration du chiffrement des données en transit. L'assistant de montage utilise les options de montage recommandées par EFS par défaut.

L'assistant de montage EFS est pris en charge sur les distributions Linux suivantes :

  • Amazon Linux 2017.09+

  • Amazon Linux 2+

  • Debian 9+

  • Fedora 28+

  • Red Hat Enterprise Linux / CentOS 7+

  • Ubuntu 16.04+

Pour configurer le chiffrement des données en transit :

  1. Installez l'assistant de montage EFS :

    • Pour Amazon Linux, utilisez cette commande :

      sudo yum install -y amazon-efs-utils
    • Pour les autres distributions Linux, téléchargez depuis GitHub et installez.

      Le package amazon-efs-utils installe automatiquement les dépendances suivantes : client NFS (nfs-utils), relais réseau (stunnel), OpenSSL et Python.

  2. Montez le système de fichiers :

    sudo mount -t efs -o tls file-system-id efs-mount-point
    • mount -t efs appelle l'assistant de montage EFS.

    • L'utilisation du nom DNS du système de fichiers ou de l'adresse IP d'une cible de montage n'est pas prise en charge lors du montage à l'aide de l'assistant de montage EFS, utilisez plutôt l'ID du système de fichiers.

    • L'assistant de montage EFS utilise les options de montage recommandées par AWS par défaut. Il n'est pas recommandé de remplacer ces options de montage par défaut, mais nous offrons la flexibilité nécessaire pour le faire lorsque l'occasion se présente. Nous vous recommandons de tester minutieusement les remplacements d'options de montage afin de comprendre l'impact de ces modifications sur l'accès et les performances du système de fichiers.

    • Le tableau suivant représente les options de montage par défaut utilisées par l'assistant de montage EFS.

      Option Description
      nfsvers=4.1 Version du protocole NFS
      rsize=1048576 Nombre maximal d'octets de données que le client NFS peut recevoir pour chaque demande READ du réseau
      wsize=1048576 Nombre maximal d'octets de données que le client NFS peut envoyer pour chaque demande WRITE du réseau
      hard Comportement de récupération du client NFS après qu'une demande NFS a expiré, de sorte que les demandes NFS sont relancées indéfiniment jusqu'à ce que le serveur réponde
      timeo=600 Valeur de délai d'expiration que le client NFS utilise pour attendre une réponse avant de relancer une demande NFS en décisecondes
      retrans=2 Nombre de fois que le client NFS essaie une demande avant de tenter une action de récupération
      noresvport Indique au client NFS d'utiliser un nouveau port source TCP lorsqu'une connexion réseau est rétablie
    • Ajoutez la ligne suivante à /etc/fstab pour remonter automatiquement votre système de fichiers après tout redémarrage du système.

      file-system-id efs-mount-point efs _netdev, tls, iam 0 0

Utilisation du chiffrement des données en transit

Si votre organisation est soumise à des politiques d'entreprise ou réglementaires qui exigent le chiffrement des données en transit, nous vous recommandons d'utiliser le chiffrement des données en transit sur chaque client accédant au système de fichiers. Le chiffrement et le déchiffrement sont configurés au niveau de la connexion et ajoutent une couche de sécurité supplémentaire.

Le montage du système de fichiers à l'aide de l'assistant de montage EFS permet de configurer et de maintenir un tunnel TLS 1.2 entre le client et Amazon EFS, et d'acheminer tout le trafic NFS sur ce tunnel chiffré. Le certificat utilisé pour établir la connexion TLS chiffrée est signé par l'autorité de certification Amazon (CA) et approuvé par la plupart des distributions Linux modernes. L'assistant de montage EFS génère également un processus de surveillance pour contrôler tous les tunnels sécurisés vers chaque système de fichiers et s'assurer qu'ils sont en cours d'exécution.

Après avoir utilisé l'assistant de montage EFS pour établir des connexions chiffrées à Amazon EFS, aucune autre saisie ou configuration de l'utilisateur n'est requise. Le chiffrement est transparent pour les connexions utilisateur et les applications accédant au système de fichiers.

Après avoir monté et établi une connexion chiffrée à un système de fichiers EFS à l'aide de l'assistant de montage EFS, la sortie d'une commande de montage indique que le système de fichiers est monté et qu'un tunnel chiffré a été établi en utilisant l'hôte local (127.0.0.1) comme relais réseau. Consultez l'exemple de sortie suivant.

127.0.0.1:/ on efs-mount-point type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=20059,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)

Pour mapper un efs-mount-point à un système de fichiers EFS, effectuez une requête sur le fichier mount.log dans /var/log/amazon/efs et recherchez la dernière opération de montage réussie. La simple commande grep suivante permet de le faire.

grep -E "Successfully mounted.*efs-mount-point" /var/log/amazon/efs/mount.log | tail -1

La sortie de cette commande grep renvoie le nom DNS du système de fichiers EFS monté. Consultez l'exemple de sortie ci-dessous.

2018-03-15 07:03:42,363 - INFO - Successfully mounted file-system-id.efs.region.amazonaws.com at efs-mount-point