Delen via


Remote Console in System Center 2012 R2

 

Gepubliceerd: maart 2016

Is van toepassing op: System Center 2012 R2 Virtual Machine Manager

Remote Console is een functie die is geïntroduceerd in System Center 2012 R2. Remote Console geeft tenants de mogelijkheid toegang te krijgen tot de console van hun virtuele machines in scenario's waarbij andere externe hulpprogramma's (of Extern bureaublad) niet beschikbaar zijn. Tenants kunnen Remote Console gebruiken om toegang te krijgen tot virtuele machines wanneer deze zich op een geïsoleerd netwerk of een niet-vertrouwd netwerk bevinden, of via internet.

Voor het uitvoeren van Remote Console is het volgende vereist:

  • Microsoft® Hyper-V® Server 2012 R2

  • System Center 2012 R2 Virtual Machine Manager

  • System Center 2012 R2 Service Provider Foundation

  • Windows Azure Pack voor WindowsServer

Notitie

Tenants moeten een clientcomputer hebben die ondersteuning biedt voor Remote Desktop Protocol 8.1. Gebruikers die Windows 8 hebben, moeten upgraden naar Windows 8.1. Daarnaast moeten clients die Windows 7 SP1 gebruiken, KB2830477 installeren.

In deze release ondersteunt Remote Console beperkte functionaliteit. Functies zoals het Klembord, geluid, printeromleiding en stationstoewijzing worden niet ondersteund. Remote Console werkt op een manier die lijkt op de toetsenbord-, video- en muisverbinding die door fysieke computers wordt gebruikt.

Gebruikersverificatie

Hyper-V in Windows Server 2012 R2 ondersteunt authenticatie via certificaten om ervoor te zorgen dat tenants alleen toegang hebben tot virtuele machines die aan hen zijn toegewezen. Het webportaal van Windows Azure Pack voor WindowsServer, Service Provider Foundation en Virtual Machine Manager (VMM) verifiëren en autoriseren de toegang tot virtuele machines en geven een token dat de Hyper-V-host gebruikt om toegang te verlenen tot één virtuele machine.

Het volgende diagram illustreert de onderdelen die nodig zijn voor Remote Console-toegang wanneer tenants een virtuele machine benaderen via een niet-vertrouwd netwerk, zoals internet. Extern bureaublad-gateway (RD-gateway) wordt weggelaten als deze omgeving wordt geïmplementeerd in een bedrijfsnetwerk.

Externe authenticatie op basis van consolecertificaat

De persoonlijke en openbare sleutel van een certificaat worden gebruikt om een vertrouwensrelatie tot stand te brengen. In de volgende secties wordt het maken van de vereiste certificaten beschreven.

Een certificaat voor externe toegang maken

Een certificaat wordt gebruikt om een vertrouwensrelatie tot stand te brengen tussen RD-gatewayserver, de Hyper-V-hosts en VMM. Dankzij het certificaat kunnen RD-gateway en de Hyper-V-hosts claimtokens accepteren die worden uitgegeven door VMM RD-gateway. Het is mogelijk dezelfde of verschillende certificaten te gebruiken voor validatie op RD-gateway en de Hyper-V-hosts. Geldige certificaten moeten aan de volgende vereisten voldoen:

  1. Het certificaat mag niet verlopen zijn.

  2. Het veld Sleutelgebruik moet een digitale handtekening bevatten.

  3. Het veld Uitgebreid sleutelgebruik moet de volgende clientverificatieobject-id bevatten: (1.3.6.1.5.5.7.3.2)

  4. De basiscertificaten voor de certificeringsinstantie (CA) die het certificaat heeft uitgegeven, moeten zijn geïnstalleerd in het certificaatarchief van vertrouwde basiscertificeringsinstanties.

  5. De cryptografieprovider voor het certificaat moet SHA256 ondersteunen.

U kunt een geldig certificaat verkrijgen van een commerciële certificeringsinstantie, een certificeringsinstantie voor ondernemingen, of een zelfondertekend certificaat gebruiken.

Notitie

U kunt een geldig certificaat verkrijgen van een commerciële certificeringsinstantie, een certificeringsinstantie voor ondernemingen, of een zelfondertekend certificaat gebruiken. Wanneer u een zelfondertekend certificaat gebruikt, moet u de openbare sleutel van het certificaat in het certificaatarchief van vertrouwde basiscertificeringsinstanties in RD-gateway en de Hyper-V-hosts plaatsen.

