Share via


Esercitazione: Distribuzione di moduli di protezione hardware in una rete virtuale esistente con PowerShell

Il servizio HSM dedicato di Azure offre un dispositivo fisico ad uso esclusivo del cliente, con controllo amministrativo completo e piena responsabilità di gestione. Fornendo hardware fisico, Microsoft deve controllare come i dispositivi vengono allocati per garantire una gestione efficace della capacità. Di conseguenza, il servizio HSM dedicato non sarà normalmente visibile per il provisioning delle risorse all'interno di una sottoscrizione di Azure. Per accedere al servizio HSM dedicato, i clienti di Azure dovranno prima contattare il rispettivo account executive Microsoft per richiedere la registrazione per tale servizio. Solo al termine di tale processo sarà possibile effettuare il provisioning. Questa esercitazione ha lo scopo di illustrare un processo di provisioning tipico in cui:

  • Un cliente ha già una rete virtuale.
  • Il cliente ha una macchina virtuale.
  • Il cliente deve aggiungere risorse HSM (Hardware Security Module, modulo di protezione hardware) all'ambiente esistente.

L'architettura di una tipica distribuzione in più aree a disponibilità elevata potrebbe essere simile alla seguente:

multi region deployment

L'esercitazione è incentrata sull'integrazione di una coppia di moduli di protezione hardware e del necessario gateway ExpressRoute (subnet 1 nella figura sopra) in una rete virtuale esistente (rete virtuale 1 nella figura sopra). Tutte le altre risorse sono risorse standard di Azure. Lo stesso processo di integrazione può essere usato per i moduli di protezione hardware nella subnet 4 della rete virtuale 3 della figura sopra.

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Prerequisiti

HSM dedicato di Azure non è attualmente disponibile nel portale di Azure, di conseguenza l'interazione con il servizio avverrà interamente tramite riga di comando o con PowerShell. In questa esercitazione verrà usato PowerShell in Azure Cloud Shell. Se non si ha familiarità con PowerShell, seguire le istruzioni introduttive riportate nell'introduzione ad Azure PowerShell.

Presupposti:

  • Si supponga di disporre di un gestore dell'account Microsoft assegnato e si soddisfare il requisito monetario di cinque milioni di dollari ($ 5 milioni) o superiore di ricavi complessivi di Azure impegnati annualmente per qualificarsi per l'onboarding e l'uso del servizio HSM dedicato di Azure.
  • È stato completato il processo di registrazione di HSM dedicato di Azure e si è ottenuta l'approvazione per l'uso del servizio. In caso contrario, contattare il rappresentante Microsoft per informazioni dettagliate.
  • È stato creato un gruppo di risorse per le risorse di seguito, a cui verranno aggiunte le nuove risorse distribuite nel corso dell'esercitazione.
  • Sono già state create la rete virtuale, la subnet e le macchine virtuali necessarie, come illustrato nel diagramma sopra, e si intende ora integrare 2 moduli di protezione hardware in tale distribuzione.

Tutte le istruzioni riportate di seguito presuppongono che si sia già passati al portale di Azure e si sia già aperto Cloud Shell, selezionando ">_" in alto a destra nel portale.

Provisioning di un modulo di protezione hardware dedicato

Il provisioning dei moduli di protezione hardware e la relativa integrazione in una rete virtuale esistente tramite gateway ExpressRoute verranno convalidati con lo strumento da riga di comando ssh per verificare la raggiungibilità e la disponibilità di base del dispositivo HSM per qualsiasi ulteriore attività di configurazione. I comandi riportati di seguito useranno un modello di Resource Manager per creare le risorse HSM e le risorse di rete associate.

Convalida della registrazione della funzionalità

Come indicato sopra, per qualsiasi attività di provisioning è necessaria la registrazione del servizio HSM dedicato per la sottoscrizione. Per convalidare la registrazione, eseguire questo comando di PowerShell in Cloud Shell nel portale di Azure.

Get-AzProviderFeature -ProviderNamespace Microsoft.HardwareSecurityModules -FeatureName AzureDedicatedHsm

Prima di procedere ulteriormente, è necessario che il comando restituisca lo stato "Registered", come illustrato di seguito. Se non è stata eseguita la registrazione per questo servizio, contattare il rappresentante Microsoft.

subscription status

Creazione delle risorse HSM

Viene effettuato il provisioning di un dispositivo HSM nella rete virtuale di un cliente. Di conseguenza è necessaria una subnet. Per la comunicazione tra rete virtuale e dispositivo fisico, il modulo di protezione hardware dipende da un gateway ExpressRoute. È infine necessaria una macchina virtuale per accedere al dispositivo HSM usando il software client Thales. Queste risorse sono state raccolte in un file di modello, con il corrispondente file di parametri, per facilitare l'uso. Per ottenere i file, contattare direttamente Microsoft all'indirizzo HSMrequest@Microsoft.com.

