Usando Criptografia TLS em Trânsito

A criptografia em trânsito usando oci-fss-utils ou stunnel fornece uma maneira de proteger seus dados entre instâncias e sistemas de arquivos montados usando a criptografia TLS v.1.3 (Transport Layer Security). Juntamente com outros métodos de segurança, como o Oracle Cloud Infrastructure Vault e a criptografia do serviço File Storage em repouso, a criptografia em trânsito fornece segurança de ponta a ponta.

Dica

Se você usar o Kerberos para autenticação, a opção de segurança KRB5P fornecerá autenticação sobre NFS, integridade de dados (modificação não autorizada de dados em trânsito) e privacidade de dados como uma opção alternativa de criptografia em trânsito.

A criptografia em trânsito usando oci-fss-utils ou stunnel não requer atualizações no ponto de acesso NFS ou na configuração de exportação do sistema de arquivos, mas as etapas diferem para usuários do Linux e usuários do Windows.

Pré-requisitos

Adicione as regras necessárias à lista de segurança para a sub-rede do ponto de acesso NFS. Como alternativa, você pode adicionar as seguintes regras a um Grupo de Segurança de Rede (NSG) e adicionar o ponto de acesso NFS ao NSG. Para obter mais informações e instruções sobre como adicionar regras de lista de segurança para o Armazenamento de Arquivos, consulte Configurando Regras de Segurança da VCN para o Armazenamento de Arquivos, em particular Cenário C: Ponto de acesso NFS e instância usam criptografia TLS em trânsito.

Importante

Somente as regras da porta TCP 2051 são necessárias para o acesso criptografado.

Criptografia em Trânsito para Usuários do Linux

Para ativar a criptografia em trânsito, instale um pacote chamado oci-fss-utils na instância. A ferramenta oci-fss-utils está disponível para os seguintes tipos de instância:

  • Oracle Linux, CentOS 7 x86
  • Oracle Linux, CentOS 8 x86
  • Oracle Linux, CentOS 9 x86
  • Oracle Linux, CentOS 7 Arm*
  • Oracle Linux, CentOS 8 Arm*
  • Oracle Linux, CentOS 9 Arm*

*A Oracle oferece uma plataforma de computação baseada em Arm com base no processador Ampere Altra. Consulte Computação Baseada em Arquitetura Arm para obter mais informações.

Como a Criptografia em Trânsito é Ativada

O pacote oci-fss-utils cria um namespace de rede e uma interface de rede virtual na sua instância e fornece um ponto final NFS local. O pacote oci-fss-utils também executa um processo encaminhador no segundo plano chamado oci-fss-forwarder.

O namespace de rede isola o processo de encaminhamento do ambiente de rede da instância. A interface de rede virtual fornece ao processo encaminhador um endereço IP exclusivo. O ponto final NFS local fornece o recurso de conexão NFS.

O sistema de arquivos é montado usando um comando especial que inicia a criptografia. Depois que o sistema de arquivos for montado, o processo oci-fss-forwarder conectará o cliente NFS local ao ponto final NFS. O processo, então, recebe solicitações do cliente NFS, as criptografa e envia para o ponto de acesso NFS usando um túnel TLS.

Veja aqui as etapas gerais para configurar a criptografia em trânsito:

  1. Certifique-se de atender aos pré-requisitos antes de configurar a criptografia em trânsito.
  2. Instale o pacote oci-fss-utils.

    1. Se você estiver usando o Oracle Linux, consulte 1. Instale o pacote OCI-FSS-UTILS.
    2. Se você estiver usando CentOS, consulte Instalação manual e off-line.
  3. Use o comando de criptografia em trânsito para montar o sistema de arquivos. Para obter instruções, consulte 2. Monte o sistema de arquivos com o comando de criptografia.

Limitações e Considerações

  • O pacote de instalação de instalação de criptografia em trânsito é distribuído como RPM para Oracle Linux e CentOS. Os usuários do Oracle Linux podem instalar o pacote usando o yum. Ele também pode ser baixado do Repositório yum do Oracle Linux.
  • É necessário instalar o pacote oci-fss-utils em cada instância que exija acesso criptografado a um ponto de acesso NFS.
  • O número de conexões NFS/TLS criptografadas para um único ponto de acesso NFS é limitado a 4096.
  • Não há suporte para nomes de host DNS na montagem de sistemas de arquivos criptografados com oci-fss-forwarder. Use o endereço IP do ponto de acesso NFS para montar sistemas de arquivos criptografados.