Het hulpprogramma MakeCert gebruiken om een testcertificaat te maken

Voor testdoeleinden kunt u het hulpprogramma MakeCert gebruiken om een zelfondertekend certificaat te maken. MakeCert maakt deel uit van de Windows-SDK.

De volgende code geeft een voorbeeld van het maken van een zelfondertekend certificaat:

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"  

waarbij:

-sky handtekening Gebruik voor ondertekenen
-r Zelfondertekend certificaat maken
-n "CN = Remote Console-verbinding" Onderwerpnaam (Remote Console-verbinding)
-pe Persoonlijke sleutel is exporteerbaar
-a sha256 algoritme
-len 2048 Sleutellengte
-e <mm/dd/jjjj> Vervaldatum
-eku 1.3.6.1.5.5.7.3.2 Enhanced Key Usage (clientverificatieobject-id)
-ss Mijn Persoonlijke sleutel opslaan in het certificaatarchief Mijn
-sy 24 Cryptografieprovidertype (ondersteunt SHA256)
“<Certificaatnaam>.cer” Naam voor de openbare sleutel

Een certificeringsinstantie (CA) gebruiken

Wanneer u een certificaat aanvraagt bij een certificeringsinstantie, kunt u een .inf-certificaatsjabloonbestand als het volgende gebruiken met het hulpprogramma Certreq. Zie Certreq voor meer informatie.

[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  
  

U kunt controleren of een certificaat in een .pfx-bestand voldoet aan de algoritme- en Enhanced Key Usage-vereisten voldoet door het volgende Windows PowerShell-script uit te voeren:

$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"  
}  
  

Het certificaat installeren

Zodra het certificaat is gemaakt, moet u het installeren en Virtual Machine Manager configureren om het certificaat te gebruiken bij het verlenen van claimtokens. De persoonlijke sleutel van het certificaat wordt vervolgens geïmporteerd in de Virtual Machine Manager-database. U doet dit met behulp van de cmdlet Set-SCVMMServer van Windows PowerShell, bijvoorbeeld zo:

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  
  

In dit voorbeeld wordt hetzelfde certificaat gebruikt voor RD-gateway als voor de Hyper-V-hosts, en hebben tokens een levensduur van twee minuten. U kunt een levensduur voor tokens selecteren van 1 tot 60 minuten.

U identificeert de hostserver door de FQDN (Fully Qualified Domain Name). Hosts kunnen ook worden geïdentificeerd met het IPv4-adres, het IPv6-adres en de hostnaam. De hostidentiteit wordt opgenomen in het RDP-bestand (Remote Desktop Protocol) dat naar tenants wordt verzonden.

Notitie

VMMServer01.Contoso.com wordt gebruikt als de voorbeeldnaam van een hostserver. Wijzig deze in de werkelijke servernaam.

RemoteConsoleConnect.pfx wordt gebruikt om het PFX-bestand te importeren waarin de certificaatsleutels worden opgeslagen in de VMM-database. ‎

Wanneer een host wordt vernieuwd in Virtual Machine Manager, wordt het certificaat geïnstalleerd in het persoonlijke certificaatarchief van de Hyper-V-host en wordt de Hyper-V-host geconfigureerd om tokens te valideren met behulp van het certificaat. U kunt de volgende Windows PowerShell-opdracht gebruiken om vernieuwing van alle Hyper-V-hosts af te dwingen:

PS C:\> Get-SCVMHost -VMMServer "VMMServer01.Contoso.com" | Read-SCVMHost  

Hyper-V-hosts

Bij het verifiëren van tokens accepteert Hyper-V alleen tokens die zijn ondertekend met behulp van specifieke certificaten en hash-algoritmen. Virtual Machine Manager voert de vereiste configuratie voor de Hyper-V-hosts uit. Alleen Hyper-V in Windows Server 2012 R2 ondersteunt Remote Console-functionaliteit.

Wanneer u een zelfondertekend certificaat gebruikt, moet u de openbare sleutel van het certificaat in het certificaatarchief van vertrouwde basiscertificeringsinstanties van de Hyper-V-host importeren. Het volgende script geeft een voorbeeld van het importeren van de openbare sleutel met Windows PowerShell:

PS C:\> Import-Certificate -CertStoreLocation cert:\LocalMachine\Root -Filepath "<certificate path>.cer"  