Dopo aver ottenuto i file, è necessario modificare il file di parametri per inserire i nomi preferiti per le risorse. A tale scopo, modificare le righe con "value": "".

  • namingInfix: prefisso per i nomi delle risorse HSM
  • ExistingVirtualNetworkName: nome della rete virtuale usata per i moduli di protezione hardware
  • DedicatedHsmResourceName1: nome della risorsa HSM nel data center 1
  • DedicatedHsmResourceName2: nome della risorsa HSM nel data center 2
  • hsmSubnetRange: intervallo di indirizzi IP della subnet per i moduli di protezione hardware
  • ERSubnetRange: intervallo di indirizzi IP della subnet per il gateway di rete virtuale

Di seguito è riportato un esempio delle modifiche:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "namingInfix": {
      "value": "MyHSM"
    },
    "ExistingVirtualNetworkName": {
      "value": "MyHSM-vnet"
    },
    "DedicatedHsmResourceName1": {
      "value": "HSM1"
    },
    "DedicatedHsmResourceName2": {
      "value": "HSM2"
    },
    "hsmSubnetRange": {
      "value": "10.0.2.0/24"
    },
    "ERSubnetRange": {
      "value": "10.0.255.0/26"
    },
  }
}

Con queste informazioni, il file del modello di Resource Manager creerà sei risorse:

  • Una subnet per i moduli di protezione hardware nella rete virtuale specificata
  • Una subnet per il gateway di rete virtuale
  • Un gateway di rete virtuale che connette la rete virtuale ai dispositivi HSM
  • Un indirizzo IP pubblico per il gateway
  • Un modulo di protezione hardware nel data center 1
  • Un modulo di protezione hardware nel data center 2

Dopo l'impostazione dei valori dei parametri, per usare i file è necessario caricarli nella condivisione file di Cloud Shell nel portale di Azure. Nel portale di Azure fare clic sul simbolo di Cloud Shell ">_" in alto a destra. La parte inferiore della schermata si trasformerà in un ambiente di riga di comando. Le opzioni disponibili sono BASH e PowerShell. Se non è già impostato, selezionare BASH.

Sulla barra degli strumenti della shell è disponibile un'opzione per il caricamento e il download. Selezionare questa opzione per caricare i file del modello e dei parametri nella condivisione file:

file share

Dopo aver caricato i file, è possibile creare le risorse. Prima di creare le nuove risorse HSM, verificare che siano presenti alcune risorse che ne costituiscono i prerequisiti. È necessario avere una rete virtuale con intervalli di subnet per il calcolo, i moduli di protezione hardware e il gateway. I comandi seguenti offrono un esempio di come creare una rete virtuale di questo tipo.

$compute = New-AzVirtualNetworkSubnetConfig `
  -Name compute `
  -AddressPrefix 10.2.0.0/24
$delegation = New-AzDelegation `
  -Name "myDelegation" `
  -ServiceName "Microsoft.HardwareSecurityModules/dedicatedHSMs"

$hsmsubnet = New-AzVirtualNetworkSubnetConfig ` 
  -Name hsmsubnet ` 
  -AddressPrefix 10.2.1.0/24 ` 
  -Delegation $delegation 


$gwsubnet= New-AzVirtualNetworkSubnetConfig `
  -Name GatewaySubnet `
  -AddressPrefix 10.2.255.0/26


New-AzVirtualNetwork `
  -Name myHSM-vnet `
  -ResourceGroupName myRG `
  -Location westus `
  -AddressPrefix 10.2.0.0/16 `
  -Subnet $compute, $hsmsubnet, $gwsubnet

Nota

La configurazione più importante da tenere presente per la rete virtuale è l'impostazione delle deleghe della subnet per il dispositivo HSM su "Microsoft.HardwareSecurityModules/dedicatedHSMs". Senza questa impostazione, il provisioning dei moduli di protezione hardware non funzionerà.

Quando tutti i prerequisiti sono presenti, eseguire questo comando per usare il modello di Resource Manager, assicurandosi di aver aggiornato i valori con i propri nomi univoci (almeno per il nome del gruppo di risorse):