Importante

Se você não estiver usando a versão mais recente do pacote oci-fss-utils, poderá ocorrer falhas de conexão SSL. As falhas de conexão SSL podem causar erro nas operações NFSv3.

Recomendamos que você sempre faça upgrade para a versão mais recente do pacote oci-fss-utils assim que ele estiver disponível. Consulte Notas da Versão do Serviço File Storage para obter informações sobre novas versões do RPM.

Configurando a Criptografia em Trânsito para o Linux

1. Instalar o pacote OCI-FSS-UTILS

Os usuários do Oracle Linux podem instalar diretamente o utilitário TLS no repositório do Oracle Linux yum.

  1. Abra uma janela de terminal na instância de destino.
  2. Certifique-se de que o repositório yum do desenvolvedor Oracle esteja ativado para a versão do Oracle Linux usando o seguinte comando:

    sudo yum-config-manager --enable ol<oracle_linux_major_version>_developer

    Instale o pacote usando o seguinte comando:

    sudo yum install oci-fss-utils

O pacote cria um namespace chamado ns1 em sua instância, que contém uma interface de rede padrão para tráfego ethernet. Um par de interface de rede é criado para cada ponto de acesso NFS.

Após a instalação do pacote, vá para 2. Monte o sistema de arquivos com o comando de criptografia.

Instalação manual e off-line

É necessário ter acesso à Internet para fazer download do pacote de instalação RPM. Se a instância de destino não tiver acesso à Internet, você poderá fazer download do RPM para uma instância de preparação na rede e, em seguida, usar o comando scp para copiar com segurança o RPM da instância de preparação para a instância de destino.

O comando scp requer um par de chaves SSH para autenticar um usuário remoto. Se suas instâncias forem de sistemas de estilo UNIX, você provavelmente já terá o utilitário ssh-keygen instalado. Para verificar se ele está instalado, abra um shell ou um terminal e digite ssh-keygen na linha de comando. Caso não esteja instalado, você poderá fazer download do OpenSSH for UNIX em http://www.openssh.com/portable.html.

  1. (Opcional) Crie um diretório para o pacote de instalação RPM na instância de destino. Por exemplo: 

    sudo mkdir -p /<rpm_directory_name>
  2. Faça download do pacote oci-fss-utils mais recente do Repositório yum do Oracle Linux para o diretório na instância de destino ou para uma instância de preparação na sua rede.

    1. Na página Repositório do yum do Oracle Linux, em Procurar os Repositórios, selecione uma versão do Oracle Linux.
    2. Em Pacotes para Teste e Desenvolvimento, localize Pacotes de Desenvolvedor e selecione o tipo de arquitetura do Linux, como x86_64 ou aarch64.
    3. Localize e selecione a versão mais recente do pacote oci-fss-utils. Para obter mais informações sobre a versão mais recente, consulte Notas da Versão do Serviço File Storage.

  3. Se você tiver feito download do pacote para uma instância de preparação, abra uma janela de terminal na instância de preparação e use o comando scp para copiar com segurança o RPM da instância de preparação para a instância de destino. Por exemplo:

    scp -i <private_key> <downloaded_file_name> <username>@<destination_public_ip_address>:/<rpm_directory_name>

    Ignore esta etapa se tiver feito download do pacote diretamente para a instância de destino.

  4. Se o nome do arquivo do pacote baixado não incluir a versão e a arquitetura do pacote, use o seguinte comando para identificar o arquivo RPM a ser instalado:

    rpm -qp <downloaded_file_name>

    Depois que o pacote for identificado, renomeie o arquivo usando o RPM retornado pela consulta. Por exemplo:

    mv <downloaded_file_name> $(rpm -qp <downloaded_file_name>).rpm
  5. Instale o pacote usando o seguinte comando:

    sudo yum localinstall oci-fss-utils-<version>.rpm

O pacote cria um namespace chamado ns1 na instância, que contém uma interface de rede padrão para tráfego ethernet. Um par de interface de rede é criado para cada ponto de acesso NFS.

Após a instalação do pacote, vá para 2. Monte o sistema de arquivos com o comando de criptografia.

