Requer TLS no RDP para todas as conexões

6

Tenho um servidor DC 2008 e um servidor AD CS 2008 e um cliente Windows 7. O que eu gostaria é requerer que o certificado seja usado quando o RDP estiver no servidor.

O certificado é válido e, se eu me conectar usando o FQDN, será mostrado que eu fui autenticado pelo certificado e pelo Kerberos, conforme o esperado. Quando me conecto apenas com o nome do host, tenho permissão para conectar-me e sou autenticado apenas pelo Kerberos, mesmo que eu tenha exigido o TLS 1.0 definido no servidor para o qual sou o RDP. Eu entendo perfeitamente que o certificado não será válido a menos que o servidor seja acessado pelo FQDN, o que eu quero fazer é desautorizar conexões que não usam o certificado E o Kerberos.

Eu pensei que a configuração Require TLS 1.0 faria isso. O que estou perdendo?

    
por MDMarra 12.11.2009 / 05:26

3 respostas

10
  1. Iniciar - > Ferramentas Administrativas - > Serviços de terminal - > Configuração dos serviços de terminal
  2. Clique com o botão direito do mouse em RDP-Tcp e escolha Propriedades
  3. "Camada de segurança" é padronizado como "Negociar" e deve ser alterado para "SSL (TLS 1.0)"
  4. "Nível de criptografia" deve ser definido como "Alto" ou "Compatível com FIPS"

Referência: link

editar: O artigo da Microsoft Technet indica que o TLS não pode ser ativado por meio da Diretiva de Grupo. No entanto, fiz algumas experiências com o Process Monitor e o Regedit e determinei que você pode alterar essas configurações definindo os valores de registro apropriados, conforme a seguir.

Para definir o nível mínimo de criptografia como "Alto" em vez de "Compatível com cliente":

HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\MinEncryptionLevel REG_DWORD Value: 3

Para definir a Camada de segurança como "SSL (TLS 1.0)" em vez de "Negociar":

HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\SecurityLayer
REG_DWORD Value: 2

    
por 03.04.2010 / 01:05
1

Para testar seu cenário, aqui está o que eu fiz:

  • Eu tenho o DC do Windows Server 2008 R2
  • Funções instaladas - > Serviços de Certificados do Active Directory, Serviços de Domínio do Active Directory, Remote Desktop Services -> Remote Desktop Web Access , Servidor Web (IIS). Como este é meu único controlador de domínio, eu tenho o servidor DNS e o servidor DHCP instalados também
  • Instalado Server Authentication Certificate no meu site do IIS, ele também hospeda o aplicativo RDWeb
  • Alterar a autenticação em RDWeb from Anonymous to Windows Authentication
  • acessou o site do próprio servidor, URL: link . Funciona bem
  • Do meu cliente (que é o Windows Server 2008 R2), tentei acessar a URL: link funciona. Além disso, tentou URL: link .. funciona.

NOTA: ainda não temos certeza se está usando o TLS 1.0

Agora, para forçar o RDWeb a funcionar somente no TLS:

  1. Abra o Regedit
  2. Ir para HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  3. Crie um novo Binary Value e nomeie-o como SSLCertificateSHA1Hash
  4. Copie a impressão digital do certificado SSL e adicione-a como o valor de SSLCertificateSHA1Hash

por exemplo:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"SSLCertificateSHA1Hash"="hex:‎23,91,fc,0e,95,ad,e9,3e,fa,df,3d,54,54,f0,99,dc,cd,70,5c,5c"

Agora, acesse o URL do site: link enquanto o rastreia usando o violinista, vemos todas as conexões HTTPS com Cipher: 0x2F. Tentei usar o URL: link o mesmo resultado.

De acordo com o link ,% CipherSuite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = {0xC0,0x2F};

Além disso, verifique este RDP com certificado personalizado em Windows 7? (Não tsconfig.msc ou configuração de Diretiva de Grupo)

Para o WMI, você pode verificar o artigo Win32_TSGeneralSetting Class

    
por 08.04.2010 / 06:26
0

Você confirmou com uma captura de pacote que o cliente não está negociando uma conexão TLS? Essa é a única maneira que eu sei para verificar definitivamente se está funcionando como esperado.

    
por 03.04.2010 / 00:53