Criptografia de dados em trânsito - Criptografar dados de arquivos com o Amazon Elastic File System

Criptografia de dados em trânsito

Você pode montar um sistema de arquivos para que todo o tráfego NFS seja criptografado em trânsito usando o Transport Layer Security 1.2 (TLS) com uma cifra AES-256 padrão do setor. O TLS é um conjunto de protocolos criptográficos padrão do setor usado para criptografar informações trocadas pela rede. AES-256 é uma cifra de criptografia de 256 bits usada para transmissão de dados em TLS. Recomendamos configurar a criptografia em trânsito em todos os clientes que acessam o sistema de arquivos.

Você pode usar políticas do IAM para impor a criptografia em trânsito para o acesso do cliente NFS ao Amazon EFS. Quando um cliente se conecta a um sistema de arquivos, o Amazon EFS avalia a política de recurso do IAM do sistema de arquivos, que é chamada de política de sistema de arquivos, com qualquer política do IAM baseada em identidade, a fim de determinar as permissões de acesso apropriadas ao sistema de arquivos que devem ser concedidas. Você pode usar a chave de condição aws:SecureTransport na política de recursos do sistema de arquivos para impor que os clientes NFS usem o TLS ao se conectarem a um sistema de arquivos do EFS.

nota

É necessário usar o assistente de montagem do EFS para montar seus sistemas de arquivos do Amazon EFS a fim de usar a autorização do IAM para controlar o acesso por clientes NFS. Para obter mais informações, consulte Montar com autorização do IAM no Guia do usuário do Amazon EFS.

O exemplo a seguir da política do sistema de arquivos do EFS impõe a criptografia em trânsito e tem as seguintes características:

  • O effect é allow.

  • O princípio é definido como * para todas as entidades do IAM.

  • A ação está definida como ClientMount, ClientWrite e ClientRootAccess.

  • A condição para conceder permissões está definida como SecureTransport. Somente clientes NFS que usam TLS para se conectar ao sistema de arquivos têm acesso concedido.

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

    É possível criar uma política de sistema de arquivos usando o console do Amazon EFS ou usando a AWS CLI.

Para criar uma política do sistema de arquivos usando o console do EFS:

  1. Abra o console do Amazon EFS.

  2. Escolha File Systems (Sistemas de arquivos).

  3. Na página File Systems (Sistemas de arquivos), escolha o sistema para o qual deseja editar ou criar uma política de sistema de arquivos. A página de detalhes desse sistema de arquivos é exibida.

  4. Escolha File system policy (Política de sistema de arquivos) e, depois, selecione Edit (Editar). A página File system policy (Política do sistema de arquivos) é exibida.

    Criar política do sistema de arquivos

  5. Em Policy options (Opções de política), recomendamos que você escolha as seguintes opções de política pré-configuradas disponíveis:

    • Impedir acesso raiz por padrão

    • Impor acesso somente leitura por padrão

    • Impor criptografia em trânsito para todos os clientes

    Se você escolher uma política pré-configurada, o objeto JSON de política será exibido no painel Policy editor (Editor de políticas).

  6. Use Grant additional permissions (Conceder permissões adicionais) para conceder permissões do sistema de arquivos a mais entidades principais do IAM, incluindo outra conta da AWS. Escolha Add (Adicionar) e insira o ARN da entidade principal à qual você está concedendo permissões. Depois, escolha as Permissions (Permissões) a serem concedidas.

  7. Use o Policy editor (Editor de políticas) para personalizar uma política pré-configurada ou criar sua própria política com base no que você precisa. Quando o editor é usado, as opções de políticas pré-configuradas ficam indisponíveis. Para desfazer as alterações de política, escolha Clear (Limpar).

    Quando você limpa o editor, as políticas pré-configuradas ficam disponíveis novamente.

  8. Depois de concluir a edição ou a criação da política, escolha Save (Salvar).

    A página de detalhes do sistema de arquivos é exibida, mostrando a política em File system policy (Política de sistema de arquivos).

    Você também pode criar uma política de sistemas de arquivos de modo programático usando o AWS CloudFormation, SDKs da AWS ou a API do Amazon EFS diretamente. Para obter mais informações sobre a criação de políticas do sistema de arquivos, consulte Creating file system policies (Criar políticas de sistema de arquivos) no Guia do usuário do Amazon EFS.

Configurar a criptografia de dados em trânsito

Para configurar a criptografia de dados em trânsito, recomendamos que você baixe o auxiliar de montagem do EFS em cada cliente. O auxiliar de montagem do EFS é um utilitário de código aberto que a AWS fornece para simplificar o uso do EFS, incluindo a configuração da criptografia de dados em trânsito. O auxiliar de montagem usa as opções de montagem recomendadas pelo EFS por padrão.

