Removendo a codificação vulnerável no Windows 10 interrompe o RDP de saída

14

O verificador de vulnerabilidades da TrustWave falha na verificação devido a uma máquina com Windows 10 executando o RDP:

Block cipher algorithms with block size of 64 bits (like DES and 3DES) birthday attack known as Sweet32 (CVE-2016-2183)

NOTE: On Windows 7/10 systems running RDP (Remote Desktop Protocol), the vulnerable cipher that should be disabled is labeled ‘TLS_RSA_WITH_3DES_EDE_CBC_SHA’.

Usando o IIS Crypto (da Nartac), tentei aplicar o modelo "Melhores Práticas", bem como o modelo PCI 3.1, no entanto, ambos incluem a codificação insegura (TLS_RSA_WITH_3DES_EDE_CBC_SHA):

Seeudesabilitaressacifra,oRDPdestecomputadorparamuitasestaçõesdoWindowspáradefuncionar(aindafuncionaparaalgunsservidores2008R2e2012R2).OclienteRDPsimplesmentefornece"Ocorreu um erro interno" e o log de eventos:

A fatal error occurred while creating a TLS client credential. The internal error state is 10013.

Eu verifiquei o log de eventos do servidor de um dos servidores e vejo essas duas mensagens

An TLS 1.2 connection request was received from a remote client application, but none of the cipher suites supported by the client application are supported by the server. The SSL connection request has failed.

The following fatal alert was generated: 40. The internal error state is 1205.

Como posso corrigir a vulnerabilidade de segurança sem interromper o RDP de saída?

Ou, se o acima não for possível, há algo que eu possa fazer em cada host RDP que eu não consiga mais conectar àquele endereço?

--- Atualização # 1 ---

Após desabilitar o TLS_RSA_WITH_3DES_EDE_CBC_SHA na máquina com o Windows 10, tentei conectar-me a vários hosts RDP (metade deles falhou com "An internal error ..."). Então eu comparei um desses hosts que eu posso conectar com um que eu não posso conectar. Ambos são 2008 R2. Ambos têm a mesma versão do RDP (6.3.9600, protocolo RDP 8.1 suportado).

Eu comparei os protocolos e as cifras do TLS usando o IIS Crypto para fazer "Salvar modelo" em suas configurações atuais para que eu pudesse comparar os arquivos de modelo. Eles eram idênticos! Portanto, seja qual for o problema, não parece ser uma questão de falta de uma suíte chipher no host. Aqui está uma captura de tela do Beyond Compare nos arquivos:

O que poderia ser diferente entre os dois hosts RDP que causam esse problema e como corrigi-lo?

    
por Zek 04.11.2016 / 19:20

4 respostas

3

O IIS Crypto tem a opção de definir as opções do lado do servidor (entrada) e do lado do cliente (saída). Há um punhado de cifras que você precisa deixar ativado no lado do cliente para compatibilidade.

Para fazer o que você quer, eu pessoalmente escolho o seguinte:

  • Aplicar modelo 3.1
  • Deixar todos os conjuntos de criptografia ativados
  • Aplique ao cliente e ao servidor (a caixa de seleção está marcada).
  • Clique em "aplicar" para salvar as alterações

Reinicialize aqui se desejar (e você tem acesso físico à máquina).

  • Aplicar modelo 3.1
  • Deixar todos os conjuntos de criptografia ativados
  • Aplicar ao servidor (caixa de seleção desmarcada).
  • Desmarque a opção 3DES

A reinicialização aqui deve resultar no estado final correto.

Efetivamente, você só deseja desabilitar a entrada 3DES, mas ainda permitir o uso de saída do cipher suite.

    
por 04.11.2016 / 19:38
1

Eu tive o mesmo problema, instalar o patch KB3080079 no servidor permite o suporte para os tls 1.1 e 1.2.

Observe que, para os clientes do Windows 7, você terá que instalar a atualização do cliente do rdp (KB2830477); caso contrário, somente o Windows 8+ poderá se conectar.

    
por 07.11.2016 / 08:28
1

Editar (2018-09-26): Descobri que desabilitar o 3DES no 2012R2 NÃO quebra o RDP, mas quebra o 2008 R2. As opções suportadas parecem ser diferentes entre os kernels.

Compartilharei minha resposta em um TechNet thread mas primeiro BLUF:

Conclusão do Serverfault: O mais provável é que você tenha alguma outra diferença entre os sistemas. Você está se conectando entre diferentes versões do sistema operacional, um sistema tem FIPS ativado e o outro não, ou você tem diferentes restrições de codificação em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers . Eu certamente habilitaria o logging SCHANNEL no sistema que faz trabalhar para determinar qual cifra está em uso. Gostaria de ouvir de volta se você de alguma forma tem RDP para trabalhar com uma cifra alternativa.

