Disabilitare TLS e SSL legacy in Windows Server

Windows Server

Come forse saprete, soprattutto se seguite un po’ gli aspetti di sicurezza, il PCI Council in uno dei loro Data Security Standard (DSS) ha ritirato/bannato alcuni protocolli di sicurezza legacy su HTTPS, come:

  • TLS 1.0
  • TLS 1.1
  • SSL 2.0
  • SSL 3.0

Questi protocolli sono obsoleti e non supportano i moderni algoritmi crittografici, inoltre contengono vulnerabilità di sicurezza che possono essere sfruttate per effettuare attacchi di varia natura, che potrebbero portare al furto di informazioni sensibili o di natura aziendale.

Per gli utenti finali questo non significa nulla, mentre per gli amministratori IT potrebbe non significare niente, più o meno, ma tutto dipende dal dipende dal sistema operativo dove girano i web/application server e che tipo di servizi devono erogare. Per impostazione predefinita, TLS 1.2, il protocollo supportato, è presente e abilitato in tutte le nuove distribuzioni Windows e Linux.

Prima di iniziare con tutto l’entusiasmo del mondo, è fondamentale considerare alcuni aspetti. Disabilitando TLS 1.0 e 1.1 lato client, il server non sarà più in grado di comunicare con server esterni che non supportano TLS 1.2.

Quindi, il concetto è: bisogna disabilitare i protocolli legacy ma non bisogna farlo a cuor leggero se non si ha la sicurezza di quello che succede nella propria infrastruttura. In Windows Server è molto facile disabilitare questi protocolli attraverso queste chiavi di registro:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client] “DisabledByDefault”=dword:00000001
“Enabled”=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server] “DisabledByDefault”=dword:00000001
“Enabled”=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client] “DisabledByDefault”=dword:00000001
“Enabled”=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server] “DisabledByDefault”=dword:00000001
“Enabled”=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] “DisabledByDefault”=dword:00000001
“Enabled”=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] “DisabledByDefault”=dword:00000001
“Enabled”=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] “DisabledByDefault”=dword:00000001
“Enabled”=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] “DisabledByDefault”=dword:00000001
“Enabled”=dword:00000000


Salvare il file come .reg ed eseguirlo nel proprio web/application server e successivamente riavviate la macchina per applicare la modifica.

In caso di sistemi operativi più vecchi potrebbe essere necessaria l’installazione degli ultimi aggiornamenti (ricordate che Windows Server 2008 R2 che non è più supportato).

Impatto in Produzione

Cosa succede se si va disabilitare TLS su un server? Dipende se si disabilita l’ingresso o l’uscita, poiché il traffico in entrata potrebbe essere disabilitato, per i protocollo legacy, a meno che il proprio Web Server non fornisce servizi pubblici come WebServices basati su TLS 1.0 o TLS 1.1.

Per il traffico in uscita è più o meno lo stesso, perché se il server Web deve comunicare con servizi pubblici, come Azure SQL Server o Azure Storage, il “problema” dovrebbe essere spostato lato sviluppatore perché è necessario modificare il codice solo per usare il nuovo protocollo.

Office 365

Ricordate che Microsoft ha annunciato, a partire dal 13 ottobre, il ritiro di TLS 1.0 e 1.1 in Office 365, per essere sostituito con Transport Layer Security (TLS) 1.2+ per fornire la migliore crittografia e garantire il nostro servizio è più sicuro per impostazione predefinita.

Conclusioni

Come capire se il vostro web server utilizza ancora protocolli legacy? Ci sono diversi servizi pubblici, oltre a software a pagamento da far girare internamente, ma potreste partire con l’usare Why Not Padlock.