U moet de Hyper-V Virtual Machine Management-service opnieuw starten als u een certificaat installeert nadat u Virtual Machine Manager hebt geconfigureerd.

U kunt als volgt verifiëren dat de Hyper-V-host goed is geconfigureerd voor Remote Console:

  1. Controleer of het certificaat zich in het persoonlijke certificaatarchief van de Hyper-V-host bevindt en of het vertrouwd wordt.

  2. Controleer de hashconfiguratie van het vertrouwde-uitgeverscertificaat.

Het volgende script geeft een voorbeeld van het gebruiken van Windows PowerShell om te controleren of het certificaat is geïnstalleerd in het persoonlijke certificaatarchief van de Hyper-V-host:

PS C:\> dir cert:\localmachine\My\ | Where-Object { $_.subject -eq "CN=Remote Console Connect" }  

Het volgende script geeft een voorbeeld van het gebruiken van Windows PowerShell om de hashconfiguratie voor het vertrouwde-uitgeverscertificaat te controleren:

PS C:\> $TSData = Get-WmiObject -computername $Server -NameSpace "root\virtualization\v2" -Class "Msvm_TerminalServiceSettingData"  

De matrix TrustedIssuerCertificateHashes moet de vingerafdruk bevatten van het certificaat dat wordt gebruikt om verbinding te maken met Remote Console. De matrix AllowedHashAlgorithms moet leeg zijn of het algoritme SHA256 bevatten. Wanneer de matrix leeg is, wordt de standaardwaarde SHA256 of SHA512 gebruikt.

Notitie

Virtual Machine Manager genereert SHA256-tokens.

Extern bureaublad-gateway

Extern bureaublad-gateway (RD-gateway) kan alleen worden gebruikt voor consoletoegang tot virtuele machines. Wanneer u RD-gateway configureert, treedt er een configuratiewijziging op, waardoor de gateway onbruikbaar wordt voor andere doeleinden. De volgende taken worden uitgevoerd bij het configureren van RD-gateway:

  1. RD-gatewayserver implementeren en de authenticatie-invoegtoepassing installeren.

  2. Het certificaat installeren.

  3. Vertrouwde-uitgeverscertificaten configureren (met behulp van WMI).

  4. Een certificaat maken voor RD-Gateway.

Voor ondersteuning van federatieve authenticatie moet Microsoft System Center Virtual Machine Manager Console Connect Gateway worden geïnstalleerd op de RD-gatewayserver. Begin door een virtuele machine te maken en Extern bureaublad-services in te schakelen.

Installeer vervolgens het onderdeel Console Connect Gateway van System Center Virtual Machine Manager. De binaire installatiebestanden voor dit onderdeel bevinden zich in de volgende map van het installatiemedium van Virtual Machine Manager: CDLayout.EVAL\amd64\Setup\msi\RDGatewayFedAuth. Installeer voor een configuratie met maximale beschikbaarheid meerdere exemplaren van RD-gateway met het onderdeel Console Connect Gateway achter een load balancer.

Importeer vervolgens de openbare sleutel van het certificaat in het persoonlijke certificaatarchief op elke RD-gatewayserver. U kunt dit bereiken door Windows PowerShell te gebruiken zoals in het volgende voorbeeld:

PS C:\> Import-Certificate -CertStoreLocation cert:\LocalMachine\My -Filepath "<certificate path>.cer"  

Als u een zelfondertekend certificaat gebruikt, moet u de openbare sleutel van het certificaat in het certificaatarchief van vertrouwde basiscertificeringsinstanties van de virtuele machine importeren. U kunt dit bereiken door Windows PowerShell te gebruiken zoals in het volgende voorbeeld:

PS C:\> Import-Certificate -CertStoreLocation cert:\LocalMachine\Root -Filepath "<certificate path>.cer"  

Bij het verifiëren van tokens accepteert RD-gateway alleen tokens die zijn ondertekend met behulp van specifieke certificaten en hash-algoritmen. Deze configuratie wordt uitgevoerd door de eigenschappen TrustedIssuerCertificateHashes en AllowedHashAlgorithms in de WMI-klasse FedAuthSettings in te stellen. U moet beheerdersreferenties hebben om deze eigenschappen in te stellen.

