Criptografando imagens VHD

Para usar o recurso de criptografia de ponta a ponta, deve-se criptografar a imagem de disco rígido virtual (VHD) com a ferramenta vhd-util antes de importá-la para Modelos de imagem a fim de provisionar instâncias criptografadas. São suportados dois níveis de criptografia AES: AES de 256 bits e AES de 512 bits.

Requisitos de imagem VHD criptografada

As imagens VHD criptografadas devem atender aos requisitos a seguir:

  • VHD formatado.
  • Compatibilidade com o ambiente de infraestrutura do console do IBM Cloud®.
  • Provisionado com um S.O. suportado.
  • Cloud-init ativado.
  • Criptografado com a ferramenta vhd-util.

Criptografando sua imagem VHD

Siga estas etapas para criar sua imagem VHD criptografada:

  1. Selecione um sistema CentOS versão 7 ou mais recente para criptografar sua imagem de disco virtual (arquivo VHD) para o IBM Cloud. Se você não tiver acesso a hardware físico com o CentOS instalado, será possível provisionar uma instância de servidor virtual com o CentOS 7 dentro do IBM Cloud usando um host público ou dedicado. O sistema CentOS usado para criptografar arquivos VHD não precisa ser criptografado.

  2. Faça download da ferramenta de criptografia por meio do IBM Cloud, em seguida, use a melhor opção disponível para criptografar seu VHD.

    Opção 1 Se o seu sistema CentOS não estiver em execução no IBM Cloud, efetue login e conecte-se à VPN do cliente. Para obter mais informações sobre como configurar uma VPN, consulte "Configurar conexões de VPN SSL". Depois de se conectar à sua VPN, acesse o site de download IBM Cloud e selecione o arquivo do pacote RPM da ferramenta vhd-util: vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm.

    Opção 2 Se não for possível fazer download do arquivo de pacote RPM diretamente no sistema CentOS, conecte-se à VPN do cliente e faça download do arquivo na estação de trabalho na qual você está trabalhando. Será possível, então, fazer upload dele para o sistema CentOS usando o comando de cópia segura (scp). Se você estiver usando uma instância de servidor virtual no IBM Cloud, use o endereço IP público do sistema para o upload usando o comando a seguir.

    scp vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm root@<vsi_public_ip>:
    

    Opção 3 Se você optar por provisionar uma instância de servidor virtual do CentOS dentro do IBM Cloud na etapa 1, será possívelusar o comando curl a seguir sem se conectar ao VPN do seu cliente:

    curl -O http://downloads.service.softlayer.com/citrix/xen/vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm
    
  3. Instale o RPM usando o comando a seguir:

    rpm -iv vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm
    
  4. Identifique e selecione a chave de criptografia de dados AES (DEK) que é necessária para criptografar e decriptografar a sua imagem do disco e, então, grave-o em um arquivo-chave. Esse DEK é o mesmo DEK codificado em Base64 agrupado com sua chave raiz do cliente fornecida pelo serviço de gerenciamento de chave que está em Preparando seu ambiente. O material da chave que é gravado em arquivo-chave deve ser desagrupado e não ser codificado.

    Como o arquivo-chave não é codificado em Base64, não é possível imprimir ou visualizar o conteúdo do arquivo-chave por meio da linha de comandos usando caracteres ASCII padrão.

    Use o comando a seguir para criar arquivos de chaves com uma chave de criptografia AES de 256 bits ou AES de 512 bits:

    echo <data_key> | base64 -d - > <keyfile_name>
    

    Exemplo de comando:

    echo Nrfen98EpMxF2B+wdgLfagzrqvgUZfMK4vL2T0NsT20ihrsNC9pUUHtizF6218pze8RLCgQ6kwxuE58IWLzgDA== | base64 -d - > aes512.dek
    
  5. Use o comando a seguir para verificar os arquivos-chave criados na etapa anterior:

    vhd-util key -C -k <keyfile_name>
    

    Exemplo de comando com saída:

    vhd-util key -C -k aes512.dek
    vhd_util_read_key: using keyfile aes512.dek, Size (bytes) 64
    21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda
    

    A primeira linha da saída do comando de exemplo anterior indica que o arquivo-chave denominado aes512.dek contém uma chave de 64 bytes. Enquanto os números listados na segunda linha são os hashes SHA256 ou os hashes de segurança para as respectivas chaves de criptografia. A saída para os arquivos que contêm uma chave de criptografia AES de 256 bits indica uma chave de 32 bytes.

  6. Use o comando a seguir para criar cópias criptografadas de seus arquivos VHD. target_vhd representa o nome do arquivo que contém a versão criptografada de source_vhd.

    vhd-util copy -n <source_vhd> -N <target_vhd> -k <keyfile_name>
    

    Exemplo de comando:

    vhd-util copy -n debian8-ne.vhd -N debian8-aes512.vhd -k aes512.dek
    
  7. Verifique se os arquivos VHD estão criptografados usando o comando a seguir.

    vhd-util key -p -n <vhd_filename>
    

    Exemplo de comando com saída:

    vhd-util key -p -n debian8-aes512.vhd
    0000000000000000000000000000000000000000000000000000000000000000
    21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda
    

Se o arquivo VHD estiver criptografado, você verá dois valores de hash na saída, conforme mostrado no exemplo anterior. O primeiro hash contém apenas zeros. O segundo hash é o hash SHA256 que a chave de criptografia AES usa para criptografar e decriptografar o VHD. Certifique-se de que os hashes SHA256 para os arquivos VHD sejam os mesmos que os hashes mostrados na Etapa 5.

O comando de exemplo na Etapa 7 cria um novo arquivo VHD criptografado, que é denominado, “debian8-aes512.vhd”. Ele é criptografado com a chave de criptografia AES de 512 bits por meio do arquivo-chave denominado "aes512.dek". O hash SHA256 para sua criptografia é 21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda.