Transport Layer Security (TLS) 1.2 è il protocollo di crittografia standard utilizzato per proteggere i dati trasmessi tra dispositivi diversi. Le versioni precedenti, come SSL 2.0, SSL 3.0, TLS 1.0 e TLS 1.1, sono state dichiarate obsolete a causa di vulnerabilità note e devono essere disattivate.
Mantenere aggiornato il protocollo di crittografia protegge i dati in transito dagli attacchi di downgrade e dalle suite di cifratura non sicure. In questo modo i tuoi dispositivi rispettano i protocolli di sicurezza standard e i moderni framework di conformità. Gli amministratori possono così ridurre la superficie di attacco del ransomware e contribuire a limitare le interruzioni di servizio.
Guida all’applicazione di TLS 1.2 su tutti i dispositivi gestiti
I protocolli di crittografia TLS possono essere abilitati nel Registro di sistema di Windows tramite Windows PowerShell o i criteri di gruppo. Gli amministratori possono verificare l’avvenuta applicazione delle modifiche con PowerShell o con il Visualizzatore eventi.
Possono inoltre contrassegnare lo stato di crittografia dei dispositivi gestiti tramite il Registro di sistema di Windows. Per le applicazioni che richiedono ancora protocolli di crittografia obsoleti, le relative impostazioni possono essere gestite con Windows PowerShell.
📌 Prerequisiti:
- Serve Windows 8.1/10/11 oppure Windows Server 2012 R2 o versioni successive.
- Serve l’accesso come amministratore a tutti i dispositivi che intendi modificare.
- È richiesto PowerShell 5.1 o versione successiva.
- I test in locale sulle app legacy possono dipendere da protocolli meno recenti. Tienilo presente prima di aggiornare il protocollo di crittografia per queste applicazioni.
💡Nota: puoi anche usare uno strumento di gestione degli endpoint come NinjaOne per distribuire, verificare e monitorare l’applicazione della configurazione.
📌 Strategie di distribuzione consigliate:
| Fai clic per scegliere un metodo | 💻 Ideale per utenti singoli | 💻💻💻 Ideale per le aziende enterprise |
| Metodo 1: modificare le impostazioni del Registro di sistema per applicare TLS 1.2 e disattivare i protocolli obsoleti | ✓ | |
| Metodo 2: applicare le impostazioni tramite criteri di gruppo | ✓ | |
| Metodo 3: verificare l’applicazione di TLS con PowerShell e i log | ✓ | |
| Metodo 4: correggere o monitorare le applicazioni che usano ancora TLS obsoleto | ✓ |
Metodo 1: modificare le impostazioni del Registro di sistema per applicare TLS 1.2 e disattivare i protocolli obsoleti
I protocolli di crittografia possono essere gestiti tramite il Registro di sistema di Windows. Le chiavi di registro interessate si trovano in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Per disattivare SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1 e abilitare TLS 1.2, segui questi passaggi:
- Apri il menu Start e cerca Windows PowerShell.
- Fai clic con il pulsante destro su Windows PowerShell > Esegui come amministratore.
- Digita questo script e premi Invio:
$base = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols"
$disableProtocols = @("SSL 2.0", "SSL 3.0", "TLS 1.0", "TLS 1.1")
$enableProtocols = @("TLS 1.2")
foreach ($protocol in $disableProtocols) {
New-Item -Path "$base\$protocol\Server" -Force
Set-ItemProperty -Path "$base\$protocol\Server" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "$base\$protocol\Server" -Name "DisabledByDefault" -Value 1 -Type DWord
New-Item -Path "$base\$protocol\Client" -Force
Set-ItemProperty -Path "$base\$protocol\Client" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "$base\$protocol\Client" -Name "DisabledByDefault" -Value 1 -Type DWord
}
foreach ($protocol in $enableProtocols) {
New-Item -Path "$base\$protocol\Server" -Force
Set-ItemProperty -Path "$base\$protocol\Server" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "$base\$protocol\Server" -Name "DisabledByDefault" -Value 0 -Type DWord
New-Item -Path "$base\$protocol\Client" -Force
Set-ItemProperty -Path "$base\$protocol\Client" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "$base\$protocol\Client" -Name "DisabledByDefault" -Value 0 -Type DWord
}
- Riavvia il computer per applicare le modifiche.
Per verificare che le modifiche siano state applicate, segui questi passaggi:
- Apri il menu Start e cerca Prompt dei comandi.
- Fai clic con il pulsante destro su Prompt dei comandi > Esegui come amministratore.
- Digita questo comando e premi Invio:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client"
Metodo 2: applicare le impostazioni tramite criteri di gruppo
Non esiste un’impostazione GPO nativa che consenta di imporre le versioni di TLS. Puoi però creare le chiavi di registro necessarie tramite i criteri di gruppo seguendo questi passaggi:
- Apri il menu Start e cerca Modifica criteri di gruppo per aprire il programma.
- Vai a questo percorso: Configurazione del computer > Preferenze > Impostazioni di Windows > Registro di sistema.
- Usando questo percorso HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols, crea le seguenti chiavi:
- SSL 2.0 – Server – Enabled (DWORD) = 0
- SSL 2.0 – Server – DisabledByDefault (DWORD) = 1
- SSL 2.0 – Client – Enabled (DWORD) = 0
- SSL 2.0 – Client – DisabledByDefault (DWORD) = 1
- SSL 3.0 – Server – Enabled (DWORD) = 0
- SSL 3.0 – Server – DisabledByDefault (DWORD) = 1
- SSL 3.0 – Client – Enabled (DWORD) = 0
- SSL 3.0 – Client – DisabledByDefault (DWORD) = 1
- TLS 1.0 – Server – Enabled (DWORD) = 0
- TLS 1.0 – Server – DisabledByDefault (DWORD) = 1
- TLS 1.0 – Client – Enabled (DWORD) = 0
- TLS 1.0 – Client – DisabledByDefault (DWORD) = 1
- TLS 1.1 – Server – Enabled (DWORD) = 0
- TLS 1.1 – Server – DisabledByDefault (DWORD) = 1
- TLS 1.1 – Client – Enabled (DWORD) = 0
- TLS 1.1 – Client – DisabledByDefault (DWORD) = 1
- TLS 1.2 – Server – Enabled (DWORD) = 1
- TLS 1.2 – Server – DisabledByDefault (DWORD) = 0
- TLS 1.2 – Client – Enabled (DWORD) = 1
- TLS 1.2 – Client – DisabledByDefault (DWORD) = 0
💡Nota: questo passaggio è facoltativo. Puoi andare in Configurazione del computer > Modelli amministrativi > Rete > Impostazioni di configurazione SSL e modificare il criterio Ordine delle suite di crittografia SSL. Rimuovi le cifrature deboli e obsolete per rafforzare ulteriormente la sicurezza del dispositivo.
Metodo 3: verificare l’applicazione di TLS con PowerShell e i log
- Apri il menu Start e cerca Windows PowerShell.
- Fai clic con il pulsante destro su Windows PowerShell > Esegui come amministratore.
- Per testare la connessione TLS, digita questo script e premi Invio:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -Uri "https://www.howsmyssl.com/a/check" -UseBasicParsing
- Verrà generato un file JSON. Consultalo per vedere la versione del protocollo utilizzata.
Per controllare i log con il Visualizzatore eventi, segui questi passaggi:
- Apri il menu Start e cerca Visualizzatore eventi per aprire il programma.
- Vai a questo percorso: Visualizzatore eventi > Registri di Windows > Sistema.
- Cerca i log con origine SChannel.
- Lì dovresti trovare log con ID evento 36874 e 36888 in caso di tentativi non riusciti o soggetti a downgrade.
Per controllare lo stato di queste chiavi di registro con il Prompt dei comandi, segui questi passaggi:
- Apri il menu Start e cerca Prompt dei comandi.
- Fai clic con il pulsante destro su Prompt dei comandi > Esegui come amministratore.
- Digita questo comando e premi Invio:
reg query HKLM\SOFTWARE\Org\TLSAudit
Usa uno strumento RMM per cercare regolarmente questa chiave su tutti i dispositivi gestiti.
Metodo 4: correggere o monitorare le applicazioni che usano ancora TLS obsoleto
Puoi usare Windows PowerShell per analizzare le applicazioni .NET e verificare l’applicazione di TLS seguendo questi passaggi:
- Apri il menu Start e cerca Windows PowerShell.
- Fai clic con il pulsante destro su Windows PowerShell > Esegui come amministratore.
- Digita questo script e premi Invio:
Get-ChildItem -Path "C:\inetpub\wwwroot", "C:\Program Files" -Recurse -Include *.config |
Select-String -Pattern "SecurityProtocolType"
- Verrà mostrato il protocollo di crittografia dell’applicazione. Contrassegna le applicazioni che usano ancora TLS 1.0/1.1.
- Se esistono eccezioni al requisito TLS 1.2, puoi registrare questa informazione nel Registro di sistema di Windows applicando questo script:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\TLSAudit" -Name "Exceptions" -Value "LegacyBackupApp"
⚠️ Risoluzione dei problemi
| Problema | Possibili conseguenze | Soluzione |
| Dopo aver disattivato i protocolli di crittografia obsoleti si verificano errori nelle app. | Non potrai utilizzare l’applicazione. | Riabilita i protocolli specifici usati da quelle app per garantire la compatibilità. |
| Le chiavi di registro risultano mancanti dopo il riavvio. | TLS non verrà aggiornato. | Verifica la precedenza dei GPO e assicurati che non ci siano interferenze da parte di software di sicurezza locali. |
| Il test con PowerShell non riesce. | Continuerai a usare protocolli di crittografia obsoleti. | Assicurati che TLS 1.2 sia supportato nell’ambiente e che lo script utilizzi il protocollo di sicurezza .NET corretto |
| Il server non usa TLS 1.2 nemmeno dopo l’aggiornamento. | Continuerai a usare protocolli di crittografia obsoleti. | Assicurati che i percorsi di registro siano applicati sia lato client sia lato server. |
Altri aspetti da considerare quando applichi TLS 1.2 e disattivi i protocolli di crittografia obsoleti
- TLS 1.3 è disponibile, ma è supportato solo in versioni specifiche di Windows 10/11 e in Windows Server 2022.
- Alcune applicazioni non funzionano se TLS 1.0/1.1 è disattivato. Esegui dei test prima di completare la distribuzione.
- Assicurati che anche i browser supportino e applichino TLS 1.2.
- Inserisci l’audit di TLS nella tua checklist di hardening degli endpoint e nella documentazione della business review trimestrale.
Guida rapida
NinjaOne può aiutarti ad applicare TLS 1.2 e a disattivare i protocolli di crittografia obsoleti tramite oggetti Criteri di gruppo (GPO) o impostazioni del Registro di sistema.
Lo script NinjaOne “Disable Weak TLS and SSL Protocols”:
- Disattiva TLS 1.0 e TLS 1.1
- Abilita TLS 1.2
- Funziona sia tramite GPO sia tramite le impostazioni del Registro di sistema
Lo script può essere eseguito sui dispositivi Windows per applicare protocolli di crittografia più robusti, migliorando la sicurezza della tua rete grazie all’eliminazione delle versioni TLS/SSL obsolete e potenzialmente vulnerabili.
I servizi NinjaOne per abilitare TLS 1.2 e disattivare i protocolli di crittografia obsoleti
NinjaOne può aiutarti ad applicare e verificare la conformità a TLS 1.2 grazie a:
| Caratteristica | Vantaggio | In evidenza |
| Script di hardening | NinjaOne può distribuire configurazioni basate su PowerShell o sul Registro di sistema. | In questo modo TLS 1.2 viene applicato in modo sicuro e uniforme su tutti i dispositivi. |
| Tagging dei dispositivi | I nostri strumenti possono segnalare gli endpoint non conformi. | Questo semplifica l’identificazione e le attività di correzione. |
| Avvisi automatizzati | Puoi ricevere notifiche sull’uso di versioni TLS obsolete o sulle chiavi mancanti. | Questo riduce il rischio perché consente una risposta rapida. |
| Reporting | Puoi generare report di conformità per l’intero tenant. | Questo semplifica gli audit e supporta le business review. |
Abilita TLS 1.2 su tutti i dispositivi gestiti e applica le raccomandazioni di sicurezza basate sulle best practice
Applicare TLS 1.2+ e disattivare i protocolli non sicuri rafforza la sicurezza degli endpoint, favorisce la conformità e riduce la superficie di attacco. Alcune applicazioni, però, potrebbero aver ancora bisogno di metodi di crittografia obsoleti. È fondamentale che gli amministratori monitorino correttamente i dispositivi gestiti e verifichino che tutto risponda alle esigenze e ai requisiti dell’organizzazione.
Articoli correlati:
