Compartilhar via


Console remoto no System Center 2012 R2

 

Aplicável a: System Center 2012 R2 Virtual Machine Manager

O Console remoto é um recurso que foi apresentado no System Center 2012 R2. O Console remoto fornece aos locatários a capacidade de acessar o console de suas máquinas virtuais em cenários quando outras ferramentas remotas (ou Área de Trabalho Remota) estão indisponíveis. Os locatários podem usar o Console remoto para acessar máquinas virtuais quando a máquina virtual estiver em uma rede isolada, uma rede não confiável ou pela Internet.

O console remoto precisa do seguinte para ser executado:

  • Microsoft® Hyper-V® Server 2012 R2

  • System Center 2012 R2 Virtual Machine Manager

  • System Center 2012 R2 Service Provider Foundation

  • Windows Azure Pack para Windows Server

System_CAPS_ICON_note.jpg Observação

Os locatários precisam de um computador cliente com suporte ao Remote Desktop Protocol 8.1. Por exemplo, os usuários que executam o Windows 8 podem atualizar para o Windows 8.1. Além disso, os clientes que usam o Windows 7 SP1 devem instalar o KB2830477.

Nesta versão, o Console remoto oferece suporte de funcionalidade limitada. Não há suporte a recursos como área de transferência, som, redirecionamento de impressora e mapeamento de unidade. O Console remoto funciona de maneira semelhante à conexão de teclado, vídeo e mouse (KVM) utilizada pelos computadores físicos.

Autenticação de usuário

O Hyper-V no Windows Server 2012 R2 oferece suporte a autenticação baseada em certificado, que é usada para garantir que os locatários tenham acesso apenas às máquinas virtuais atribuídas a eles. O portal da Web Windows Azure Pack para Windows Server, o Service Provider Foundation e o Virtual Machine Manager (VMM) autenticam e autorizam o acesso às máquinas virtuais e fornecem um token usado pelo host do Hyper-V para conceder acesso a uma única máquina virtual.

O diagrama a seguir ilustra os componentes necessários para o acesso ao Console remoto quando os locatários estão acessando uma máquina virtual por uma rede não confiável, assim como a Internet. O Gateway da Área de Trabalho Remota (Gateway RD) é omitido se esse ambiente tiver sido implantado em uma rede corporativa.

Autenticação baseada em certificado do Console Remoto

As chaves pública e privada para um certificado são usadas para estabelecer uma relação de confiança. As seções a seguir descrevem como criar os certificados necessários.

Criação de um certificado para acesso remoto

Um certificado é usado para criar uma relação de confiança entre o servidor de Gateway RD, os hosts do Hyper-V e o VMM. O certificado permite ao Gateway RD e aos hosts do Hyper-V aceitarem tokens de declarações emitidos pelo Gateway RD do VMM. É possível usar o mesmo certificado ou certificados diferentes para validação no Gateway RD e nos hosts de Hyper-V. Certificados válidos devem atender aos seguintes requisitos:

  1. O certificado não deve expirar.

  2. O campo Uso de Chave não deve conter uma assinatura digital.

  3. O campo Uso Avançado de Chave não deve conter o seguinte identificador de objeto de Autenticação de Cliente: (1.3.6.1.5.5.7.3.2)

  4. Os certificados raiz da autoridade de certificação (AC) que emitiu o certificado devem ser instalados no repositório de certificados de Autoridades de Certificação Raiz Confiáveis.

  5. O provedor de serviços de criptografia do certificado deve oferecer suporte a SHA256.

Você pode obter um certificado válido de uma autoridade de certificação comercial, uma autoridade de certificação corporativa ou usar um certificado autoassinado.

System_CAPS_ICON_note.jpg Observação

Você pode obter um certificado válido de uma autoridade de certificação comercial, uma autoridade de certificação corporativa ou usar um certificado autoassinado. Ao usar um certificado autoassinado, você deve colocar a chave pública do certificado no repositório de certificados de Autoridades de Certificação Raiz Confiáveis no Gateway RD e nos hosts do Hyper-V.

Uso da ferramenta MakeCert para criar um certificado de teste

Para fins de teste, você pode usar a ferramenta MakeCert para criar um certificado autoassinado. O MakeCert faz parte do Windows SDK.

O código a seguir fornece um exemplo de como criar um certificado autoassinado:

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"  

em que:

-sky signature Use para assinatura
-r Criar certificado autoassinado
-n “CN=Remote Console Connect” Assunto (Conexão de Console Remoto)
-pe A chave privada pode ser exportada
-a sha256 algoritmo
-len 2048 Comprimento da chave
-e

Uso de uma autoridade de certificação

Ao solicitar um certificado de uma autoridade de certificação, um arquivo .inf de modelo de certificado semelhante ao seguinte pode ser usado com a ferramenta Certreq. Para obter mais informações, consulte 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  
  

Você pode validar se um certificado em um arquivo .pfx atende aos requisitos de algoritmo e Uso Avançado de Chave executando o seguinte script do Windows PowerShell:

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

Instalando o certificado

Quando o certificado tiver sido criado, você deve instalá-lo e configurar o Virtual Machine Manager para usar o certificado para emitir tokens de declarações. A chave privada do certificado deve ser importada para o banco de dados do Virtual Machine Manager. Para isso, use o cmdlet Set-SCVMMServer do Windows PowerShell, por exemplo:

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  
  

Neste exemplo, o mesmo certificado é usado para o Gateway de Área de Trabalho Remota e para os hosts do Hyper-V, e os tokens têm um tempo de vida de dois minutos. Você pode selecionar um tempo de vida para tokens de 1 a 60 minutos.

Identifique o servidor host pelo seu domínio nome FQDN (totalmente qualificado). Como alternativa, os hosts podem ser identificados pelo endereço IPv4, pelo endereço IPv6 e pelo nome do host. A identidade do host está incluída no arquivo de protocolo RDP enviado aos locatários.

System_CAPS_ICON_note.jpg Observação

O VMMServer01.Contoso.com é usado como nome de servidor de host de exemplo. Altere para o nome real do servidor.

‎%%78%%% ‎

Quando cada host é atualizado no Virtual Machine Manager, ele instala o certificado no repositório de certificados pessoais do Hyper-V e configura o host do Hyper-V para validar tokens usando o certificado. Você pode usar o seguinte comando do Windows PowerShell para forçar uma atualização de todos os hosts do Hyper-V:

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

Hosts do Hyper-V

Na autenticação de tokens, o Hyper-V aceita apenas tokens assinados com certificados específicos e algoritmos de hash. O Virtual Machine Manager executa a configuração necessária para os hosts do Hyper-V. Somente o Hyper-V no Windows Server 2012 R2 oferece suporte à funcionalidade do Console remoto.

Ao usar um certificado autoassinado, você deve importar a chave pública do certificado para o repositório de certificados de Autoridades de Certificação Confiáveis da máquina do host do Hyper-V. O script a seguir fornece um exemplo de como usar o Windows PowerShell para importar a chave pública:

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

É necessário reiniciar o serviço Gerenciamento de Máquinas Virtuais do Hyper-V se você for instalar um certificado após a configuração do Virtual Machine Manager.

Você pode verificar se o host do Hyper-V está configurado corretamente para o Console remoto da seguinte maneira:

  1. Verifique se o certificado está no repositório de certificados Pessoal do host do Hyper-V e se ele é confiável.

  2. Verifique a configuração de hash para o certificado do emissor confiável.

O script a seguir fornece um exemplo de como usar o Windows PowerShell para verificar se o certificado foi instalado no repositório de certificados Pessoal do host do Hyper-V:

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

O script a seguir fornece um exemplo de como usar o Windows PowerShell para verificar a configuração de hash do certificado do emissor confiável:

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

A matriz TrustedIssuerCertificateHashes deve conter a impressão digital do certificado usada para conectar o Console remoto. A matriz AllowedHashAlgorithms deve estar vazia ou conter o algoritmo SHA256. Quando a matriz está vazia, o padrão é SHA256 ou SHA512.

System_CAPS_ICON_note.jpg Observação

O Virtual Machine Manager gera tokens de SHA256.

Gateway de Área de Trabalho Remota

O Gateway de Área de Trabalho Remota (Gateway RD) pode ser usado somente para acesso do console às máquinas virtuais. Ao configurar o Gateway RD, ocorre uma alteração na configuração que inutiliza o gateway para outros fins. As seguintes tarefas são concluídas quando você configura o Gateway RD:

  1. Implantar Gateway RD e instalar o plug-in de autenticação.

  2. Instalar o certificado.

  3. Configurar certificados de emissor confiável (usando WMI).

  4. Criar um certificado para o Gateway RD.

