Supporto per il protocollo TLS 1.2

Creato il: 03.07.2018
Molti gateway di pagamento (come ad esempio PayPal) richiedono obbligatoriamente che venga utilizzato il protocollo di protezione TLS 1.2 per le comunicazioni server-to-server, e' quindi quasi indispensabile che anche il vostro web server supporti questo tipo di protocollo

E' bene precisare subito che il supporto per questo tipo di protocollo non dipende tanto dalla piattaforma ecommerce, quanto dalla configurazione del web server.
Per questo motivo le indicazioni che forniamo nel seguito andranno quindi eventualmente inoltrate al provider, perche' si tratta di interventi/configurazioni che sono da effettuare direttamente sul server, a livello di sistema operativo.

Premessa : La piattaforma ecommerce Ready Pro e' sviluppata per funzionare su piattaforma Microsoft IIS, ed in particolare per le chiamate server-to-server verso gateway di pagamento esterni utilizza la libreria standard WinHTTP di Microsoft (winhttp.dll) che e' distribuita insieme al sistema operativo.

Per un corretto supporto di TLS 1.2 da parte del sito ecommerce e' prima di tutto importante che il sistema operativo supporti questo protocollo (ad esempio sistemi operativi molto datati come Windows Server 2003 non lo supportano) ed inoltre per alcuni gateway di pagamento (come ad esempio PayPal) e' consigliabile che TLS 1.2 sia configurato come protocollo predefinito per WinHTTP (ovvero anche se il server supporta altri protocolli come TLS 1.0 o 1.1 andrebbe "istruito" WinHTTP in modo che utilizzi in via preferenziale TLS 1.2)
Qui di seguito riportiamo alcuni suggerimenti per l'attivazione di TLS 1.2, differenziati in base al sistema operativo Windows utilizzato

Window Server 2016 - IIS 10.0
Questo sistema operativo supporta nativamente TLS 1.2, e non richiede nessun intervento o modifica (a meno che non sia stata modificata la configurazione predefinita)


Windows 2012 R2 - IIS 8.5
Questo sistema operativo supporta nativamente TLS 1.2, e non richiede nessun intervento o modifica (a meno che non sia stata modificata la configurazione predefinita)


Windows 2012 - IIS 8.0
Windows 2008 R2 - IIS 7.5
Questo sistema operativo richiede che vengano effettuate delle modifiche a livello di registro di sistema per supportare il protocollo TLS 1.2 come predefinito per WinHTTP
Le modifiche consigliate sono descritte in questo articolo di Microsoft
https://support.microsoft.com/en-ph/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in

e sono sintetizzabili in queste modifiche da apportare al registro di Windows:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800


Il valore DefaultSecureProtocols = 00000800 indica a WinHTTP di utilizzare TLS 1.2 come protocollo predefinito.
Per aggiungere il supporto anche per TLS 1.1 e' possibile utilizzare il valore 00000A00

Windows Server 2008 - IIS 7.0
Questo sistema operativo non supporta nativamente TLS 1.2
Microsoft ha rilasciato recentemente un update per supportare TLS 1.2 anche su questo vecchio sistema operativo, ma non abbiamo mai effettuato test su questa piattaforma, e quindi ad oggi non e' possibile dire se sia possibile fare funzionare correttamente TLS 1.2 su questo tipo di server: https://cloudblogs.microsoft.com/microsoftsecure/2017/07/20/tls-1-2-support-added-to-windows-server-2008/

Windows Server 2003 - IIS 6.0
Microsoft su questo sistema operativo non e' prevede il supporto per TLS 1.2

Login