New-AzResourceGroupDeployment -ResourceGroupName myRG `
     -TemplateFile .\Deploy-2HSM-toVNET-Template.json `
     -TemplateParameterFile .\Deploy-2HSM-toVNET-Params.json `
     -Name HSMdeploy -Verbose

Il completamento di questo comando richiederà circa 20 minuti. L'opzione "-verbose" usata garantirà la visualizzazione continua dello stato.

provisioning status

Al termine verrà visualizzato "provisioningState": "Succeeded" e sarà possibile accedere alla macchina virtuale esistente e usare ssh per verificare la disponibilità del dispositivo HSM.

Verifica della distribuzione

Per verificare che i dispositivi siano stati sottoposti a provisioning e visualizzarne gli attributi, eseguire il set di comandi riportato di seguito. Assicurarsi che il gruppo di risorse sia impostato correttamente e che il nome delle risorse sia esattamente quello riportato nel file di parametri.


$subid = (Get-AzContext).Subscription.Id
$resourceGroupName = "myRG"
$resourceName = "HSM1"  
Get-AzResource -Resourceid /subscriptions/$subId/resourceGroups/$resourceGroupName/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/$resourceName

provision status

Sarà ora possibile anche visualizzare le risorse con Azure Resource Explorer. In Resource Explorer espandere "subscriptions" (sottoscrizioni) a sinistra, la sottoscrizione specifica per HSM dedicato, "resource groups" (gruppi di risorse) e quindi il gruppo di risorse usato e infine selezionare l'elemento "resources" (risorse).

Test della distribuzione

Il test della distribuzione prevede la connessione a una macchina virtuale che può accedere a uno o più moduli di protezione hardware e quindi la connessione diretta al dispositivo HSM. Queste azioni confermeranno la raggiungibilità del modulo di protezione hardware. Per la connessione alla macchina virtuale viene usato lo strumento ssh. Il comando sarà simile al seguente, ma con il nome amministratore e il nome DNS specificati nel parametro.

ssh adminuser@hsmlinuxvm.westus.cloudapp.azure.com

La password da usare è quella contenuta nel file di parametri. Dopo aver eseguito l'accesso alla macchina virtuale Linux, è possibile accedere al modulo di protezione hardware usando l'indirizzo IP privato riportato nel portale per la risorsa <prefix>hsm_vnic.


(Get-AzResource -ResourceGroupName myRG -Name HSMdeploy -ExpandProperties).Properties.networkProfile.networkInterfaces.privateIpAddress

Quando si ha l'indirizzo IP, eseguire questo comando:

ssh tenantadmin@<ip address of HSM>

Se il comando ha esito positivo, verrà richiesta una password. La password predefinita è PASSWORD. Dato che il modulo di protezione hardware chiederà di modificarla, impostare una password complessa e usare il meccanismo preferito dalla propria organizzazione per archiviare la password ed evitarne la perdita.

Importante

In caso di perdita di questa password, sarà necessario reimpostare il modulo di protezione hardware perdendo così le chiavi.

Dopo aver stabilito la connessione al dispositivo HSM con ssh, eseguire questo comando per verificare che il modulo di protezione hardware sia operativo.

hsm show

L'output sarà simile all'immagine seguente:

Screenshot that shows the output from the hsm show command.

A questo punto, sono state allocate tutte le risorse per una distribuzione a disponibilità elevata con due moduli di protezione hardware e sono stati convalidati l'accesso e lo stato operativo. Qualsiasi ulteriore configurazione o test prevede operazioni aggiuntive con il dispositivo HSM stesso. A tale scopo, seguire le istruzioni riportate nel capitolo 7 della guida all'amministrazione di Thales Luna 7 HSM per inizializzare il modulo di protezione hardware e creare partizioni. Tutta la documentazione e il software sono scaricabili direttamente da Thales dopo aver effettuato la registrazione nel portale di supporto tecnico di Thales e aver acquisito un ID cliente. Per ottenere tutti i componenti necessari, scaricare la versione 7.2 del software client.

Eliminazione o pulizia delle risorse

Se il dispositivo HSM non è più necessario, può essere eliminato come risorsa e tornare a far parte del pool libero. In questo caso, la fonte di preoccupazione è ovviamente costituita dagli eventuali dati sensibili dei clienti presenti nel dispositivo. Il modo migliore per azzerare un dispositivo consiste nell'usare tre volte una password errata per l'amministratore del modulo di protezione hardware. Si noti che non si tratta dell'amministratore dell'appliance ma dell'amministratore effettivo del modulo di protezione hardware. Come misura di sicurezza per proteggere il materiale della chiave, non è possibile eliminare il dispositivo come una risorsa di Azure finché si trova nello stato azzerato.

Nota

In caso di problemi con la configurazione del dispositivo Thales, contattare il supporto tecnico di Thales.

Se si vuole rimuovere solo la risorsa modulo di protezione hardware in Azure, è possibile usare il comando seguente sostituendo le variabili "$" con parametri univoci:


$subid = (Get-AzContext).Subscription.Id
$resourceGroupName = "myRG" 
$resourceName = "HSMdeploy"  
Remove-AzResource -Resourceid /subscriptions/$subId/resourceGroups/$resourceGroupName/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/$resourceName 

Passaggi successivi

Al termine dei passaggi di questa esercitazione, le risorse di HSM dedicato sono state sottoposte a provisioning e sono disponibili nella rete virtuale. Si è ora in condizione di completare la distribuzione con le altre risorse necessarie per l'architettura di distribuzione preferita. Per altre informazioni utili per la pianificazione della distribuzione, vedere i documenti della sezione relativa ai concetti. È consigliabile una progettazione con due moduli di protezione hardware in un'area primaria per la disponibilità a livello di rack e due moduli di protezione hardware in un'area secondaria per la disponibilità a livello di area. Il file di modello usato in questa esercitazione può essere facilmente sfruttato come base per una distribuzione con due moduli di protezione hardware, ma è necessario modificarne i parametri in base ai propri requisiti.