Para oferecer suporte à autenticação federada, é necessário instalar o Microsoft System Center Virtual Machine Manager Console Connect Gateway no servidor do Gateway RD. Comece criando uma máquina virtual e, depois, habilite os Serviços de Área de Trabalho Remota.

Em seguida, instale o componente System Center Virtual Machine Manager Console Connect Gateway. Você encontrará os binários de instalação para este componente na pasta de mídia de instalação do Virtual Machine Manager a seguir: CDLayout.EVAL\amd64\Setup\msi\RDGatewayFedAuth. Para uma configuração de alta disponibilidade, instale várias instâncias do Gateway de Área de Trabalho Remota com o componente Console Connect Gateway por trás de um balanceador de carga.

Em seguida, importe a chave pública do certificado para o repositório de certificados Pessoal em cada servidor do Gateway RD. Você pode fazer isso usando o Windows PowerShell como mostrado no seguinte exemplo:

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

Se estiver usando um certificado autoassinado, você deve importar a chave pública do certificado para o repositório de certificados de Autoridades de Certificação Raiz Confiáveis da conta da máquina. Você pode fazer isso usando o Windows PowerShell como mostrado no seguinte exemplo:

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

Na autenticação de tokens, o Gateway RD aceita apenas tokens assinados com certificados específicos e algoritmos de hash. Essa configuração e executada ao definir as propriedades TrustedIssuerCertificateHashes e AllowedHashAlgorithms na classe FedAuthSettings do WMI. É necessário ter credenciais administrativas para definir essas propriedades.

A propriedade TrustedIssuerCertificateHashes é uma matriz de impressões digitais de certificado armazenada no servidor do Gateway RD. Você pode usar o seguinte comando do Windows PowerShell para definir a propriedade TrustedIssuerCertificateHashes:

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

A última etapa é selecionar ou criar um certificado autoassinado para o Gateway de Área de Trabalho Remota. Para fazer isso, abra o Gerenciador de Gateway de Área de Trabalho Remota, clique com o botão direito do mouse no Gateway de Área de Trabalho Remota e clique em Propriedades. Na caixa de diálogo Propriedades, clique na guia Certificado SSL.

Esse certificado é usado pelos computadores cliente do locatário para verificar a identidade do servidor de Gateway de Área de Trabalho Remota. O nome CN do certificado deve corresponder ao FQND do servidor Gateway RD. Abra o Gerenciador de Gateway da Área de Trabalho Remota e atribua ou crie um certificado autoassinado.

System_CAPS_ICON_note.jpg Observação

Use um certificado autoassinado somente para teste. Um certificado autoassinado nunca deve ser usado em uma implantação de produção. O uso de um certificado autoassinado também requer que o certificado seja instalado em cada computador do locatário que está se conectando por meio do Gateway de Área de Trabalho Remota.

Você pode verificar a configuração do Gateway de Área de Trabalho Remota executando as seguintes etapas:

  1. Certifique-se de que o Gateway de Área de Trabalho Remota está configurado para usar o Console Connect Gateway para autenticação e autorização. Você pode fazer isso usando o Windows PowerShell como mostrado no seguinte exemplo:

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

    Verifique se as propriedades AuthenticationPlugin e AuthorizationPlugin estão definidas como FedAuthorizationPlugin.

  2. Certifique-se de que um certificado foi instalado no repositório de certificados Pessoal da conta da máquina. Você pode fazer isso usando o Windows PowerShell como mostrado no seguinte exemplo:

    PS C:\> dir cert:\localmachine\My\ | Where-Object { $_.subject -eq "CN=Remote Console Connect" }  
    
  3. Verifique a configuração do Console Connect Gateway. Você pode fazer isso usando o Windows PowerShell como mostrado no seguinte exemplo:

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

    A matriz TrustedIssuerCertificates deve conter a impressão digital do certificado para o Console Connect Gateway.

Pacote do Windows Azure para o Windows Server para Console Remoto

Você pode permitir acesso ao Console Remoto de modo planejado por meio do serviço Nuvens da Máquina Virtual no Windows Azure Pack para Windows Server. No painel do planejamento, selecione Nuvens da Máquina Virtual nos serviços planejados e Conectar ao console de máquinas virtuais em configurações adicionais.

Se você instalou um Gateway de Área de Trabalho Remota, leia o procedimento Como configurar o Windows Azure Pack para usar o Gateway de Área de Trabalho Remota.

Recomendações de segurança