2. Montar o sistema de arquivos com o comando de criptografia
  1. Abra uma janela de terminal na instância.
  2. Crie um ponto de montagem digitando o seguinte, substituindo yourmountpoint pelo diretório local ao qual você deseja acessar o sistema de arquivos.

    sudo mkdir -p /mnt/yourmountpoint
  3. Monte o sistema de arquivos usando o seguinte comando:

    sudo mount -t oci-fss 10.x.x.x:/fs-export-path /mnt/yourmountpoint

    Substitua 10.x.x.x: pelo o endereço IP da sub-rede local designado ao ponto de acesso NFS, fs-export-path pelo o caminho de exportação especificado ao associar o sistema de arquivos ao ponto de acesso NFS e yourmountpoint pelo caminho para o ponto de montagem local. O caminho de exportação é o caminho para o sistema de arquivos (relativo ao endereço IP do ponto de acesso NFS).

    Se você tiver instalado o oci-fss-utils versão 2.0-1 ou posterior, poderá montar o sistema de arquivos no modo aprovado pelo FIPS incluindo -o fips no comando de montagem. Por exemplo:
    sudo mount -t oci-fss -o fips 10.x.x.x:/fs-export-path /mnt/yourmountpoint
    Importante

    Os nomes de host DNS não são compatíveis com a montagem de sistemas de arquivos usando o comando mount -t oci-fss. Você deve usar o endereço IP do ponto de acesso NFS.

    Cada vez que você monta um sistema de arquivos usando esse comando, o serviço systemd-managed cria um novo serviço oci-fss-forwarder com um nome como oci-fss-0<number>.service.

    Dica

    Por padrão, o cliente NFS da ferramenta usa portas reservadas durante a montagem. Use a opção de montagem noresvport se precisar usar portas não privilegiadas.

Gerenciando a Criptografia em Trânsito para o Linux

Montar automaticamente um sistema de arquivos

A montagem automática garante que um sistema de arquivos seja automaticamente remontado em uma instância, se for reinicializado.

  1. Abra uma janela de terminal na instância. Monte o sistema de arquivos conforme descrito em 2. Monte o sistema de arquivos com o comando de criptografia.
  2. Abra o arquivo /etc/fstab para edição: 

    cd /etc
    vi fstab
  3. Adicione a seguinte linha ao arquivo fstab:

    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail 0 0

    Substitua 10.x.x.x: pelo endereço IP da sub-rede local designado ao ponto de acesso NFS, fs-export-path pelo o caminho de exportação especificado ao associar o sistema de arquivos ao ponto de acesso NFS e yourmountpoint pelo caminho para o ponto de montagem local.

    Se você tiver instalado o oci-fss-utils versão 2.0-1 ou superior, poderá montar o sistema de arquivos no modo aprovado pelo FIPS incluindo -o fips no comando de montagem. Por exemplo:
    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,fips 0 0
    Importante

    No momento, os nomes de host DNS não são compatíveis com a montagem de sistemas de arquivos usando o comando mount -t oci-fss. Você deve usar o endereço IP do ponto de acesso NFS.
    Dica

    É possível usar a opção resvport para restringir o cliente a usar uma porta reservada específica. Por exemplo:

    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,resvport=900 0 0
Desmontar um sistema de arquivos

Ao desmontar um sistema de arquivos, você deve utilizar outro comando oci-fss-utils para garantir que o namespace de rede local associado seja removido:

  1. Abra uma janela de terminal na instância.
  2. Utilize o comando a seguir para desmontar o sistema de arquivos:

    sudo umount -t oci-fss /mnt/yourmountpoint

    Substitua yourmountpoint pelo caminho para o ponto de montagem local.

Fazer upgrade do pacote OCI-FSS-UTILS

Se você estiver usando uma versão obsoleta do utilitário oci-fss-utils, como oci-fss-utils-3.x, ou quiser aproveitar os novos recursos, poderá fazer upgrade para uma versão mais recente. Você pode encontrar informações sobre a versão nas Notas da Release do Serviço File Storage.

Ao fazer upgrade do oci-fss-utils para uma nova versão, quaisquer novas configurações, como um novo endereço IP ou o nome do processo do encaminhador TLS, não serão aplicadas até que o sistema de arquivos seja remontado.

Observação

