

# Criptografia de dados em trânsito
<a name="encryption-of-data-in-transit"></a>

 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](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-mount-helper.html#mounting-IAM-option) 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](https://console.aws.amazon.com/efs).

1. Escolha **File Systems (Sistemas de arquivos)**.

1. 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.

1. 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.  
![](http://docs.aws.amazon.com/pt_br/whitepapers/latest/efs-encrypted-file-systems/images/image8.jpeg)

   * Criar política do sistema de arquivos*

1. 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)**.

1. 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.

1. 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.

1. 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)](https://docs.aws.amazon.com/efs/latest/ug/create-file-system-policy.html) no *Guia do usuário do Amazon EFS*.

## Configurar a criptografia de dados em trânsito
<a name="setting-up-encryption-of-data-in-transit"></a>

 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.

1.  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.     
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/whitepapers/latest/efs-encrypted-file-systems/encryption-of-data-in-transit.html)
   +  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
<a name="using-encryption-of-data-in-transit"></a>

 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}}
```