É recomendável executar as seguintes tarefas para aprimorar a segurança:

Nome Ameaça Recomendação
Acesso por token O acesso ao repositório de certificados Meu pode ser usado para gerar tokens de acesso para qualquer máquina virtual. Use grupos de segurança de Active Directory para restringir acesso ao servidor do Virtual Machine Manager que gera os tokens.
Tempo de vida do Token O arquivo de Protocolo RDP contém o token EndpointFedAuth e a posse do arquivo RDP permite acesso ao console de uma máquina virtual específica. Configure um tempo de expiração curto para o token. O tempo de expiração recomendado é de um minuto. Use o cmdlet SetSCVMMServer do Windows PowerShell para definir o tempo de vida do token.
Acesso compartilhado Outro usuário solicita e acessa a sessão do console, que termina a sessão existente. Isso inclui um host que acessa o console de um usuário que está conectado e, em seguida, obtém acesso aos recursos de locatário.

As sessões do console são semelhantes às sessões de KVM (teclado, vídeo e mouse) para hosts físicos. Uma sessão de máquina virtual está disponível para todos os usuários com privilégios de operações de Leitura do console ou Leitura/Gravação do console na diretiva de autorização. Por padrão, esses privilégios são concedidos a qualquer Administrador.
Usuários de locatário:

Não permaneça conectado a uma sessão de console se não estiver trabalhando nela.

Verifique se o sistema operacional é bloqueado após um curto período de inatividade.

Provedores de serviço de hospedagem:

Use as políticas de autorização para restringir o acesso de leitura e gravação.
Usuários mal-intencionados Usuários mal-intencionados podem tentar se conectar às portas por meio do Gateway de Área de Trabalho Remota quando não estão autorizados. Por exemplo, um usuário mal-intencionado pode tentar se conectar à porta RDP em um host Hyper-V para tentar combinações de nome de usuário e senha. Configure políticas de autorização de recursos de Área de Trabalho Remota no servidor Gateway de Área de Trabalho Remota para bloquear os usuários de se conectarem diretamente à porta 3389 no servidor Hyper-V. As conexões são necessárias somente à porta 2179. Para obter mais informações, consulte Gerenciar Políticas de Alocação de Recursos da Área de Trabalho Remota.
Ataque a intermediários Um problema de segurança que o Hyper-V foi projetado para tratar é oferecer melhor proteção contra ataques a “intermediários” (também conhecido como MITM). O uso de certificados confiáveis para identificar o host Hyper-V pode ajudar a proteger contra ataques a MITM. O Hyper-V usa um ouvinte de porta única que utiliza certificados confiáveis para autenticação de servidor. Em determinadas circunstâncias, o Hyper-V emite um certificado autoassinado que é usado para autenticação de servidor. Como alternativa para essa abordagem, você pode configurar o Hyper-V para usar um certificado diferente, como um emitido por uma autoridade de certificação (CA). Use um certificado do host Hyper-V com uma cadeia de certificados válida que esteja conectada a um certificado raiz confiável. Isso impede a exibição de uma mensagem de erro afirmando que não é possível verificar a identidade do computador remoto. Para obter mais informações, consulte Configuring Certificates for Virtual Machine Connection (Configurando certificados para conexão de máquina virtual).
Monitoração da sessão Quando uma conexão de console está ativa, a equipe do host pode fazer um instantâneo da máquina virtual e exportar a máquina virtual para outro servidor, ou coletar imagens em miniatura do console. Use as políticas de autorização para restringir o acesso de leitura e gravação. Divulgue para os locatários as situações em que sua equipe poderia acessar sessões de console.
Configuração de rede Um usuário mal-intencionado pode usar propriedades no arquivo RDP para aprofundar-se em uma configuração de rede. Determine se o nome do host ou endereço IP deve ser usado para se conectar a um servidor que executa o Hyper-V. Essas informações estão incluídas no arquivo RDP que é enviado para o consumidor do serviço. Também está no certificado apresentado pelo servidor com o Hyper-V, quando a conexão de console é iniciada.

Defina a configuração de rede para garantir que os servidores com o Hyper-V não fiquem acessíveis diretamente a partir da Internet ou da máquina virtual de um usuário. Um endereço IP (em especial, um endereço IPv6) reduz a quantidade de informações divulgadas.

Consulte também

Como configurar o Windows Azure Pack para usar o Gateway de Área de Trabalho Remota