De eigenschap TrustedIssuerCertificateHashes is een matrix met in de RD-gatewayserver opgeslagen certificaatvingerafdrukken. U kunt de volgende Windows PowerShell-opdracht gebruiken om de eigenschap TrustedIssuerCertificateHashes in te stellen:

$Server = "rdgw.contoso.com"  
$Thumbprint = "95442A6B58EB5E443313C1B4AFD2665991D354CA"  
$TSData = Get-WmiObject -computername $Server -NameSpace "root\TSGatewayFedAuth2" -Class "FedAuthSettings"  
$TSData.TrustedIssuerCertificates = $Thumbprint  
$TSData.Put()  

De laatste stap is het selecteren of maken van een zelfondertekend certificaat voor RD-gateway. U doet dit door RD-gatewaybeheer te openen, met de rechtermuisknop op Extern bureaublad-gateway te klikken en op Eigenschappen te klikken. Klik in het dialoogvenster Eigenschappen op het tabblad SSL-certificaat.

Dit certificaat wordt door clientcomputers van tenants gebruikt om de identiteit van de RD-gatewayserver te verifiëren. De CN-naam voor het certificaat moet overeenkomen met de FQDN-naam van de RD-gatewayserver. Open RD-gatewaybeheer en wijs een zelfondertekend certificaat toe of maak er een.

Notitie

Gebruik een zelfondertekend certificaat alleen voor testdoeleinden. Een zelfondertekend certificaat moet nooit worden gebruikt in een productie-implementatie. Voor het gebruiken van een zelfondertekend certificaat moet het certificaat ook worden geïnstalleerd op elke tenantcomputer die verbinding maakt via de RD-gateway.

U kunt de configuratie van RD-gateway verifiëren door de volgende stappen uit te voeren:

  1. Controleer of RD-gateway is geconfigureerd om gebruik te maken van de Console Connect Gateway voor authenticatie en autorisatie. U kunt dit bereiken door Windows PowerShell te gebruiken zoals in het volgende voorbeeld:

    PS C:\> Get-WmiObject -Namespace root\CIMV2\TerminalServices -Class Win32_TSGatewayServerSettings  
    

    Verifieer dat de eigenschappen AuthenticationPlugin en AuthorizationPlugin zijn ingesteld op FedAuthorizationPlugin.

  2. Controleer of er een certificaat is geïnstalleerd in het persoonlijke certificaatarchief voor het machineaccount. U kunt dit bereiken door Windows PowerShell te gebruiken zoals in het volgende voorbeeld:

    PS C:\> dir cert:\localmachine\My\ | Where-Object { $_.subject -eq "CN=Remote Console Connect" }  
    
  3. Controleer de configuratie van de Console Connect Gateway. U kunt dit bereiken door Windows PowerShell te gebruiken zoals in het volgende voorbeeld:

    PS C:\> Get-WmiObject -computername $Server -NameSpace "root\TSGatewayFedAuth2" -Class "FedAuthSettings"  
    

    De TrustedIssuerCertificates-matrix moet de certificaatvingerafdruk voor Console Connect Gateway bevatten.

Windows Azure Pack voor Windows Server voor Remote Console

U kunt toegang tot Remote Console inschakelen op planbasis via de Virtual Machine Cloud-service in Windows Azure Pack voor Windows Server. Selecteer in het dashboard van het plan de Virtual Machine Clouds onder planservices, en selecteer Verbinding maken met de console van virtuele machines onder aanvullende instellingen.

Als u een extern bureaublad-Gateway hebt geïnstalleerd, leest u de procedure Windows Azure Pack configureren voor het gebruik van de externe bureaublad-gateway.

Aanbevelingen voor beveiliging

Wij raden u aan de volgende taken uit te voeren voor een betere beveiliging:

Naam Bedreiging Aanbeveling
Tokentoegang Toegang tot Mijn certificaatarchief kan worden gebruikt om toegangstokens voor elke virtuele machine te genereren. Gebruik Active Directory-beveiligingsgroepen om de toegang tot de Virtual Machine Manager-server die tokens genereert, te beperken.
Levensduur van token Het RDP-bestand (Remote Desktop Protocol) bevat het EndpointFedAuth-token, en bezit van het RDP-bestand geeft toegang tot de console van een specifieke virtuele machine. Configureer een korte verlooptijd voor het token. Eén minuut is de aanbevolen verlooptijd. Gebruik de Windows PowerShell-cmdlet SetSCVMMServer om de levensduur van het token in te stellen.
Gedeelde toegang Een andere gebruiker vraagt en krijgt toegang tot de consolesessie, waardoor de bestaande sessie wordt beëindigd. Dit geldt ook voor een host die toegang krijgt tot de console van een aangemelde gebruiker en vervolgens toegang krijgt tot tenantresources.

