Console distante dans System Center 2012 R2
S’applique à : System Center 2012 R2 Virtual Machine Manager
La console distante est une fonctionnalité qui a été introduite dans System Center 2012 R2. La console distante permet aux locataires d'accéder à la console de leurs ordinateurs virtuels lorsque d'autres outils à distance (ou Bureau à distance) ne sont pas disponibles. Les locataires peuvent utiliser la console distante pour accéder aux ordinateurs virtuels quand l'ordinateur virtuel se trouve sur un réseau isolé, un réseau non approuvé ou sur Internet.
La console distante doit disposer des éléments suivants pour s'exécuter :
Microsoft® Hyper-V® Server 2012 R2
System Center 2012 R2 Virtual Machine Manager
System Center 2012 R2 Service Provider Foundation
Pack Windows Azure pour Windows Server
Notes
Les locataires ont besoin d'un ordinateur client qui prend en charge le protocole RDP (Remote Desktop Protocol) 8.1. Par exemple, les utilisateurs qui exécutent Windows 8 doivent effectuer une mise à niveau vers Windows 8.1. En outre, les clients qui utilisent Windows 7 SP1 doivent installer la mise à jour KB2830477.
Dans cette version, la console distante prend en charge des fonctionnalités limitées. Les fonctionnalités telles que le Presse-papiers, l'audio, la redirection d'imprimante et le mappage de lecteurs ne sont pas prises en charge. La console à distance fonctionne d'une manière semblable à la connexion KVM (clavier, vidéo et souris) utilisée par les ordinateurs physiques.
Authentification utilisateur
Hyper-V dans Windows Server 2012 R2 prend en charge l'authentification par certificat, laquelle sert à vérifier que les locataires accèdent uniquement aux ordinateurs virtuels qui leur sont affectés. Le portail Web Pack Windows Azure pour Windows Server, Service Provider Foundation et Virtual Machine Manager (VMM) authentifient et autorisent l'accès aux ordinateurs virtuels, puis fournissent un jeton que l'ordinateur hôte Hyper-V utilise pour octroyer l'accès à un ordinateur virtuel unique.
Le diagramme suivant illustre les composants qui sont nécessaires à l'accès à la console distante lorsque les locataires accèdent à un ordinateur virtuel sur un réseau non approuvé, tel qu'Internet. La passerelle des services Bureau à distance est omise si cet environnement est déployé dans un réseau d'entreprise.
Les clés publiques et privées d'un certificat sont utilisées pour établir une relation d'approbation. Les sections suivantes décrivent la manière de créer les certificats requis.
Création d'un certificat pour l'accès à distance
Un certificat est utilisé pour créer une relation d'approbation entre le serveur de passerelle Bureau à distance, les ordinateurs hôtes Hyper-V et VMM. Le certificat permet à la passerelle des services Bureau à distance et aux ordinateurs hôtes Hyper-V d'accepter des jetons de revendications émis par la passerelle des services Bureau à distance de VMM. Il est possible d'utiliser les mêmes ou différents certificats pour la validation sur la passerelle des services Bureau à distance et les ordinateurs hôtes Hyper-V. Les certificats valides doivent respecter les critères suivants :
Le certificat ne doit pas avoir expiré.
Le champ Utilisation de la clé doit contenir une signature numérique.
Le champ Utilisation avancée de la clé doit contenir l'identificateur d'objet Authentification client suivant : (1.3.6.1.5.5.7.3.2)
Les certificats racine de l'autorité de certification qui a émis le certificat doivent être installés dans le magasin de certificats Autorités de certification racines de confiance.
Le fournisseur de services de chiffrement du certificat doit prendre en charge SHA256.
Vous pouvez obtenir un certificat valide à partir d'une autorité de certification commerciale, d'une autorité de certification d'entreprise ou à l'aide d'un certificat auto-signé.
Notes
Vous pouvez obtenir un certificat valide à partir d'une autorité de certification commerciale, d'une autorité de certification d'entreprise ou à l'aide d'un certificat auto-signé. Quand vous utilisez un certificat auto-signé, vous devez placer la clé publique du certificat dans le magasin de certificats Autorités de certification racines de confiance de la passerelle des services Bureau à distance et les ordinateurs hôtes Hyper-V.
Utilisation de l'outil MakeCert pour créer un certificat de test
À des fins de test, vous pouvez utiliser l'outil MakeCert pour créer un certificat auto-signé. MakeCert fait partie du Kit de développement logiciel Windows (SDK Windows).
Pour télécharger le SDK Windows, voir Kit de développement logiciel Windows 7.
Pour plus d'informations, voir MakeCert dans le Centre de développement Windows.
Le code suivant fournit un exemple de la façon de créer un certificat auto-signé :
makecert -n "CN=Remote Console Connect" -r -pe -a sha256 -e <mm/dd/yyyy> -len 2048 -sky signature -eku 1.3.6.1.5.5.7.3.2 -ss My -sy 24 "<CertificateName>.cer"
où :
-sky signature | Utiliser pour la signature |
-r | Créer le certificat auto-signé |
-n “CN=Remote Console Connect” | Nom du sujet (Remote Console Connect) |
-pe | La clé privée est exportable |
-a sha256 | algorithme |
-len 2048 | Longueur de la clé |
-e <jj/mm/aaaa> | Date d'expiration |
-eku 1.3.6.1.5.5.7.3.2 | Utilisation avancée de la clé (identificateur d'objet Authentification client) |
-ss My | Stocker la clé privée dans le magasin de certificats My |
-sy 24 | Type de fournisseur de services de chiffrement (prend en charge SHA256) |
"<NomCertificat>.cer" | Nom de la clé publique |
Utilisation d'une autorité de certification
Lorsque vous demandez un certificat auprès d'une autorité de certification, un fichier .inf de modèle de certificat semblable au suivant peut être utilisé avec l'outil Certreq. Pour plus d'informations, voir Certreq.
[Version]
Signature="$Windows NT$"
[NewRequest]
; Change to your,country code, company name and common name
Subject = "C=US, O=Contoso, CN=wap-rdg.contoso.com"
; Indicates both encryption and signing
KeySpec = 1
; Length of the public and private key, use 2048 or higher
KeyLength = 2048
; Certificate will be put into the local computer store
MachineKeySet = TRUE
PrivateKeyArchive = FALSE
RequestType = PKCS10
UserProtected = FALSE
; Allow the key to be shared between multiple computers
Exportable = TRUE
SMIME = False
UseExistingKeySet = FALSE
; ProviderName and ProviderType must be for a CSP that supports SHA256
ProviderName = "Microsoft Enhanced RSA and AES Cryptographic Provider"
ProviderType = 24
; KeyUsage must include DigitalSignature. 0xA0 also includes Key Encipherment
KeyUsage = 0xa0
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.2
Vous pouvez vérifier qu'un certificat inclus dans un fichier .pfx respecte les critères d'algorithme et d'utilisation avancée de la clé en exécutant le script Windows PowerShell suivant :
$cert = Get-PfxCertificate <cert.pfx>
if ($cert.PrivateKey.CspKeyContainerInfo.ProviderName -ne "Microsoft Enhanced RSA and AES Cryptographic Provider")
{
Write-Warning "CSP may not support SHA256"
}
if (! (Test-Certificate $cert -EKU "1.3.6.1.5.5.7.3.2") )
{
Write-Warning "Certificate is not valid"
}
Installation du certificat
Une fois que le certificat a été créé, vous devez l'installer et configurer Virtual Machine Manager pour utiliser le certificat et émettre les jetons de revendications. La clé privée du certificat est ensuite importée dans la base de données Virtual Machine Manager. Pour ce faire, utilisez l'applet de commande Windows PowerShell Set-SCVMMServer, par exemple :
PS C:\> $mypwd = ConvertTo-SecureString "password" -AsPlainText -Force
PS C:\> $cert = Get-ChildItem .\RemoteConsoleConnect.pfx
PS C:\> $VMMServer = VMMServer01.Contoso.com
PS C:\> Set-SCVMMServer -VMConnectGatewayCertificatePassword $mypwd -VMConnectGatewayCertificatePath $cert -VMConnectHostIdentificationMode FQDN -VMConnectHyperVCertificatePassword $mypwd -VMConnectHyperVCertificatePath $cert -VMConnectTimeToLiveInMinutes 2 -VMMServer $VMMServer
Dans cet exemple, le même certificat est utilisé pour la passerelle des services Bureau à distance et les ordinateurs hôtes Hyper-V, et les jetons ont une durée de vie limitée à deux minutes. Vous pouvez sélectionner une durée de vie des jetons comprise entre 1 et 60 minutes.
Vous identifiez le serveur hôte par son nom de domaine complet (FQDN). Les ordinateurs hôtes peuvent également être identifiés par leur adresse IPv4, leur adresse IPv6 et leur nom d'hôte. L'identité de l'ordinateur hôte est incluse dans le fichier RDP (Remote Desktop Protocol) qui est envoyé aux locataires.
Notes
VMMServer01.Contoso.com
est utilisé comme exemple de nom de serveur hôte. Remplacez-le par votre nom de serveur réel.
%%78%%%
Quand chaque ordinateur hôte est actualisé dans Virtual Machine Manager, il installe le certificat dans le magasin de certificats personnel de l'ordinateur hôte Hyper-V et configure l'hôte Hyper-V afin de valider les jetons à l'aide du certificat. Vous pouvez utiliser la commande Windows PowerShell suivante pour forcer une actualisation de tous les ordinateurs hôtes Hyper-V :
PS C:\> Get-SCVMHost -VMMServer "VMMServer01.Contoso.com" | Read-SCVMHost
Ordinateurs hôtes Hyper-V
Lors de l'authentification des jetons, Hyper-V n'accepte que les jetons qui sont signés à l'aide de certificats et d'algorithmes de hachage spécifiques. Virtual Machine Manager effectue la configuration requise pour les ordinateurs hôtes Hyper-V. Seul Hyper-V dans Windows Server 2012 R2 prend en charge les fonctionnalités de la console distante.
Quand vous utilisez un certificat auto-signé, vous devez importer la clé publique du certificat dans le magasin de certificats Autorités de certification racines de confiance de l'ordinateur hôte Hyper-V. Le script suivant fournit un exemple montrant comment utiliser Windows PowerShell pour importer la clé publique :
PS C:\> Import-Certificate -CertStoreLocation cert:\LocalMachine\Root -Filepath "<certificate path>.cer"
Vous devez redémarrer le service de gestion d’ordinateurs virtuels Hyper-V si vous installez un certificat après avoir configuré Virtual Machine Manager.
Vous pouvez vérifier que l'hôte Hyper-V est correctement configuré pour la console distante comme suit :
Vérifiez que le certificat se trouve dans le magasin de certificats personnel de l'ordinateur hôte Hyper-V et qu'il est approuvé.
Vérifiez la configuration du hachage du certificat de l'émetteur approuvé.
Le script suivant fournit un exemple montrant comment utiliser Windows PowerShell pour vérifier que le certificat est installé dans le magasin de certificats personnel de l'ordinateur hôte Hyper-V :
PS C:\> dir cert:\localmachine\My\ | Where-Object { $_.subject -eq "CN=Remote Console Connect" }
Le script suivant fournit un exemple montrant comment utiliser Windows PowerShell pour vérifier la configuration du hachage du certificat de l'émetteur approuvé :
PS C:\> $TSData = Get-WmiObject -computername $Server -NameSpace "root\virtualization\v2" -Class "Msvm_TerminalServiceSettingData"
Le tableau TrustedIssuerCertificateHashes doit contenir l'empreinte numérique du certificat utilisée pour connecter la console distante. Le tableau AllowedHashAlgorithms doit être vide ou contenir l'algorithme SHA256. Lorsque le tableau est vide, les valeurs par défaut sont SHA256 et SHA512.
Notes
Virtual Machine Manager génère des jetons SHA256.
Passerelle des services Bureau à distance
La passerelle des services Bureau à distance peut uniquement être utilisée pour l'accès de la console aux ordinateurs virtuels. Lorsque vous configurez la passerelle des services Bureau à distance, un changement de configuration se produit, ce qui rend la passerelle inutilisable à d'autres fins. Les tâches suivantes sont effectuées lors de la configuration de la passerelle des services Bureau à distance :
Déploiement de passerelle des services Bureau à distance et installation du plug-in d'authentification.
Installation du certificat.
Configuration des certificats de l'émetteur approuvé (à l'aide de WMI).
Création d'un certificat pour la passerelle des services Bureau à distance.
Pour prendre en charge l'authentification fédérée, il est nécessaire d'installer la passerelle de connexion de la console Microsoft System Center Virtual Machine Manager sur le serveur de passerelle Bureau à distance. Commencez par créer un ordinateur virtuel, puis activez les services Bureau à distance.
Installez ensuite le composant Passerelle de connexion de la console System Center Virtual Machine Manager. Vous trouverez les fichiers binaires d'installation de ce composant dans le dossier du support d'installation de Virtual Machine Manager suivant : CDLayout.EVAL\amd64\Setup\msi\RDGatewayFedAuth. Pour configurer un haut niveau de disponibilité, installez plusieurs passerelles des services Bureau à distance avec la passerelle de connexion de la console derrière un équilibrage de charge.
Ensuite, importez la clé publique du certificat dans le magasin de certificats personnel de chaque serveur de passerelle Bureau à distance. Pour ce faire, vous pouvez utiliser Windows PowerShell, comme illustré dans l'exemple suivant :
PS C:\> Import-Certificate -CertStoreLocation cert:\LocalMachine\My -Filepath "<certificate path>.cer"
Si vous utilisez un certificat auto-signé, vous devez importer la clé publique du certificat dans le magasin de certificats Autorités de certification racines de confiance du compte d'ordinateur. Pour ce faire, vous pouvez utiliser Windows PowerShell, comme illustré dans l'exemple suivant :
PS C:\> Import-Certificate -CertStoreLocation cert:\LocalMachine\Root -Filepath "<certificate path>.cer"
Lors de l'authentification des jetons, la passerelle des services Bureau à distance n'accepte que les jetons qui sont signés à l'aide de certificats et d'algorithmes de hachage spécifiques. Cette configuration est effectuée en affectant une valeur aux propriétés TrustedIssuerCertificateHashes et AllowedHashAlgorithms de la classe FedAuthSettings WMI. Vous devez disposer d'informations d'identification administratives pour définir ces propriétés.
La propriété TrustedIssuerCertificateHashes correspond à un tableau des empreintes numériques de certificats stockées sur le serveur de passerelle Bureau à distance. Vous pouvez utiliser la commande Windows PowerShell suivante pour définir la propriété TrustedIssuerCertificateHashes :
$Server = "rdgw.contoso.com"
$Thumbprint = "95442A6B58EB5E443313C1B4AFD2665991D354CA"
$TSData = Get-WmiObject -computername $Server -NameSpace "root\TSGatewayFedAuth2" -Class "FedAuthSettings"
$TSData.TrustedIssuerCertificates = $Thumbprint
$TSData.Put()
La dernière étape consiste à sélectionner ou créer un certificat auto-signé pour la passerelle des services Bureau à distance. Pour ce faire, ouvrez le Gestionnaire de passerelle Bureau à distance, cliquez avec le bouton droit sur Passerelle des services Bureau à distance, puis cliquez sur Propriétés. Dans la boîte de dialogue Propriétés, cliquez sur l’onglet Certificat SSL.
Ce certificat est utilisé par les ordinateurs clients pour vérifier l'identité du serveur de passerelle Bureau à distance. Le nom CN du certificat doit correspondre au FQDN du serveur de passerelle Bureau à distance. Ouvrez le Gestionnaire de passerelle Bureau à distance et affectez ou créez un certificat auto-signé.
Notes
Utilisez un certificat auto-signé uniquement à des fins de test. Un certificat auto-signé ne doit jamais être utilisé dans un déploiement de production. L'utilisation d'un certificat auto-signé exige également que le certificat soit installé sur chaque ordinateur client qui se connecte par l'intermédiaire de la passerelle des services Bureau à distance.
Vous pouvez vérifier la configuration de la passerelle des services Bureau à distance en procédant comme suit :
Vérifiez que la passerelle des services Bureau à distance est configurée pour utiliser la passerelle de connexion de la console pour l'authentification et l'autorisation. Pour ce faire, vous pouvez utiliser Windows PowerShell, comme illustré dans l'exemple suivant :
PS C:\> Get-WmiObject -Namespace root\CIMV2\TerminalServices -Class Win32_TSGatewayServerSettings
Vérifiez que les propriétés AuthenticationPlugin et AuthorizationPlugin ont la valeur FedAuthorizationPlugin.
Vérifiez qu'un certificat a été installé dans le magasin de certificats personnel du compte d'ordinateur. Pour ce faire, vous pouvez utiliser Windows PowerShell, comme illustré dans l'exemple suivant :
PS C:\> dir cert:\localmachine\My\ | Where-Object { $_.subject -eq "CN=Remote Console Connect" }
Vérifiez la configuration de la passerelle de connexion de la console. Pour ce faire, vous pouvez utiliser Windows PowerShell, comme illustré dans l'exemple suivant :
PS C:\> Get-WmiObject -computername $Server -NameSpace "root\TSGatewayFedAuth2" -Class "FedAuthSettings"
Le tableau TrustedIssuerCertificates doit contenir l'empreinte numérique du certificat de la passerelle de connexion de la console.
Windows Azure Pack pour Windows Server pour la console distante
Vous pouvez activer l'accès à la console distante par plan via le service des clouds d'ordinateurs virtuels dans le Pack Windows Azure pour Windows Server. Dans le tableau de bord du plan, sélectionnez Clouds d'ordinateurs virtuels sous les services de plan, puis sélectionnez Connecter à la console des ordinateurs virtuels sous les paramètres supplémentaires.
Si vous avez installé une passerelle des services Bureau à distance, lisez la procédure Comment configurer Windows Azure Pack pour utiliser la passerelle des services Bureau à distance.
Recommandations en matière de sécurité
Nous vous recommandons d'effectuer les tâches suivantes pour renforcer la sécurité :
Nom | Menace | Recommandation |
---|---|---|
Accès aux jetons | L'accès au magasin de certificats personnel peut servir à générer des jetons d'accès pour n'importe quel ordinateur virtuel. | Utilisez des groupes de sécurité Active Directory pour restreindre l'accès au serveur Virtual Machine Manager qui génère les jetons. |
Durée de vie des jetons | Le fichier RDP (Remote Desktop Protocol) contient le jeton EndpointFedAuth et le fait de le posséder permet d'accéder à la console d'un ordinateur virtuel spécifique. | Configurez un délai d'expiration court pour le jeton. Le délai d'expiration recommandé s'élève à une minute. Utilisez l'applet de commande Windows PowerShell SetSCVMMServer pour définir la durée de vie du jeton. |
Accès partagé | Un autre utilisateur fait une demande et accède à la session de la console, ce qui met fin à la session existante. Cela concerne également un ordinateur hôte qui accède à la console d'un utilisateur qui est connecté, puis qui obtient l'accès aux ressources du locataire. Les sessions de console sont similaires aux sessions KVM des hôtes physiques. Une session d'ordinateur virtuel est disponible pour tous les utilisateurs qui ont reçu le privilège des opérations de lecture de la console ou de lecture/écriture de la console dans la stratégie d'autorisation. Par défaut, ce privilège est accordé à tous les administrateurs. |
Utilisateurs locataires : ne restent pas connectés à une session de console quand ils ne travaillent pas activement. Assurez-vous que le système d'exploitation se bloque après une courte période d'inactivité. Fournisseurs de services d'hébergement : Utilisez des stratégies d'autorisation pour limiter l'accès en lecture et en écriture. |
Utilisateurs malveillants | Des utilisateurs malveillants peuvent tenter de se connecter aux ports via la passerelle des services Bureau à distance lorsqu'ils ne sont pas autorisés. Par exemple, un utilisateur malveillant peut essayer de se connecter au port RDP sur un hôte Hyper-V pour essayer des combinaisons nom d'utilisateur et mot de passe. | Configurez des stratégies d'autorisation des ressources Bureau à distance sur le serveur de passerelle Bureau à distance pour empêcher les utilisateurs de se connecter directement au port 3389 du serveur Hyper-V. Les connexions sont nécessaires uniquement sur le port 2179. Pour plus d'informations, voir Gérer les stratégies d'autorisation d'accès aux ressources via le Bureau à distance. |
Attaque de l'intercepteur | Hyper-V a été conçu pour offrir une meilleure protection contre les attaques de l'intercepteur (ou MITM). L'utilisation de certificats approuvés pour identifier l'hôte Hyper-V peut vous protéger contre des attaques de l'intercepteur. Hyper-V utilise un écouteur de port unique qui utilise des certificats approuvés pour l'authentification du serveur. Dans certaines circonstances, Hyper-V émet un certificat auto-signé qui est ensuite utilisé pour l'authentification du serveur. Comme alternative à cette approche, vous pouvez configurer Hyper-V pour qu'il utilise un certificat différent, tel que celui émis par une autorité de certification. | Utilisez un certificat d'hôte Hyper-V avec une chaîne de certificat valide qui est connectée à un certificat racine approuvé. Ainsi, un message d'erreur indiquant que l'identité de l'ordinateur distant ne peut pas être vérifiée ne s'affiche pas. Pour plus d'informations, voir Configuring Certificates for Virtual Machine Connection (Configuration de certificats pour la connexion d'ordinateurs virtuels). |
Surveillance de session | Lorsqu'une connexion de console est active, l'administrateur de l'hôte peut prendre un snapshot de l'ordinateur virtuel et exporter l'ordinateur virtuel vers un autre serveur, ou bien collecter des images miniatures de la console. | Utilisez des stratégies d'autorisation pour limiter l'accès en lecture et en écriture. Indiquez aux locataires les cas dans lesquels votre personnel peut accéder aux sessions de console. |
Configuration réseau | Un utilisateur malveillant peut utiliser des propriétés dans le fichier RDP afin de mieux comprendre une configuration réseau. | Déterminez si le nom d'hôte ou l'adresse IP doivent être utilisés pour se connecter à un serveur exécutant Hyper-V. Ces informations sont incluses dans le fichier RDP envoyé au consommateur du service. Elles se trouvent également dans le certificat présenté par le serveur exécutant Hyper-V lorsque la connexion à la console est lancée. Définissez la configuration réseau pour vous assurer que les serveurs exécutant Hyper-V ne sont pas directement accessibles sur Internet ou à partir de l'ordinateur virtuel d'un utilisateur. Une adresse IP (en particulier, une adresse IPv6) réduit la quantité d'informations indiquées. |
Voir aussi
Comment configurer Windows Azure Pack pour utiliser la passerelle des services Bureau à distance