Cópia da postagem:

We got it to work!

Apparently 2008 and 2012 have syntax issues and the 2008/7 requires a trailing /168. 2012/8.1/10 does not.

the key on 2008 looks like this: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168/168

And the key on 2012 looks like this: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168

Posso confirmar que o uso de "Triple DES 168/168" NÃO desabilita o 3DES no sistema. Você pode provar isso para si mesmo com um scanner de protocolo (como o Nessus) ou ativando o logging SCHANNEL:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL] "EventLogging"=dword:00000007

You will then have events in the SYSTEM log for example;

An SSL client handshake completed successfully. The negotiated cryptographic parameters are as follows.

Protocol: TLS 1.0 CipherSuite: 0x2f Exchange strength: 1024

Para mim, o resultado é 0xa, que o Google revela como TLS_RSA_WITH_3DES_EDE_CBC_SHA.

Quando uso "Triple DES 168" (sem o / 168), a ID de evento do sistema 36880 não aparece e a sessão do RDP é bloqueada.

De acordo com o artigo: Criptografia do sistema: use algoritmos compatíveis com FIPS para criptografia, hashing e assinatura

Remote Desktop Services (RDS) For encrypting Remote Desktop Services network communication, this policy setting supports only the Triple DES encryption algorithm.

De acordo com o artigo: "Criptografia do sistema: usar algoritmos compatíveis com FIPS para criptografia, hashing e assinatura", efeitos de configuração de segurança no Windows XP e em versões posteriores do Windows

This setting also affects Terminal Services in Windows Server 2003 and in later versions of Windows. The effect depends on whether TLS is being used for server authentication.

If TLS is being used for server authentication, this setting causes only TLS 1.0 to be used.

By default, if TLS is not being used, and this setting is not enabled on the client or on the server, the Remote Desktop Protocol (RDP) channel between the server and the client is encrypted by using the RC4 algorithm with a 128-bit key length. After you enable this setting on a Windows Server 2003-based computer, the following is true: The RDP channel is encrypted by using the 3DES algorithm in Cipher Block Chaining (CBC) mode with a 168-bit key length. The SHA-1 algorithm is used to create message digests. Clients must use the RDP 5.2 client program or a later version to connect.

Portanto, ambos suportam a ideia de que o RDP só pode utilizar o 3DES. No entanto, este artigo sugere que um maior intervalo de cifras está disponível: Validação do FIPS 140

The set of cryptographic algorithms that a Remote Desktop Protocol (RDP) server will use is scoped to: - CALG_RSA_KEYX - RSA public key exchange algorithm - CALG_3DES - Triple DES encryption algorithm - CALG_AES_128 - 128 bit AES - CALG_AES_256 - 256 bit AES - CALG_SHA1 - SHA hashing algorithm - CALG_SHA_256 - 256 bit SHA hashing algorithm - CALG_SHA_384 - 384 bit SHA hashing algorithm - CALG_SHA_512 - 512 bit SHA hashing algorithm

Por fim, não está claro se o RDP pode suportar protocolos não-3DES quando o modo FIPS está habilitado, mas as evidências sugerem que não.

Não vejo nenhuma evidência de que o Server 2012 R2 funcionaria de maneira diferente do Server 2008 R2, mas parece que o Server 2008 R2 foi baseado na conformidade com o FIPS 140-1 e o Server 2012 R2 segue o FIPS 140-2, por isso é totalmente possível que o Server 2012 R2 suporta protocolos adicionais. Você observará os protocolos adicionais no link Validação FIPS 140 .

Em conclusão: não acho que o Server 2008 R2 possa suportar o RDP no modo FIPS com o 3DES desativado. Minha recomendação é verificar se o seu sistema atende às condições de um ataque SWEET32 (mais de 768 GB enviados em uma única sessão) e se a desabilitação do 3DES vale a pena remover o recurso RDP. Existem outros utilitários para gerenciar servidores além do RDP, especialmente em um mundo onde a virtualização é altamente comum.

    
por 10.01.2017 / 23:44
0

Apparently 2008 and 2012 have syntax issues and the 2008/7 requires a trailing /168. 2012/8.1/10 does not.

a chave em 2008 é semelhante a: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ Triplo DES 168/168

** Great find eu tive exatamente o mesmo problema em alguns controladores de domínio Windows 2008 R2, estranhamente meu membro 2008R2 servidores parecem ok ... e meus servidores 2012R2 funcionam bem também. Precisa quebrar a decomposição desses DC's mais antigos :)

    
por 30.01.2017 / 12:40