Consolesessies lijken op KVM-sessies voor fysieke hosts. Een virtuele-machinesessie is beschikbaar voor alle gebruikers die de bevoegdheid Console Read of Console Read/Write hebben in het autorisatiebeleid. Deze bevoegdheid wordt standaard toegekend aan elke Administrator.
Tenantgebruikers:

Blijf niet aangemeld bij een consolesessie wanneer u er niet actief mee werkt.

Zorg ervoor dat het besturingssysteem wordt vergrendeld na een korte periode van inactiviteit.

Hostingserviceproviders:

Gebruik autorisatiebeleidsregels om lees- en schrijftoegang te beperken.
Kwaadwillende gebruikers Kwaadwillende gebruikers kunnen proberen via de RD-gateway verbinding te maken met poorten wanneer ze daar geen machtiging voor hebben. Zo zou een kwaadwillende gebruiker bijvoorbeeld kunnen proberen verbinding te maken met de RDP-poort op een Hyper-V-host om naam-wachtwoordcombinaties uit te proberen. Configureer Extern bureaublad-bronautorisatiebeleid in de RD-gatewayserver om te verhinderen dat gebruikers direct verbinding maken met poort 3389 op de Hyper-V-server. Er zijn alleen verbindingen nodig met poort 2179. Zie voor meer informatie RD RAP's (Remote Desktop Resource Authorization Policies) beheren.
Man-in–the-middle-aanval Een van de beveiligingsproblemen die Hyper-V moet helpen aanpakken is een betere bescherming tegen 'man-in-the-middle'-aanvallen (MITM). Het gebruiken van vertrouwde certificaten om de Hyper-V-host te identificeren kan helpen beschermen tegen MITM-aanvallen. Hyper-V gebruikt een éénpoortlistener die vertrouwde certificaten gebruikt voor serververificatie. Onder bepaalde omstandigheden geeft Hyper-V een zelfondertekend certificaat uit dat vervolgens wordt gebruikt voor serververificatie. Als alternatief voor deze benadering kunt u Hyper-V configureren om een ander certificaat te gebruiken, zoals een certificaat dat is uitgegeven door een certificeringsinstantie (CA). Gebruik een Hyper-V-hostcertificaat met een geldige certificaatketen die is verbonden met een vertrouwd basiscertificaat. Dit voorkomt dat u een foutmelding krijgt met de mededeling dat de identiteit van de externe computer niet kan worden geverifieerd. Zie voor meer informatie Configuring Certificates for Virtual Machine Connection (Certificaten configureren voor virtuele-machineverbinding)
Sessies stelen Wanneer een consolesessie actief is, kan de hoststaf een momentopname maken van de virtuele machine en de virtuele machine naar een andere server exporteren, of miniatuurafbeeldingen van de console verzamelen. Gebruik autorisatiebeleidsregels om lees- en schrijftoegang te beperken. Maak tenants bekend in welke situaties uw staf mogelijk toegang heeft tot consolesessies.
Netwerkconfiguratie Een kwaadwillende gebruiker kan eigenschappen in het RDP-bestand gebruiken om inzicht te krijgen in een netwerkconfiguratie. Bepaal of de hostnaam of het IP-adres moet worden gebruikt om verbinding te maken met een server waarop Hyper-V wordt uitgevoerd. Deze informatie wordt opgenomen in het RDP-bestand dat naar de klant van de service wordt verzonden. Deze informatie bevindt zich ook in het certificaat dat door de server met Hyper-V wordt gepresenteerd wanneer de consoleverbinding wordt geïnitieerd.

Stel de netwerkconfiguratie zo in dat servers waarop Hyper-V wordt uitgevoerd, niet rechtstreeks toegankelijk zijn via internet of vanaf de virtuele machine van een gebruiker. Door een IP-adres te gebruiken (in het bijzonder een IPv6-adres), wordt de hoeveelheid onthulde gegevens verminderd.

Zie ook

Windows Azure Pack configureren voor het gebruik van de externe bureaublad-gateway