Crittografia delle immagini VHD
Per utilizzare la funzione E2E Encryption, è necessario crittografare l'immagine VHD (Virtual Hard Drive) con lo strumento vhd-util prima di importarlo in Image Templates per fornire istanze crittografate. Sono supportati due livelli di crittografia AES: AES 256 bit e AES 512 bit.
Requisiti dell'immagine VHD crittografata
Le immagini VHD crittografate devono soddisfare i seguenti requisiti:
- Formato VHD.
- Compatibilità con l'ambiente dell'infrastruttura IBM Cloud® Console.
- Eseguito il provisioning con un sistema operativo supportato.
- Abilitato a Cloud-init.
- Eseguita crittografia con lo strumento vhd-util.
Crittografia della tua immagine VHD
Segui questi passi per creare la tua immagine VHD crittografata:
-
Seleziona un sistema CentOS alla versione 7 o successiva per crittografare la tua immagine del disco virtuale (file VHD) per IBM Cloud. Se non hai accesso all'hardware fisico con CentOS installato, puoi eseguire il provisioning di un'istanza del server virtuale con CentOS 7 all'interno di IBM Cloud utilizzando un host pubblico o dedicato. Il sistema CentOS utilizzato per crittografare i file VHD non ha bisogno di essere crittografato.
-
Scarica lo strumento di crittografia da IBM Cloud, poi utilizza l'opzione migliore disponibile per crittografare il tuo VHD.
Opzione 1 se il tuo sistema CentOS non è in esecuzione in IBM Cloud, accedi e connettiti alla tua VPN del cliente. Per ulteriori informazioni sulla configurazione di una VPN, vedi "Configura le connessioni VPN SSL". Dopo aver collegato alla tua VPN, vai al sito di download di IBM Cloud e selezionare il file di pacchetto RPM degli strumenti vhd-util:
vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm
.Opzione 2 Se non è possibile scaricare il file di pacchetto RPM direttamente nel proprio sistema CentOS , quindi collegarsi alla propria VPN cliente e scaricare il file sulla workstation su cui si sta lavorando. Puoi quindi caricarlo nel tuo sistema CentOS utilizzando il comando secure copy (scp). Se stai utilizzando un'istanza del server virtuale in IBM Cloud, utilizza l'indirizzo IP pubblico del sistema per il caricamento utilizzando il seguente comando.
scp vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm root@<vsi_public_ip>:
Opzione 3 se scegli di eseguire il provisioning di un'istanza del server virtuale CentOS all'interno di IBM Cloud nel passo 1, puoi utilizzare il seguente comando curl senza connetterti alla tua VPN del 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
-
Installa RPM utilizzando il seguente comando:
rpm -iv vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm
-
Identifica e seleziona la DEK (data encryption key) AES di cui hai bisogno per crittografare e decrittografare la tua immagine disco e scrivila in un keyfile. Questo DEK è lo stesso base64-encoded DEK che hai avvolto con il tuo key root service - fornito la chiave principale del cliente che è in Preparare l'ambiente. Il materiale della chiave scritto nei keyfile deve essere spacchettato e non codificato.
Poiché il keyfile non è codificato base64, non puoi stampare o visualizzare il contenuto del keyfile dalla riga di comando utilizzando i caratteri ASCII standard.
Utilizzare il seguente comando per creare i file di chiavi con una chiave di codifica AES 256 bit o AES 512 bit :
echo <data_key> | base64 -d - > <keyfile_name>
Comando di esempio:
echo Nrfen98EpMxF2B+wdgLfagzrqvgUZfMK4vL2T0NsT20ihrsNC9pUUHtizF6218pze8RLCgQ6kwxuE58IWLzgDA== | base64 -d - > aes512.dek
-
Utilizza il seguente comando per verificare i keyfile che hai creato nel passo precedente:
vhd-util key -C -k <keyfile_name>
Comando di esempio con output:
vhd-util key -C -k aes512.dek vhd_util_read_key: using keyfile aes512.dek, Size (bytes) 64 21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda
La prima riga dell'output dal comando di esempio precedente indica che il file keyfile denominato
aes512.dek
contiene una chiave a 64 - byte. Mentre i numeri che sono elencati sulla seconda riga sono i hash SHA256 o le hash di sicurezza per le rispettive chiavi di codifica. L'output per i file che contengono una chiave di codifica AES 256 - bit indica una chiave a 32 byte. -
Utilizza il seguente comando per creare copie crittografate dei tuoi file VHD.
target_vhd
rappresenta il nome del file che contiene la versione crittografata disource_vhd
.vhd-util copy -n <source_vhd> -N <target_vhd> -k <keyfile_name>
Comando di esempio:
vhd-util copy -n debian8-ne.vhd -N debian8-aes512.vhd -k aes512.dek
-
Verifica che i file VHD vengano crittografati utilizzando il seguente comando.
vhd-util key -p -n <vhd_filename>
Comando di esempio con output:
vhd-util key -p -n debian8-aes512.vhd 0000000000000000000000000000000000000000000000000000000000000000 21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda
Se il file VHD è crittografato, vedrai due valori hash nell'output come mostrato nell'esempio precedente. Il primo hash sono tutti zero. Il secondo hash è l'hash SHA256 utilizzato dalla chiave di crittografia AES per crittografare e decrittografare VHD. Assicurati che gli hash SHA256 per i file VHD siano gli stessi di quelli mostrati nel Passo 5.
Il comando di esempio nel Passo 7 crea un nuovo file VHD crittografato denominato, “debian8-aes512.vhd”. Viene crittografato con la chiave di crittografia AES a 512 bit proveniente dal keyfile denominato “aes512.dek”. L'hash
SHA256 per la sua crittografia è 21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda
.