Cifrado de datos en tránsito - Cifrado de datos de archivos con Amazon Elastic File System

Cifrado de datos en tránsito

Puede montar un sistema de archivos para que todo el tráfico NFS se cifre en tránsito mediante Seguridad de la capa de transporte 1.2 (TLS) con un cifrado AES-256 estándar del sector. TLS es un conjunto de protocolos criptográficos estándar del sector que se utilizan para cifrar la información que se intercambia a través de la red. AES-256 es un cifrado de 256 bits que se utiliza para la transmisión de datos en TLS. Recomendamos configurar el cifrado en tránsito en cada cliente que acceda al sistema de archivos.

Puede utilizar políticas de IAM para aplicar el cifrado en tránsito para el acceso de los clientes de NFS a Amazon EFS. Cuando un cliente se conecta a un sistema de archivos, Amazon EFS evalúa la política de recursos de IAM del sistema de archivos, conocida como política del sistema de archivos, junto con las políticas de IAM basadas en la identidad de para determinar los permisos de acceso del sistema de archivos que se deben conceder. Puede usar la clave de condición aws:SecureTransport en la política de recursos del sistema de archivos para obligar a los clientes NFS a usar TLS al conectarse a un sistema de archivos EFS.

nota

Debe utilizar el ayudante de montaje EFS para montar sus sistemas de archivos de Amazon EFS con el fin de utilizar la autorización de IAM para controlar el acceso de los clientes NFS. Para obtener más información, consulte Montaje con autorización de IAM en la Guía del usuario de Amazon EFS.

El siguiente ejemplo de política del sistema de archivos EFS impone el cifrado en tránsito y tiene las siguientes características:

  • El valor de effect es allow.

  • El principio se establece en * para todas las entidades de IAM.

  • La acción se establece en ClientMount, ClientWrite, ClientRootAccess.

  • La condición para conceder permisos se establece en SecureTransport. Solo se concede acceso a los clientes NFS que utilizan TLS para conectarse al sistema de archivos.

    { “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” } } } ] }

    Puede crear una política de sistema de archivos mediante la consola de Amazon EFS o mediante AWS CLI.

Para crear una política del sistema de archivos mediante la consola de EFS:

  1. Abra la consola de Amazon EFS.

  2. Seleccione File systems (Sistemas de archivos).

  3. En la página File systems (Sistemas de archivos), elija el sistema de archivos para el que desea editar o crear una política de sistema de archivos. Se muestra la página de detalles de dicho sistema de archivos.

  4. Seleccione File system policy (Política de sistema de archivos) y, a continuación, Edit (Editar). Aparece la página File system policy (Política del sistema de archivos).

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

    Crear política del sistema de archivos

  5. En Policy options (Opciones de política), le recomendamos que elija las siguientes opciones de política preconfiguradas disponibles:

    • Impedir el acceso raíz de forma predeterminada

    • Imponer el acceso de solo lectura de forma predeterminada

    • Imponer el cifrado en tránsito para todos los clientes

    Si elige una política preconfigurada, el objeto JSON de la política se muestra en el panel Policy editor (Editor de políticas).

  6. Use Grant additional permissions (Otorgar permisos adicionales) para conceder permisos del sistema de archivos a entidades principales de IAM adicionales, incluida otra cuenta de AWS. Elija Add (Agregar), luego ingrese el ARN principal de la entidad a la que le está otorgando permisos y, a continuación, elija los permisos que se vayan a otorgar.

  7. Utilice el editor de políticas para personalizar una política preconfigurada o crear su propia política basándose en los requisitos. Al utilizar el editor, las opciones de políticas preconfiguradas dejan de estar disponibles. Para deshacer los cambios en las políticas, seleccione Clear (Borrar).

    Al borrar el editor, las políticas preconfiguradas vuelven a estar disponibles.

  8. Tras finalizar la edición o creación de la política, seleccione Save (Guardar).

    Aparece la página de detalles del sistema de archivos, en la que se muestra la política en File system policy (Política de sistema de archivos).

    También puede crear una política de sistema de archivos mediante programación utilizando AWS CloudFormation, los SDK de AWS o la API de Amazon EFS directamente. Para obtener más información sobre la creación de políticas del sistema de archivos, consulte Creación de políticas del sistema de archivos en la Guía del usuario de Amazon EFS.

Configuración del cifrado de datos en tránsito

Para configurar el cifrado de los datos en tránsito, le recomendamos que descargue el ayudante de montaje EFS en cada cliente. El ayudante de montaje de EFS es una utilidad de código abierto que AWS proporciona para simplificar el uso de EFS, incluida la configuración del cifrado de datos en tránsito. El ayudante de montaje utiliza las opciones de montaje recomendadas por EFS de forma predeterminada.

