Estabelecimento de criptografia em trânsito para compartilhamentos de arquivos em zonas
Estabeleça conexões de montagem criptografadas para compartilhamentos de arquivos zonais utilizando o protocolo de segurança IPsec e certificados do tipo “ X.509 ” para garantir a criptografia segura de dados de ponta a ponta.
O IPsec é um grupo de protocolos que, juntos, estabelecem conexões criptografadas entre dispositivos. Ele ajuda a manter seguros os dados enviados por redes públicas. O IPsec criptografa pacotes IP e autentica a fonte de onde os pacotes vêm. Para configurar o IPsec em sua instância de servidor virtual, você pode usar o strongSwan, que é uma solução de VPN de código aberto baseada em IPsec. Para obter mais informações sobre como strongSwan funciona, consulte também Introdução ao strongSwan e ao protocolo IPsec.
A conexão IPsec exige que você tenha um certificado X.509 para autenticação. X.509 é um formato padrão internacional para certificados de chave pública, documentos digitais que associam com segurança pares de chaves criptográficas a identidades, como sites, indivíduos ou organizações. O serviço de metadados é usado para criar os certificados.
Uma Solicitação de Assinatura de Certificado (CSR) é um bloco de textos codificados que são encaminhados a uma autoridade de certificação (CA) quando os usuários solicitam um certificado. O CSR é criado no servidor em que o certificado deve ser instalado. A CSR inclui informações como nome de domínio, nome da organização, localidade e país. A solicitação também contém a chave pública, que está associada ao certificado que é gerado, e a chave privada. A CA usa somente a chave pública quando o certificado é criado. A chave privada deve ser salva e mantida em segredo. Como a chave privada faz parte do par de chaves com a chave pública, o certificado não funcionará se a chave privada for perdida.
Ao usar conexões IPsec para montar compartilhamentos de arquivos zonais, podem ocorrer interrupções temporárias na montagem durante situações de manutenção ou falha de nós. Em casos raros, as montagens configuradas com IPsec podem sofrer interrupções no serviço de até 3 minutos. Para obter mais informações, consulte “Possível interrupção na montagem de compartilhamentos de arquivos zonais configurados com IPsec durante a manutenção ”.
Antes de começar a configurar a criptografia em trânsito com o IPsec
Para usar o recurso, os seguintes requisitos precisam ser atendidos:
- O compartilhamento de arquivos deve se basear no perfil
dp2e ser configurado com o modo de acesso Security Group. - O destino de montagem deve ser criado com uma interface de rede virtual. A instância do servidor virtual e o destino de montagem devem ser membros do mesmo grupo de segurança. Para obter mais informações, consulte Criação de compartilhamentos de arquivos e alvos de montagem.
- A criptografia de dados em trânsito deve estar ativada. No console, é possível ativar a criptografia em trânsito ao criar o destino de montagem. A propriedade API
transit_encryptionaceita o valoripsecpara ativar o recurso. - O serviço de metadados deve estar ativado no host de computação. Para obter mais informações, consulte Serviço de metadados em instâncias de servidores virtuais e Serviço de metadados em servidores bare metal.
O serviço de arquivos do IBM Cloud® oferece um utilitário chamado Mount Helper para automatizar as seguintes tarefas realizadas no host de computação.
Se você quiser conectar um compartilhamento de arquivos a instâncias que estejam em execução em diferentes VPCs dentro de uma zona, é possível criar vários destinos de montagem. É possível criar um destino de montagem para cada VPC.
Obtenção do certificado de identidade da instância
Obtenha os certificados X.509 que são necessários para a autenticação. Os mesmos certificados não podem ser usados em várias regiões.
-
O comando a seguir gera uma CSR ( Certificate Signing Request, solicitação de assinatura de certificado ) e um par de chaves RSA usando o openssl.
openssl req -sha256 -newkey rsa:4096 -subj '/C=US' -out ./sslcert.csr -keyout file.key -nodesQuando você executar o comando, substitua o código do país
USpelo código do país de dois dígitos em'/C=US'.OpenSSL é um conjunto de ferramentas de linha de comando de código aberto que você pode usar para trabalhar com certificados d X.509, solicitações de assinatura de certificado (CSRs) e chaves criptográficas. Para obter mais informações, consulte a documentação do OpenSSL.
Se estiver usando um software diferente para criar a CSR, poderá ser solicitado que você insira informações sobre sua localização. Suas informações de localização podem incluir o código do país (C), o estado (ST), a localidade (L), o nome da organização (O) e a unidade organizacional (OU). Qualquer um desses atributos de nomenclatura pode ser usado. Quaisquer outros atributos de nomenclatura, como nome comum, são rejeitados. As CSRs com Common Name especificado são rejeitadas porque, quando você faz a solicitação, o sistema aplica automaticamente valores de ID de instância ao Common Name do assunto para os certificados de identidade da instância. Os CSRs com extensões também são rejeitados.
-
Formate o csr antes de fazer uma chamada de API para o serviço de metadados usando o seguinte comando.
awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' sslcert.csr -
Em seguida, use o serviço de metadados na instância do servidor virtual ou no servidor bare metal para criar um certificado de cliente.
- Faça uma solicitação
PUT /instance_identity/v1/token(instância de servidor virtual) ouPUT /identity/v1/tokens(servidor bare metal) para obter um token do serviço de identidade da VPC a ser usado em chamadas subsequentes. Para obter mais informações, veja os tópicos a seguir: - Use o token de identidade para criar um certificado de identidade. Faça uma solicitação
POST /instance_identity/v1/certificatespara uma instância de servidor virtual ou umaPOST /identity/v1/certificatespara um servidor bare metal. Especifique o token de identidade no cabeçalho HTTP Authorization, além de uma Solicitação de assinatura de certificado (como propriedadecsr) e uma duração de validade (como propriedadeexpires_in). A chamada retorna um novo certificado de cliente e uma cadeia de certificados intermediários que permite que o cliente acesse os compartilhamentos de arquivos usando a criptografia IPsec em trânsito. Para obter mais informações, veja os tópicos a seguir: - Copie a saída da resposta da API, incluindo as linhas
-----BEGIN CERTIFICATE-----e-----END CERTIFICATE-----, e salve-a em um arquivo com um nome reconhecível, comoca-cert.pem. Certifique-se de que o arquivo criado tenha a extensão.pem.
- Faça uma solicitação
-
Copie o certificado de identidade da instância no diretório
/etc/ipsec.d/cacerts.sudo cp /tmp/ca-cert.pem /etc/ipsec.d/cacerts
Configurando o host e montando o compartilhamento
-
Instale e configure o cliente strongSwan. Você deve configurar o IPsec Transport Mode para o endereço de destino da montagem.
-
Certifique-se de instalar os plug-ins necessários (
libcharon-extra-plugins) para autenticação e atualize os arquivos de configuração com o local do certificado de identidade da instância. -
Estabeleça uma conexão segura iniciando o cliente strongSwan.
-
Monte seu compartilhamento de arquivos.