O auxiliar de montagem do EFS é compatível com as seguintes distribuições do Linux:

  • Amazon Linux 2017.09+

  • Amazon Linux 2+

  • Debian 9+

  • Fedora 28+

  • Red Hat Enterprise Linux/CentOS 7+

  • Ubuntu 16.04+

Para configurar a criptografia de dados em trânsito:

  1. Instale o auxiliar de montagem do EFS:

    • Para o Amazon Linux, use este comando:

      sudo yum install -y amazon-efs-utils
    • Para outras distribuições Linux, baixe-as do GitHub e instale.

      O pacote amazon-efs-utils instala automaticamente as seguintes dependências: cliente NFS (nfs-utils), Network relay (stunnel), OpenSSL e Python.

  2. Monte o sistema de arquivos:

    sudo mount -t efs -o tls file-system-id efs-mount-point
    • mount -t efs invoca o auxiliar de montagem do EFS.

    • Não é possível usar o nome DNS do sistema de arquivos ou o endereço IP de um destino de montagem ao montar usando o auxiliar de montagem do EFS. Use o ID do sistema de arquivos.

    • O auxiliar de montagem do EFS usa as opções de montagem recomendadas pela AWS por padrão. Substituir essas opções de montagem padrão não é recomendado, mas oferecemos a flexibilidade para fazer isso quando surgir a ocasião. Recomendamos testar minuciosamente todas as substituições de opções de montagem para que você entenda como essas alterações afetam o acesso e a performance do sistema de arquivos.

    • A tabela a seguir representa as opções de montagem padrão usadas pelo auxiliar de montagem do EFS.

      Opção Descrição
      nfsvers=4.1 A versão do protocolo NFS
      rsize=1048576 O número máximo de bytes de dados que o cliente NFS pode receber para cada solicitação READ de rede)
      wsize=1048576 O número máximo de bytes de dados que o cliente NFS pode enviar para cada solicitação WRITE de rede
      hard O comportamento de recuperação do cliente NFS após uma solicitação NFS expirar, para que essas solicitações sejam repetidas indefinidamente até que o servidor responda.
      timeo=600 O valor de tempo limite que o cliente NFS usa para aguardar por uma resposta antes de realizar novas tentativas de uma solicitação NFS em décimos de segundos
      retrans=2 O número de vezes que o cliente NFS tenta executar novamente uma solicitação antes de tentar executar outra ação de recuperação
      noresvport Diz ao cliente NFS para usar uma nova porta de origem TCP quando uma conexão de rede for restabelecida
    • Adicione a seguinte linha ao /etc/fstab para remontar automaticamente o sistema de arquivos após qualquer reinicialização do sistema.

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

Usar criptografia de dados em trânsito

Se sua organização estiver sujeita a políticas corporativas ou regulamentares que exijam criptografia de dados em trânsito, recomendamos o uso de criptografia de dados em trânsito em cada cliente que acessa o sistema de arquivos. A criptografia e a descriptografia são configuradas no nível da conexão e adicionam outra camada de segurança.

A montagem do sistema de arquivos usando o auxiliar de montagem do EFS configura e mantém um túnel TLS 1.2 entre o cliente e o Amazon EFS e encaminha todo o tráfego NFS por esse túnel criptografado. O certificado usado para estabelecer a conexão TLS criptografada é assinado pela Autoridade de Certificação (CA) da Amazon, na qual a maioria das distribuições Linux modernas confiam. O auxiliar de montagem do EFS também gera um processo de vigilância para monitorar todos os túneis seguros para cada sistema de arquivos e garantir que eles estejam em execução.

Depois de usar o auxiliar de montagem do EFS para estabelecer conexões criptografadas com o Amazon EFS, nenhuma outra entrada ou configuração será necessária por parte do usuário. A criptografia é transparente para conexões de usuários e aplicações que acessam o sistema de arquivos.

Depois de montar e estabelecer com êxito uma conexão criptografada a um sistema de arquivos do EFS usando o auxiliar de montagem do EFS, a saída de um comando de montagem mostra que o sistema de arquivos está montado e um túnel criptografado foi estabelecido usando o localhost (127.0.0.1) como relé de rede. Veja o exemplo de saída a seguir.

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 mapear um efs-mount-point até um sistema de arquivos do EFS, consulte o arquivo mount.log em /var/log/amazon/efs e encontre a última operação de montagem bem-sucedida. Isso pode ser feito usando o seguinte comando grep simples.

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

A saída desse comando grep retornará o nome DNS do sistema de arquivos do EFS montado. Veja o exemplo de saída abaixo.

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