El ayudante de montaje de EFS se admite en las siguientes distribuciones de Linux:

  • Amazon Linux 2017.09+

  • Amazon Linux 2+

  • Debian 9+

  • Fedora 28+

  • Red Hat Enterprise Linux / CentOS 7+

  • Ubuntu 16.04+

Para configurar el cifrado de los datos en tránsito:

  1. Instale el ayudante de montaje de EFS:

    • En Amazon Linux, use este comando:

      sudo yum install -y amazon-efs-utils
    • En ara otras distribuciones de Linux, descárguelo de GitHub e instálelo.

      El paquete amazon-efs-utils instala automáticamente las siguientes dependencias: cliente NFS (nfs-utils), retransmisión de red (stunnel), OpenSSL y Python.

  2. Monte el sistema de archivos:

    sudo mount -t efs -o tls file-system-id efs-mount-point
    • mount -t efs invoca al ayudante de montaje de EFS.

    • No se admite el uso del nombre DNS del sistema de archivos o la dirección IP de un destino de montaje cuando se monta con el ayudante de montaje de EFS; en su lugar, use el identificador del sistema de archivos.

    • El ayudante de montaje EFS utiliza las opciones de montaje recomendadas por AWS de forma predeterminada. No se recomienda anular estas opciones de montaje predeterminadas, pero proporcionamos la flexibilidad de hacerlo cuando surja la ocasión. Le recomendamos que pruebe a fondo cualquier anulación de las opciones de montaje para que comprenda cómo afectan estos cambios al acceso al sistema de archivos y al rendimiento.

    • La siguiente tabla representa las opciones de montaje predeterminadas que utiliza el ayudante de montaje de EFS.

      Opción Descripción
      nfsvers=4.1 La versión del protocolo NFS
      rsize=1048576 El número máximo de bytes de datos que el cliente NFS puede recibir para cada solicitud READ de red
      wsize=1048576 El número máximo de bytes de datos que el cliente NFS puede enviar para cada solicitud WRITE de red
      hard El comportamiento de recuperación del cliente NFS después de que se agote el tiempo de espera de una solicitud NFS, de modo que las solicitudes de NFS se vuelven a intentar indefinidamente hasta que el servidor responde.
      timeo=600 El valor de tiempo de espera que utiliza el cliente NFS para esperar una respuesta antes de que vuelva a intentar una solicitud NFS en décimas de segundo
      retrans=2 El número de veces que el cliente de NFS reintenta una solicitud antes de intentar una acción de recuperación adicional.
      noresvport Indica al cliente NFS que use un nuevo puerto de origen TCP cuando se restablece una conexión de red
    • Agregue la siguiente línea a /etc/fstab para volver montar automáticamente el sistema de archivos después de reiniciar el sistema.

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

Utilización del cifrado de datos en tránsito

Si su organización está sujeta a políticas corporativas o regulatorias que requieren el cifrado de los datos en tránsito, le recomendamos usar el cifrado de los datos en tránsito en cada cliente que acceda al sistema de archivos. El cifrado y el descifrado se configuran en el nivel de conexión y agregan otra capa de seguridad.

El montaje del sistema de archivos con el ayudante de montaje de EFS configura y mantiene un túnel TLS 1.2 entre el cliente y Amazon EFS, y dirige todo el tráfico de NFS a través de este túnel cifrado. El certificado utilizado para establecer la conexión TLS cifrada está firmado por la Autoridad de Certificación (CA) de Amazon y la mayoría de las distribuciones de Linux modernas confían en él. El ayudante de montaje de EFS también genera un proceso de vigilancia para supervisar todos los túneles seguros a cada sistema de archivos y garantizar que se estén ejecutando.

Después de utilizar el ayudante de montaje de EFS para establecer conexiones cifradas con Amazon EFS, no se requiere ninguna otra entrada o configuración del usuario. El cifrado es transparente para las conexiones de usuario y las aplicaciones que acceden al sistema de archivos

Después de montar y establecer correctamente una conexión cifrada a un sistema de archivos de EFS mediante el ayudante de montaje de EFS, el resultado de un comando mount muestra que el sistema de archivos está montado y que se ha establecido un túnel cifrado utilizando el host local (127.0.0.1) como retransmisión de red. Consulte el siguiente ejemplo de resultado.

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)

Para asignar un efs-mount-point a un sistema de archivos de EFS, consulte el archivo mount.log en /var/log/amazon/efs y busque la última operación de montaje correcta. Esto se puede hacer con el siguiente comando grep simple.

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

El resultado de este comando grep devolverá el nombre DNS del sistema de archivos EFS montado. Consulte el resultado de ejemplo a continuación.

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