Machines virtuelles dotées d’une protection maximale pour les locataires - Création de données de protection maximale pour définir une VM dotée d’une protection maximale
Un fichier de données de protection (également appelé « fichier de données d’approvisionnement » ou « fichier PDK ») est un fichier chiffré créé par un locataire ou un propriétaire de machine virtuelle pour protéger les informations clés de configuration de la machine virtuelle, telles que le mot de passe de l’administrateur, les certificats RDP et autres certificats liés aux identités, les informations d’identification de jonction de domaine, etc. Cette rubrique fournit des informations sur la création d’un fichier de données de protection. Avant de pouvoir créer le fichier, vous devez obtenir un disque de modèle auprès de votre fournisseur de services d’hébergement, ou créer un disque de modèle comme décrit dans Machines virtuelles dotées d’une protection maximale pour les locataires - Création d’un disque de modèle (facultatif).
Pour obtenir la liste et le diagramme du contenu d’un fichier de données de protection, consultez En quoi consistent les données de protection et pourquoi sont-elles nécessaires ?.
Important
Les étapes de cette section doivent être effectuées sur une machine de confiance séparée, en dehors de la structure de protection maximale. En règle générale, le propriétaire VM (locataire) crée les données de protection pour ses machines virtuelles, et non les administrateurs de structure.
Pour préparer la création d’un fichier de données de protection, effectuez les étapes suivantes :
- Obtenir un certificat pour la connexion Bureau à distance
- Créer un fichier de réponses
- Obtenir le fichier du catalogue de signatures de volume
- Sélectionner des structures approuvées
Vous pouvez ensuite créer le fichier de données de protection :
(Facultatif) Obtenir un certificat pour la connexion Bureau à distance
Comme les locataires peuvent uniquement se connecter à leurs machines virtuelles dotées d’une protection maximale en utilisant une connexion Bureau à distance ou d’autres outils de gestion à distance, les locataires doivent pouvoir vérifier qu’ils se connectent au bon point de terminaison (autrement dit, qu’il n’y a pas de « man in the middle » interceptant la connexion).
Pour vérifier que vous vous connectez au serveur prévu, vous pouvez installer et configurer un certificat que les services Bureau à distance doivent présenter quand vous lancez une connexion. La machine cliente qui se connecte au serveur vérifie si elle approuve le certificat et affiche un avertissement si ce n’est pas le cas. En règle générale, pour que le client qui se connecte approuve le certificat, des certificats RDP sont émis à partir de l’infrastructure PKI du locataire. Plus d’informations sur l’utilisation de certificats dans les services Bureau à distance sont disponibles sur TechNet.
Pour vous aider à savoir si vous avez besoin d’un certificat RDP personnalisé, tenez compte des éléments suivants :
- Si vous testez simplement les machines virtuelles dotées d’une protection maximale dans un environnement lab, vous n’avez pas besoin d’un certificat RDP personnalisé.
- Si votre machine virtuelle est configurée pour rejoindre un domaine Active Directory, un certificat d’ordinateur est généralement émis automatiquement par l’autorité de certification de votre organisation et utilisé pour identifier l’ordinateur pendant les connexions RDP. Vous n’avez pas besoin d’un certificat RDP personnalisé.
- Si votre machine virtuelle n’est pas jointe à un domaine, mais que vous voulez un moyen de vérifier que vous vous connectez à la machine appropriée quand vous utilisez les services Bureau à distance, vous devez utiliser des certificats RDP personnalisés.
Conseil
Quand vous sélectionnez un certificat RDP à ajouter à votre fichier de données de protection, veillez à utiliser un certificat générique. Avec un seul fichier de données de protection, vous pouvez créer un nombre illimité de machines virtuelles. Comme chaque machine virtuelle partage le même certificat, un certificat générique garantit la validité du certificat, quel que soit le nom d’hôte de la machine virtuelle.
Créer un fichier de réponses
Comme le disque de modèle signé dans VMM est généralisé, les locataires doivent fournir un fichier de réponses pour spécialiser leurs machines virtuelles dotées d’une protection maximale pendant le processus de provisionnement. Le fichier de réponses (souvent appelé fichier d’installation sans assistance) peut configurer la machine virtuelle pour son rôle prévu, c’est-à-dire installer des fonctionnalités Windows, inscrire le certificat RDP créé à l’étape précédente et effectuer d’autres actions personnalisées. Il fournit également les informations nécessaires pour la configuration de Windows, notamment le mot de passe de l’administrateur par défaut et la clé de produit.
Pour plus d’informations sur l’obtention et l’utilisation de la fonction New-ShieldingDataAnswerFile afin de générer un fichier de réponses (fichier Unattend.xml) permettant de créer des machines virtuelles dotées d’une protection maximale, consultez Générer un fichier de réponses en utilisant la fonction New-ShieldingDataAnswerFile. Avec la fonction, vous pouvez générer plus facilement un fichier de réponses qui reflète les choix suivants :
- La machine virtuelle sera-t-elle jointe à un domaine à la fin du processus d’initialisation ?
- Utiliserez-vous une licence en volume ou une clé de produit spécifique par machine virtuelle ?
- Utilisez-vous DHCP ou une IP statique ?
- Utiliserez-vous un certificat RDP (Remote Desktop Protocol) personnalisé pour prouver que la machine virtuelle appartient à votre organisation ?
- Voulez-vous exécuter un script à la fin de l’initialisation ?
Les fichiers de réponses utilisés dans les fichiers de données de protection sont utilisés sur chaque machine virtuelle créée à partir de ce fichier de données de protection. Par conséquent, vous devez veiller à ne coder en dur aucune information propre à la machine virtuelle dans le fichier de réponses. VMM prend en charge certaines chaînes de substitution (voir le tableau ci-dessous) dans le fichier d’installation sans assistance pour gérer les valeurs de spécialisation qui peuvent changer d’une machine virtuelle à l’autre. Vous n’êtes pas obligé de vous en servir. Toutefois, si elles sont présentes, VMM les utilise.
Pendant la création d’un fichier unattend.xml pour les machines virtuelles dotées d’une protection maximale, gardez à l’esprit les restrictions suivantes :
Si vous utilisez VMM pour gérer votre centre de données, le fichier d’installation sans assistance doit entraîner la désactivation de la machine virtuelle après sa configuration. Cela doit permettre à VMM de savoir quand il doit signaler au locataire que le provisionnement de la machine virtuelle est terminé et qu’il peut l’utiliser. VMM réactive automatiquement la machine virtuelle dès qu’il détecte qu’elle a été désactivée pendant le provisionnement.
Veillez à activer RDP et la règle de pare-feu correspondante afin de pouvoir accéder à la machine virtuelle une fois qu’elle a été configurée. Vous ne pouvez pas utiliser la console VMM pour accéder aux machines virtuelles dotées d’une protection maximale. Vous avez donc besoin de RDP pour vous connecter à votre machine virtuelle. Si vous préférez gérer vos systèmes avec l’accès à distance Windows PowerShell, vérifiez que WinRM est également activé.
Les seules chaînes de substitution prises en charge dans les fichiers d’installation sans assistance de machine virtuelle dotée d’une protection maximale sont les suivantes :
Élément remplaçable Chaîne de substitution ComputerName @ComputerName@ TimeZone @TimeZone@ ProductKey @ProductKey@ IPAddr4-1 @IP4Addr-1@ IPAddr6-1 @IP6Addr-1@ MACAddr-1 @MACAddr-1@ Prefix-1-1 @Prefix-1-1@ NextHop-1-1 @NextHop-1-1@ Prefix-1-2 @Prefix-1-2@ NextHop-1-2 @NextHop-1-2@ Si vous avez plusieurs cartes réseau, vous pouvez ajouter plusieurs chaînes de substitution pour la configuration IP en incrémentant le premier chiffre. Par exemple, pour définir l’adresse IPv4, le sous-réseau et la passerelle pour 2 cartes réseau, vous devez utiliser les chaînes de substitution suivantes :
Chaîne de substitution Exemple de substitution @IP4Addr-1@ 192.168.1.10/24 @MACAddr-1@ Ethernet @Prefix-1-1@ 24 @NextHop-1-1@ 192.168.1.254 @IP4Addr-2@ 10.0.20.30/24 @MACAddr-2@ Ethernet 2 @Prefix-2-1@ 24 @NextHop-2-1@ 10.0.20.1
Quand vous utilisez des chaînes de substitution, vérifiez que les chaînes sont remplies pendant le processus de provisionnement VM. Si une chaîne comme @ProductKey@ n’est pas fournie au moment du déploiement, laissant le nœud <ProductKey> vide dans le fichier d’installation sans assistance, le processus de spécialisation échoue et vous ne pouvez pas vous connecter à votre machine virtuelle.
Notez également que les chaînes de substitution liées au réseau à la fin du tableau sont utilisées seulement si vous utilisez des pools d’adresses IP statiques VMM. Votre fournisseur de services d’hébergement doit être en mesure de vous indiquer si ces chaînes de substitution sont nécessaires. Pour plus d’informations sur les adresses IP statiques dans les modèles VMM, consultez les éléments suivants dans la documentation VMM :
- Instructions pour les pools d’adresses IP
- Configurer des pools d’adresses IP statiques dans l’infrastructure VMM
Enfin, notez que le processus de déploiement de machine virtuelle dotée d’une protection maximale chiffre uniquement le lecteur de système d’exploitation. Si vous déployez une machine virtuelle dotée d’une protection maximale avec un ou plusieurs lecteurs de données, nous vous recommandons vivement d’ajouter une commande d’installation sans assistance ou un paramètre de stratégie de groupe dans le domaine du locataire pour chiffrer automatiquement les lecteurs de données.
Obtenir le fichier du catalogue de signatures de volume
Les fichiers de données de protection contiennent également des informations sur les disques de modèle auxquels un locataire fait confiance. Les locataires acquièrent les signatures de disque des disques de modèle approuvés sous la forme d’un fichier VSC (Volume Signature Catalog). Ces signatures sont ensuite validées quand une nouvelle machine virtuelle est déployée. Si aucune des signatures du fichier de données de protection ne correspond au disque de modèle qui tente d’être déployé avec la machine virtuelle (c’est-à-dire qu’il a été modifié ou échangé avec un autre disque potentiellement malveillant), le processus de provisionnement échoue.
Important
Bien que le fichier VSC garantisse qu’un disque n’a pas été falsifié, le locataire doit toujours approuver le disque en premier lieu. Si vous êtes le locataire et que le disque de modèle est fourni par votre hébergeur, déployez une machine virtuelle de test en utilisant ce disque de modèle et exécutez vos propres outils (antivirus, analyseurs de vulnérabilité, etc.) pour vérifier que le disque est, effectivement, dans un état fiable.
Il existe deux façons d’acquérir le VSC d’un disque de modèle :
L’hébergeur (ou le locataire, s’il a accès à VMM) utilise les applets de commande PowerShell VMM pour enregistrer le VSC et le donne au locataire. Cette opération peut être effectuée sur n’importe quelle machine où la console VMM est installée et configurée pour gérer l’environnement VMM de la structure d’hébergement. Les applets de commande PowerShell pour enregistrer le VSC sont les suivantes :
$disk = Get-SCVirtualHardDisk -Name "templateDisk.vhdx" $vsc = Get-SCVolumeSignatureCatalog -VirtualHardDisk $disk $vsc.WriteToFile(".\templateDisk.vsc")
Le locataire a accès au fichier de disque de modèle. Cela peut être le cas si le locataire crée un disque de modèle pour le charger vers un fournisseur de services d’hébergement ou si le locataire peut télécharger le disque de modèle de l’hébergeur. Dans ce cas, sans VMM dans le paysage, le locataire exécute l’applet de commande suivante (installée avec la fonctionnalité Outils de machine virtuelle dotée d’une protection maximale, qui fait partie des Outils d’administration de serveur distant) :
Save-VolumeSignatureCatalog -TemplateDiskPath templateDisk.vhdx -VolumeSignatureCatalogPath templateDisk.vsc
Sélectionner des structures approuvées
Le dernier composant du fichier de données de protection concerne le propriétaire et les gardiens d’une machine virtuelle. Les gardiens sont utilisés pour désigner à la fois le propriétaire d’une machine virtuelle dotée d’une protection maximale et les structures protégées sur lesquelles elle est autorisée à s’exécuter.
Pour autoriser une structure d’hébergement à exécuter une machine virtuelle dotée d’une protection maximale, vous devez obtenir les métadonnées du gardien sur le service Guardian hôte du fournisseur de services d’hébergement. Souvent, le fournisseur de services d’hébergement vous fournit ces métadonnées par le biais de ses outils de gestion. Dans un scénario d’entreprise, vous pouvez avoir un accès direct pour obtenir vous-même les métadonnées.
Vous ou votre fournisseur de services d’hébergement pouvez obtenir les métadonnées du gardien sur SGH en effectuant une des actions suivantes :
Pour obtenir les métadonnées du gardien directement sur SGH, exécutez la commande Windows PowerShell suivante, ou accédez au site web et enregistrez le fichier XML qui s’affiche :
Invoke-WebRequest 'http://hgs.bastion.local/KeyProtection/service/metadata/2014-07/metadata.xml' -OutFile .\RelecloudGuardian.xml
Obtenez les métadonnées du gardien dans VMM avec les applets de commande VMM PowerShell :
$relecloudmetadata = Get-SCGuardianConfiguration $relecloudmetadata.InnerXml | Out-File .\RelecloudGuardian.xml -Encoding UTF8
Obtenez les fichiers de métadonnées du gardien pour chaque structure protégée sur laquelle vous voulez autoriser l’exécution de vos machines virtuelles dotées d’une protection maximale avant de continuer.
Créer un fichier de données de protection et ajouter des gardiens avec l’Assistant Fichier de données de protection
Exécutez l’Assistant Fichier de données de protection pour créer un fichier de données de protection (PDK). Ici, vous ajoutez le certificat RDP, le fichier d’installation sans assistance, les catalogues de signatures de volume, le gardien propriétaire et les métadonnées de gardien téléchargées obtenues à l’étape précédente.
Installez Outils d’administration de serveur distant> Outils d’administration des fonctionnalités > Outils de machine virtuelle dotée d’une protection maximale sur votre machine en utilisant le Gestionnaire de serveur ou la commande Windows PowerShell suivante :
Install-WindowsFeature RSAT-Shielded-VM-Tools
Ouvrez l’Assistant Fichier de données de protection à partir de la section Outils d’administration de votre menu Démarrer ou lancez l’exécutable suivant C:\Windows\System32\ShieldingDataFileWizard.exe.
Dans la première page, utilisez la deuxième zone de sélection de fichier pour choisir un emplacement et un nom de fichier pour votre fichier de données de protection. Normalement, vous devez nommer le fichier de données de protection à partir du nom de l’entité qui possède toutes les machines virtuelles créées avec ces données de protection (par exemple, HR, IT, Finance) et du rôle de charge de travail qu’elle exécute (par exemple, serveur de fichiers, serveur web ou tout autre élément configuré par le fichier d’installation sans assistance). Laissez la case d’option définie sur Données de protection pour les modèles avec protection maximale.
Remarque
Dans l’Assistant Fichier de données de protection, vous pouvez voir les deux options ci-dessous :
- Données de protection pour les modèles avec protection maximale
- Données de protection pour les machines virtuelles existantes et les modèles sans protection maximale
La première option est utilisée pour créer des machines virtuelles dotées d’une protection maximale à partir de modèles avec protection maximale. La deuxième option vous permet de créer des données de protection qui peuvent seulement être utilisées en cas de conversion de machines virtuelles existantes ou de création de machines virtuelles dotées d’une protection maximale à partir de modèles sans protection maximale.
Par ailleurs, vous devez choisir si les machines virtuelles créées à partir de ce fichier de données de protection ont réellement une protection maximale ou sont configurées en mode « chiffrement pris en charge ». Pour plus d’informations sur ces deux options, consultez Quels sont les types de machine virtuelle qu’une structure protégée peut exécuter ?.
Important
Portez une attention particulière à l’étape suivante, car elle définit le propriétaire de vos machines virtuelles dotées d’une protection maximale et les structures sur lesquelles elles sont autorisées à s’exécuter.
La possession du gardien propriétaire est nécessaire pour passer par la suite une machine virtuelle existante dotée d’une protection maximale de l’état Protection maximale à Chiffrement pris en charge ou vice-versa.Votre objectif dans cette étape est double :
Créer ou sélectionner un gardien propriétaire qui vous représente en tant que propriétaire de la machine virtuelle
Importer le gardien que vous avez téléchargé à partir du service Guardian hôte du fournisseur d’hébergement (ou le vôtre) à l’étape précédente
Pour désigner un gardien propriétaire existant, sélectionnez le gardien approprié dans le menu déroulant. Seuls les gardiens installés sur votre machine locale avec les clés privées intactes s’affichent dans cette liste. Pour créer votre propre gardien propriétaire, sélectionnez Gérer les gardiens locaux en bas à droite, puis cliquez sur Créer et terminez l’Assistant.
Ensuite, nous réimportons les métadonnées du gardien téléchargées précédemment en utilisant la page Propriétaire et gardiens. Sélectionnez Gérer les gardiens locaux en bas à droite. Utilisez la fonctionnalité Importer pour importer le fichier de métadonnées du gardien. Cliquez sur OK dès que vous avez importé ou ajouté tous les gardiens nécessaires. Une bonne pratique est de nommer les gardiens à partir du nom du fournisseur de services d’hébergement ou du centre de données d’entreprise qu’ils représentent. Enfin, sélectionnez tous les gardiens qui représentent les centres de données dans lesquels votre machine virtuelle dotée d’une protection maximale est autorisée à s’exécuter. Vous n’avez pas besoin de resélectionner le gardien propriétaire. Cliquez sur Suivant une fois que vous avez terminé.
Dans la page Qualificateurs d’ID de volume, cliquez sur Ajouter pour autoriser un disque de modèle signé dans votre fichier de données de protection. Quand vous sélectionnez un VSC dans la boîte de dialogue, il affiche des informations sur le nom de ce disque, sa version et le certificat utilisé pour le signer. Répétez ce processus pour chaque disque de modèle que vous souhaitez autoriser.
Dans la page Valeurs de spécialisation, cliquez sur Parcourir pour sélectionner votre fichier unattend.xml utilisé pour spécialiser vos machines virtuelles.
Utilisez le bouton Ajouter en bas pour ajouter au fichier PDK les fichiers supplémentaires nécessaires pendant le processus de spécialisation. Par exemple, si votre fichier d’installation sans assistance installe un certificat RDP sur la machine virtuelle (comme décrit dans Générer un fichier de réponses en utilisant la fonction New-ShieldingDataAnswerFile), vous devez ajouter ici le fichier PFX du certificat RDP et le script RDPCertificateConfig.ps1. Notez que tous les fichiers que vous spécifiez ici sont automatiquement copiés dans C:\temp\ sur la machine virtuelle créée. Votre fichier d’installation sans assistance suppose que les fichiers se trouvent dans ce dossier quand il les référence par leur chemin.
Passez en revue vos sélections dans la page suivante, puis cliquez sur Générer.
Fermez l’Assistant une fois qu’il est terminé.
Créer un fichier de données de protection et ajouter des gardiens en utilisant PowerShell
Au lieu d’utiliser l’Assistant Fichier de données de protection, vous pouvez exécuter New-ShieldingDataFile pour créer un fichier de données de protection.
Tous les fichiers de données de protection doivent être configurés avec les certificats de propriétaire et de gardien appropriés afin d’autoriser l’exécution de vos machines virtuelles dotées d’une protection maximale sur une structure protégée. Vous pouvez vérifier si des gardiens sont installés localement en exécutant Get-HgsGuardian. Les gardiens propriétaires ont des clés privées, contrairement aux gardiens de votre centre de données.
Si vous devez créer un gardien propriétaire, exécutez la commande suivante :
New-HgsGuardian -Name "Owner" -GenerateCertificates
Cette commande crée une paire de certificats de signature et de chiffrement dans le magasin de certificats de l’ordinateur local sous le dossier « Certificats locaux de machine virtuelle dotée d’une protection maximale ». Vous avez besoin des certificats de propriétaire et de leurs clés privées correspondantes pour annuler la protection maximale d’une machine virtuelle. Vérifiez donc que ces certificats sont sauvegardés et protégés contre le vol. Un attaquant ayant accès aux certificats de propriétaire peut les utiliser pour démarrer votre machine virtuelle dotée d’une protection maximale ou changer sa configuration de sécurité.
Si vous avez besoin d’importer des informations de gardien à partir d’une structure protégée où vous souhaitez exécuter votre machine virtuelle (centre de données principal, centres de données de sauvegarde, etc.), exécutez la commande suivante pour chaque fichier de métadonnées récupéré à partir de vos structures protégées.
Import-HgsGuardian -Name 'EAST-US Datacenter' -Path '.\EastUSGuardian.xml'
Conseil
Si vous avez utilisé des certificats auto-signés ou que les certificats inscrits sur SGH ont expiré, vous devez peut-être utiliser les indicateurs -AllowUntrustedRoot
et/ou -AllowExpired
avec la commande Import-HgsGuardian pour contourner les vérifications de sécurité.
Vous devez également obtenir un catalogue de signatures de volume pour chaque disque de modèle que vous souhaitez utiliser avec ce fichier de données de protection, et un fichier de réponses de données de protection pour permettre au système d’exploitation d’effectuer automatiquement ses tâches de spécialisation.
Enfin, décidez si vous souhaitez que votre machine virtuelle soit dotée d’une protection maximale ou uniquement sécurisée avec vTPM.
Utilisez -Policy Shielded
pour une machine virtuelle dotée d’une protection maximale ou -Policy EncryptionSupported
pour une machine virtuelle sécurisée avec vTPM qui autorise les connexions de console de base et PowerShell Direct.
Une fois que tout est prêt, exécutez la commande suivante pour créer votre fichier de données de protection :
$viq = New-VolumeIDQualifier -VolumeSignatureCatalogFilePath 'C:\temp\marketing-ws2016.vsc' -VersionRule Equals
New-ShieldingDataFile -ShieldingDataFilePath "C:\temp\Marketing-LBI.pdk" -Policy EncryptionSupported -Owner 'Owner' -Guardian 'EAST-US Datacenter' -VolumeIDQualifier $viq -AnswerFile 'C:\temp\marketing-ws2016-answerfile.xml'
Conseil
Si vous utilisez un certificat RDP personnalisé, des clés SSH ou d’autres fichiers qui doivent être ajoutés à votre fichier de données de protection, utilisez le paramètre -OtherFile
pour les ajouter. Vous pouvez fournir une liste de chemins de fichier séparés par des virgules, par exemple, -OtherFile "C:\source\myRDPCert.pfx", "C:\source\RDPCertificateConfig.ps1"
Dans la commande ci-dessus, le gardien nommé « Owner » (obtenu à partir de Get-HgsGuardian) peut changer la configuration de sécurité de la machine virtuelle par la suite, tandis que « EAST-US Datacenter » peut exécuter la machine virtuelle, mais pas changer ses paramètres.
Si vous avez plusieurs gardiens, séparez leurs noms par des virgules, par exemple, 'EAST-US Datacenter', 'EMEA Datacenter'
.
Le qualificateur d’ID de volume spécifie si vous approuvez uniquement la version exacte (Equals) du disque de modèle ou les versions futures (GreaterThanOrEquals) également.
Le nom du disque et le certificat de signature doivent correspondre exactement pour que la comparaison de versions soit prise en compte au moment du déploiement.
Vous pouvez approuver plusieurs disques de modèle en fournissant au paramètre -VolumeIDQualifier
une liste séparée par des virgules de qualificateurs d’ID de volume.
Enfin, si vous avez d’autres fichiers qui doivent accompagner le fichier de réponses avec la machine virtuelle, utilisez le paramètre -OtherFile
et fournissez la liste des chemins de fichier séparés par des virgules.
Consultez la documentation sur les applets de commande New-ShieldingDataFile et New-VolumeIDQualifier pour en savoir plus sur les autres façons de configurer votre fichier de données de protection.