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.2 (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 ponta a ponta.
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.
- Para obter informações gerais sobre como começar a usar os sistemas de arquivos, consulte Visão Geral do Serviço File Storage.
- Para obter mais informações sobre o serviço Vault, consulte Visão Geral do Serviço Vault.
- Para obter mais informações sobre como proteger seu sistema de arquivos, consulte About File Storage Security e a referência Securing File Storage no Security Guide.
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 novas regras a seguir à lista de segurança da 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 serviço File Storage, consulte Configurando Regras de Segurança da VCN para o Serviço File Storage.
- Uma regra de entrada com monitoramento de estado que permite o tráfego TCP para um Intervalo de Portas de Destino de 2051.
- Uma regra de saída com monitoramento de estado que permite o tráfego TCP de um Intervalo de Portas de Origem de 2051.
O acesso padrão (não criptografado) aos pontos de acesso NFS do serviço File Storage requer acesso às seguintes portas:
- Entrada com monitoramento de estado para portas TCP 111, 2048, 2049 e 2050.
- Entrada com monitoramento de estado para portas UDP 111 e 2048.
- Saída com monitoramento de estado das portas TCP 111, 2048, 2049 e 2050.
- Saída com monitoramento de estado da porta UDP 111.
Se você tiver configurado anteriormente regras para acesso padrão e quiser impor apenas o acesso criptografado, poderá desativar as portas de acesso padrão.
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. O 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 7 Arm*
- Oracle Linux, CentOS 8 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 encaminhador do ambiente de rede da sua 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:
- Certifique-se de atender aos pré-requisitos antes de configurar a criptografia em trânsito.
- Faça download do pacote
oci-fss-utils
. Para obter instruções, consulte Tarefa 1: Fazer download do pacote OCI-FSS-UTILS. - Instale o pacote
oci-fss-utils
na instância. Para obter instruções, consulte Tarefa 2: Instalar o pacote OCI-FSS-UTILS no Oracle Linux ou CentOS. - Use o comando de criptografia em trânsito para montar o sistema de arquivos. Para obter instruções, consulte Tarefa 3: Montar o sistema de arquivos com o comando de criptografia.
Limitações e Considerações
- O pacote de instalação de criptografia em trânsito é distribuído como RPM para Oracle Linux e CentOS e pode ser submetido a download em cloud-infrastructure-file-storage-downloads.html
- É 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.
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
É 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.
-
(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>
-
Faça download do pacote
oci-fss-utils
de cloud-infrastructure-file-storage-downloads.html para o diretório na instância de destino ou para uma instância de preparação na rede.Se você fez download do pacote diretamente para a instância de destino, ignore a próxima etapa e vá diretamente para a Tarefa 2: Instalar o pacote OCI-FSS-UTILS no Oracle Linux ou em CentOS.
Se você fez download do pacote para uma instância de preparação, vá para a próxima etapa destas instruções.
-
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>
Depois que o pacote RPM for submetido a download para a instância de destino, prossiga para a Tarefa 2: Instalar o pacote OCI-FSS-UTILS no Oracle Linux ou CentOS.
- Abra uma janela de terminal na instância de destino.
-
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
-
Instale o pacote usando o seguinte comando:
sudo yum localinstall oci-fss-utils-<version>.rpm
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, prossiga para a Tarefa 3: Montar o sistema de arquivos com o comando de criptografia.
- Abra uma janela de terminal em sua instância.
-
Crie um ponto de montagem digitando o seguinte, substituindo
yourmountpoint
pelo diretório local do qual você deseja acessar seu sistema de arquivos.sudo mkdir -p /mnt/yourmountpoint
-
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 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 eyourmountpoint
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 ooci-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:sudo mount -t oci-fss -o fips 10.x.x.x:/fs-export-path /mnt/yourmountpoint
Importante
No momento, os nomes de host DNS não são compatíveis com a montagem de sistemas de arquivos usando o comandomount -t oci-fss
. Você deve usar o endereço IP do ponto de acesso NFS.Exemplo de saída do comando
mount -t oci-fss
:Created symlink from /etc/systemd/system/multi-user.target.wants/oci-fss-2.service to /usr/lib/systemd/system/oci-fss-2.service.
Cada vez que você monta um sistema de arquivos usando este comando, um novo serviço
oci-fss
é iniciado com um número de sequência incremental entre 2 e 255. Por exemplo,oci-fss-2.service
,oci-fss-3.service
, e assim por diante.Dica
É possível usar a opção
resvport
para restringir o cliente a usar uma porta reservada específica. Por exemplo:sudo mount -t oci-fss -o resvport=900 10.x.x.x:/fs-export-path /mnt/yourmountpoint
Gerenciando a Criptografia em Trânsito para o Linux
A montagem automática garante que um sistema de arquivos seja automaticamente remontado em uma instância, se for reinicializado.
- Abra uma janela de terminal na instância. Monte o sistema de arquivos conforme descrito na Tarefa 2: Instalar o pacote OCI-FSS-UTILS no Oracle Linux ou CentOS.
-
Abra o arquivo
/etc/fstab
para edição:cd /etc
vi fstab
-
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 eyourmountpoint
pelo caminho para o ponto de montagem local.Se você tiver instalado ooci-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 comandomount -t oci-fss
. Você deve usar o endereço IP do ponto de acesso NFS.Dica
Você pode 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
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:
- Abra uma janela de terminal na instância.
-
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.
- Primeiro, desmonte todos os sistemas de arquivos montados. Para obter instruções, consulte Para desmontar um sistema de arquivos.
- Abra uma janela de terminal na instância.
-
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.
Você pode automatizar esse processo usando um script em batch que contenha as etapas a seguir.
Tarefas de Configuração
-
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.
-
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
-
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
-
Inicie o stunnel usando
C:\Program Files (x86)\stunnel\bin\tstunnel.exe
.Prossiga para a Tarefa 3: Montar e Testar sua Conexão.
Abra um prompt de comando e digite a seguinte série de comandos:
-
Monte o sistema de arquivos:
mount \\127.0.0.1\fss z:
-
Teste a conexão com o sistema de arquivos listando o conteúdo do diretório:
dir z:
-
Desmonte o sistema de arquivos:
umount z: