Ci sto studiando da un paio di giorni perché dobbiamo conformarci a PCI-DSS 3.1 che richiede che TLS 1.0 sia disabilitato.
Inoltre, non vogliamo ripiegare sul livello di sicurezza del PSR, che rappresenta un grave problema di sicurezza.
Sono finalmente riuscito a trovare della documentazione che conferma che TLS 1.1 e TLS 1.2 SONO supportati da RDP. Questa documentazione è nascosta in una registrazione SChannel e una specifica molto dettagliata per RDP .
C'è una completa mancanza di documentazione sul flusso principale su Technet o altri siti Microsoft, quindi spero che documentare questo qui possa aiutare alcune persone.
Estratti pertinenti dai collegamenti forniti:
Dal collegamento MSDN:
"RDP supports four External Security Protocols: TLS 1.0 ([RFC2246]) TLS 1.1 ([RFC4346])<39>, TLS 1.2 ([RFC5246])<40>"
Dal PDF delle specifiche RDP:
"When Enhanced RDP Security is used, RDP traffic is no longer protected by using the techniques
described in section 5.3. Instead, all security operations (such as encryption and decryption, data
integrity checks, and Server Authentication) are implemented by one of the following External
Security Protocols:
TLS 1.0 (see [RFC2246])
TLS 1.1 (see [RFC4346])
TLS 1.2 (see [RFC5246])
CredSSP (see [MS-CSSP])"
"<39> Section 5.4.5: TLS 1.1 is not supported by Windows NT, Windows 2000 Server, Windows XP,
Windows Server 2003, Windows Vista and Windows Server 2008.
<40> Section 5.4.5: TLS 1.2 is not supported by Windows NT, Windows 2000 Server, Windows XP,
Windows Server 2003, Windows Vista, and Windows Server 2008"
Pertanto si potrebbe concludere che è possibile utilizzare TLS 1.1 o 1.2 su Windows Server 2008 R2 secondo questa documentazione.
Tuttavia, i nostri test hanno dimostrato che NON funziona dal client RDP di Windows 7 (versione 6.3.9600) quando TLS 1.0 è disabilitato e l'opzione di sicurezza RDP è impostata per richiedere TLS 1.0.
Questo ovviamente oltre a abilitare TLS 1.1 e 1.2 che sono disattivati di default su 2008R2 - per inciso lo facciamo usando l'utilissimo strumento IIS Crypto di Nartac Software .
Quando si esamina questo problema, è utile abilitare la registrazione di SChannel per vedere più dettagli di ciò che sta accadendo quando la sessione è aperta.
È possibile impostare la registrazione SChannel modificando la chiave HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ EventLogging su 5 e riavviando.
Una volta fatto ciò, è possibile osservare gli eventi di SChannel che mostrano la versione TLS utilizzata quando viene stabilita una connessione RDP. Una volta abilitata la registrazione, è possibile osservare l'errore SChannel quando il client RDP tenta di stabilire una connessione su Windows 2008 R2 con TLS 1.0 disabilitato:
A fatal error occurred while creating an SSL server credential. The internal error state is 10013.
Ho anche provato a disabilitare TLS 1.0 su Windows Server 2012 e 2012 R2, che posso confermare che funziona perfettamente utilizzando il client RDP di Windows 7. La voce del registro SChannel mostra TLS 1.2 in uso:
An SSL server handshake completed successfully. The negotiated cryptographic parameters are as follows.
Protocol: TLS 1.2
CipherSuite: 0xC028
Exchange strength: 256
Spero che questo aiuti qualcuno che sta cercando chiarimenti in merito.
Continuerò a cercare come far funzionare RDP su TLS 1.1 e TLS 1.2 in Windows Server 2008 R2.
AGGIORNAMENTO: 2015-AGOSTO 05
Abbiamo sollevato il problema del mancato funzionamento di RDP con Server 2008 R2 con supporto Microsoft, inclusi i passaggi per la riproduzione.
Dopo diverse settimane di arretramenti, abbiamo finalmente ricevuto una telefonata oggi dal team di supporto per riconoscere che potevano effettivamente riprodurlo e questo è ora classificato come un bug. Verrà rilasciata una patch di aggiornamento, al momento prevista per ottobre 2015. Non appena avrò un articolo KB o altri dettagli, li aggiungerò a questo post.
Si spera che quelli bloccati con Windows Server 2008 R2 possano almeno risolverlo prima della scadenza di giugno 2016 una volta rilasciata la patch.
AGGIORNAMENTO: 19 settembre 2015
Microsoft ha finalmente rilasciato un articolo di supporto KB su questo qui e posso confermare che funziona bene.