A remontagem será necessária se você estiver fazendo upgrade do utilitário oci-fss-utils para que o cliente TLS possa usar um endereço IPv6. Os aplicativos que usam o sistema de arquivos montado terão tempo de inatividade enquanto você remonta o sistema de arquivos.
  1. Abra uma janela de terminal na instância de destino.
  2. Atualize o pacote.

    1. Os usuários do Oracle Linux podem fazer upgrade do oci-fss-utils no repositório do yum do Oracle Linux. Certifique-se de que o repositório yum do desenvolvedor Oracle esteja ativado para a versão do Oracle Linux usando o seguinte comando:

      sudo yum-config-manager --enable ol<oracle_linux_major_version>_developer

      Em seguida, atualize o pacote usando o seguinte comando:

      sudo yum update -y oci-fss-utils
    2. Se você não usar o Oracle Linux, faça download do pacote oci-fss-utils mais recente no repositório do yum do Oracle Linux. Para obter instruções, consulte Instalação manual e off-line. Em seguida, atualize o pacote usando o seguinte comando:

      sudo yum localinstall -y oci-fss-utils-<version>.rpm
  3. Após o upgrade, verifique a versão de oci-fss-utils usando o seguinte comando:

    sudo rpm -qa | grep oci-fss-utils
  4. Desmonte o sistema de arquivos e remonte o sistema de arquivos para que novas configurações possam ter efeito.
Para desinstalar o pacote OCI-FSS-UTILS
  1. Primeiro, desmonte todos os sistemas de arquivos montados. Para obter instruções, consulte Desmontar um sistema de arquivos.
  2. Abra uma janela de terminal na instância.
  3. Digite o seguinte comando para desinstalar o pacote oci-fss:

    sudo yum remove oci-fss-utils

Criptografia em Trânsito para Usuários do Windows

Os clientes Windows podem usar o stunnel para ativar a criptografia em trânsito para sistemas de arquivos.

Limitações e Considerações

  • O número de conexões NFS/TLS criptografadas para um único ponto de acesso NFS é limitado a 64. Essa limitação é causada por requisitos de memória TLS. Diferentemente das conexões NFS, as conexões TLS não compartilham buffers de memória. Portanto, uma vez que uma conexão TLS é estabelecida, a memória alocada permanece dedicada a ela.
  • Não há suporte para nomes de host DNS na montagem de sistemas de arquivos criptografados. Use o endereço IP do ponto de acesso NFS para montar sistemas de arquivos criptografados.

Configurando a Criptografia em Trânsito para o Windows

Estas instruções descrevem como instalar e configurar o stunnel para usar a criptografia em trânsito com seus sistemas de arquivos. Certifique-se de atender aos pré-requisitos antes de configurar a criptografia em trânsito.

Dica

Você pode automatizar esse processo usando um script em batch que contenha as etapas a seguir.

Tarefas de Configuração

Tarefa 1: Instalar o Cliente NFS do Windows
  1. Abra o Windows PowerShell na sua instância de destino e use o seguinte comando para instalar o Cliente NFS do Windows:

    Install-WindowsFeature NFS-Client

    Depois que o cliente for instalado, prossiga para a Tarefa 2: Fazer download e Instalar o stunnel.

Tarefa 2: Fazer Download e Instalar o stunnel
  1. Para fazer download e instalar o stunnel, acesse https://www.stunnel.org/downloads.html.

    Observação

    A última etapa de instalação solicita informações de certificado. A inserção de um valor aqui é opcional.

    Por padrão, o stunnel é instalado no seguinte diretório: C:\Program Files (x86)\stunnel

  2. Abra o arquivo C:\Program Files (x86)\stunnel\config\stunnel.cfg para editar e especifique a seguinte configuração:

    [mount]
        client=yes
        accept=127.0.0.1:2048
        connect=10.0.1.155:2051
     
    [nfs]
        client=yes
        accept=127.0.0.1:2049
        connect=10.0.1.155:2051
     
    [nlm]
        client=yes
        accept=127.0.0.1:2050
        connect=10.0.1.155:2051
     
    [rpcbind]
        client=yes
        accept=127.0.0.1:111
        connect=10.0.1.155:2051
  3. Inicie o stunnel usando C:\Program Files (x86)\stunnel\bin\tstunnel.exe.

    Prossiga para a Tarefa 3: Montar e Testar sua Conexão.

Tarefa 3: Montar e Testar Sua Conexão

Abra um prompt de comando e digite a seguinte série de comandos:

  1. Monte o sistema de arquivos:

    mount \\127.0.0.1\fss z:
  2. Teste a conexão com o sistema de arquivos listando o conteúdo do diretório:

    dir z:
  3. Desmonte o sistema de arquivos:

    umount z: