/
/

Come applicare TLS 1.2 e disattivare i protocolli di crittografia obsoleti tramite Registro di sistema o GPO

di Team Ninja
How to Enforce TLS 1.2 and Disable Legacy Encryption Protocols via Registry or GPO blog banner image

Riepilogo

Questo post del blog NinjaOne offre un elenco completo di comandi CMD di base e un’analisi approfondita dei comandi di Windows con oltre 70 comandi cmd essenziali sia per i principianti che per gli utenti avanzati. La guida si propone si piegare in modo pratico i comandi del prompt dei comandi per la gestione dei file, la navigazione nelle directory, la risoluzione dei problemi di rete, le operazioni su disco e l’automazione, con esempi reali per migliorare la produttività. Che tu voglia imparare i comandi cmd fondamentali o padroneggiare gli strumenti avanzati della CLI di Windows, questa guida ti aiuterà a utilizzare il Prompt dei comandi in modo più efficace.

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:

  1. Apri il menu Start e cerca Windows PowerShell.
  2. Fai clic con il pulsante destro su Windows PowerShell > Esegui come amministratore.
  3. 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

}

  1. Riavvia il computer per applicare le modifiche.

Per verificare che le modifiche siano state applicate, segui questi passaggi:

  1. Apri il menu Start e cerca Prompt dei comandi.
  2. Fai clic con il pulsante destro su Prompt dei comandi > Esegui come amministratore.
  3. 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:

  1. Apri il menu Start e cerca Modifica criteri di gruppo per aprire il programma.
  2. Vai a questo percorso: Configurazione del computer > Preferenze > Impostazioni di Windows > Registro di sistema.
  3. 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

  1. Apri il menu Start e cerca Windows PowerShell.
  2. Fai clic con il pulsante destro su Windows PowerShell > Esegui come amministratore.
  3. 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

  1. Verrà generato un file JSON. Consultalo per vedere la versione del protocollo utilizzata.

Per controllare i log con il Visualizzatore eventi, segui questi passaggi:

  1. Apri il menu Start e cerca Visualizzatore eventi per aprire il programma.
  2. Vai a questo percorso: Visualizzatore eventi > Registri di Windows > Sistema.
  3. Cerca i log con origine SChannel.
  4. 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:

  1. Apri il menu Start e cerca Prompt dei comandi.
  2. Fai clic con il pulsante destro su Prompt dei comandi > Esegui come amministratore.
  3. 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:

  1. Apri il menu Start e cerca Windows PowerShell.
  2. Fai clic con il pulsante destro su Windows PowerShell > Esegui come amministratore.
  3. Digita questo script e premi Invio:

Get-ChildItem -Path "C:\inetpub\wwwroot", "C:\Program Files" -Recurse -Include *.config |

Select-String -Pattern "SecurityProtocolType"

  1. Verrà mostrato il protocollo di crittografia dell’applicazione. Contrassegna le applicazioni che usano ancora TLS 1.0/1.1.
  2. 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

ProblemaPossibili conseguenzeSoluzione
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:

CaratteristicaVantaggioIn evidenza
Script di hardeningNinjaOne 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 dispositiviI nostri strumenti possono segnalare gli endpoint non conformi.Questo semplifica l’identificazione e le attività di correzione.
Avvisi automatizzatiPuoi ricevere notifiche sull’uso di versioni TLS obsolete o sulle chiavi mancanti.Questo riduce il rischio perché consente una risposta rapida.
ReportingPuoi 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:

Ti potrebbe interessare anche

Pronto a semplificare le parti più complesse dell'IT?