Come abilitare TLS 1.2 nei client

Si applica a: Configuration Manager (Current Branch)

Quando abiliti TLS 1.2 per l'ambiente Configuration Manager, assicurati che i client siano in grado e correttamente configurati per utilizzare TLS 1.2 prima di abilitare TLS 1.2 e disabilitare i protocolli precedenti nei server del sito e nei sistemi di siti remoti. Esistono tre attività per abilitare TLS 1.2 nei client:

  • Aggiornare Windows e WinHTTP
  • Verificare che TLS 1.2 sia abilitato come protocollo per SChannel a livello di sistema operativo
  • Aggiornare e configurare il .NET Framework per supportare TLS 1.2

Per altre informazioni sulle dipendenze per specifiche funzionalità e scenari di Configuration Manager, vedi Informazioni sull'abilitazione di TLS 1.2.

Aggiornare Windows e WinHTTP

Windows 8.1, Windows Server 2012 R2, Windows 10, Windows Server 2016 e versioni successive di Windows supportano in modo nativo TLS 1.2 per le comunicazioni client-server su WinHTTP.

Le versioni precedenti di Windows, ad esempio Windows 7 o Windows Server 2012, non abilitano TLS 1.1 o TLS 1.2 per impostazione predefinita per le comunicazioni protette con WinHTTP. Per queste versioni precedenti di Windows, installare Update 3140245 per abilitare il valore del Registro di sistema seguente, che può essere impostato per aggiungere TLS 1.1 e TLS 1.2 all'elenco dei protocolli sicuri predefiniti per WinHTTP. Con la patch installata, creare i seguenti valori del Registro di sistema:

Importante

Abilitare queste impostazioni in tutti i client che eseguono versioni precedenti di Windows prima dell’ l'abilitazione di TLS 1.2 e la disabilitazione dei protocolli precedenti nei server Gestione configurazione. In caso contrario, è possibile renderli orfani inavvertitamente.

Verificare il valore dell'impostazione del DefaultSecureProtocols Registro di sistema, ad esempio:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\
      DefaultSecureProtocols = (DWORD): 0xAA0
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\
      DefaultSecureProtocols = (DWORD): 0xAA0

Se si modifica questo valore, riavviare il computer.

L'esempio precedente mostra il valore di 0xAA0 per l'impostazione WinHTTP DefaultSecureProtocols. Aggiornamento per abilitare TLS 1.1 e TLS 1.2 come protocolli sicuri predefiniti in WinHTTP in Windows elenca il valore esadecimale per ogni protocollo. Per impostazione predefinita in Windows, questo valore è 0x0A0 per abilitare SSL 3.0 e TLS 1.0 per WinHTTP. L'esempio precedente mantiene queste impostazioni predefinite e abilita anche TLS 1.1 e TLS 1.2 per WinHTTP. Questa configurazione garantisce che la modifica non interrompa altre applicazioni che potrebbero comunque basarsi su SSL 3.0 o TLS 1.0. È possibile utilizzare il valore di 0xA00 per abilitare solo TLS 1.1 e TLS 1.2. Configuration Manager supporta il protocollo più sicuro che Windows negozia tra entrambi i dispositivi.

Se si desidera disabilitare completamente SSL 3.0 e TLS 1.0, utilizzare l'impostazione dei protocolli disabilitati SChannel in Windows. Per altre informazioni, vedere Limitare l'uso di determinati algoritmi e protocolli di crittografia in Schannel.dll.

Verificare che TLS 1.2 sia abilitato come protocollo per SChannel a livello di sistema operativo

Per la maggior parte, l'utilizzo del protocollo è controllato a tre livelli, il livello del sistema operativo, il framework o il livello di piattaforma e il livello dell'applicazione. TLS 1.2 è abilitato per impostazione predefinita a livello di sistema operativo. Dopo aver verificato che i valori del Registro di sistema .NET siano impostati per abilitare TLS 1.2 e verificare che l'ambiente usi correttamente TLS 1.2 in rete, è possibile modificare la chiave del SChannel\Protocols Registro di sistema per disabilitare i protocolli meno recenti e meno sicuri. Per altre informazioni sulla disabilitazione di TLS 1.0 e 1.1, vedere Configurazione dei protocolli Schannel nel Registro di sistema di Windows.

Aggiornare e configurare il .NET Framework per supportare TLS 1.2

Determinare la versione di .NET

Determinare innanzitutto le versioni di .NET installate. Per ultieriori informazioni, consultare Come determinare la versione e il livello di Service Pack di Microsoft .NET Framework installati.

Installare gli aggiornamenti di .NET

Installare gli aggiornamenti .NET in modo da abilitare la crittografia avanzata. Alcune versioni di .NET Framework potrebbero richiedere aggiornamenti per abilitare la crittografia avanzata. Linee guida:

  • NET Framework 4.6.2 e versioni successive supporta TLS 1.1 e TLS 1.2. Verificare le impostazioni del Registro di sistema, ma non sono necessarie modifiche aggiuntive.

    Nota

    A partire dalla versione 2107, Configuration Manager richiede Microsoft .NET Framework versione 4.6.2 per server del sito, sistemi del sito specifici, client e console. Se possibile nell'ambiente, installare la versione più recente di .NET versione 4.8.

  • Aggiornare NET Framework 4.6 e versioni precedenti per supportare TLS 1.1 e TLS 1.2. Per ulteriori informazioni, visitare Versioni e dipendenze di .NET Framework.

  • Se si usa .NET Framework 4.5.1 o 4.5.2 in Windows 8.1, Windows Server 2012 R2 o Windows Server 2012, è consigliabile installare gli aggiornamenti della sicurezza più recenti per .Net Framework 4.5.1 e 4.5.2 per assicurarsi che TLS 1.2 possa essere abilitato correttamente.

    Per riferimento, TLS 1.2 è stato introdotto per la prima volta in .Net Framework 4.5.1 e 4.5.2 con i seguenti aggiornamenti rapidi cumulativi:

Configurare per la crittografia avanzata

Configurare .NET Framework per supportare la crittografia avanzata. Impostare l'impostazione SchUseStrongCrypto del Registro di sistema su DWORD:00000001. Questo valore disabilita la crittografia di flusso RC4 e richiede un riavvio. Per altre informazioni su questa impostazione, vedere Microsoft Security Advisory 296038.

Assicurarsi di impostare le chiavi del Registro di sistema seguenti in qualsiasi computer che comunica attraverso la rete con un sistema abilitato per TLS 1.2. Ad esempio, Configuration Manager client, i ruoli del sistema del sito remoto non installati nel server del sito e il server del sito stesso.

Per le applicazioni a 32 bit in esecuzione in sistema operativo a 32 bit e per le applicazioni a 64 bit in esecuzione in sistema operativo a 64 bit, aggiornare i valori delle sottochiavi seguenti:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001

Per le applicazioni a 32 bit eseguite in sistemi operativi a 64 bit, aggiornare il valore della seguente sottochiave:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001

Nota

L'impostazione SchUseStrongCrypto consente a .NET di usare TLS 1.1 e TLS 1.2. L'impostazione SystemDefaultTlsVersions consente a .NET di usare la configurazione del sistema operativo. Per altre informazioni, vedere Procedure consigliate per TLS con .NET Framework.

Passaggi successivi