Script PowerShell per professionisti IT: disattivare cipher deboli in SSL/TLS in modo facile

Quando si parla di cybersecurity, il confine tra conformità e compromesso è spesso sottile. Se lavori nel campo dell’IT, in particolare se sei un professionista IT o fai parte di un Managed Service Provider (MSP), è probabile che tu abbia seguito questa linea per un po’ di tempo. Ammettiamolo: i vecchi cipher come SSL 2.0, SSL 3.0, TLS 1.0 e TLS 1.1 non solo sono obsoleti, ma sono essenzialmente rischi per la cybersecurity in attesa di esplodere. È un problema che deve essere risolto e questo articolo è una guida passo per passo che ti permetterà di disattivare cipher deboli in SSL/TLS e di migliorare la tua sicurezza. 

Cosa sono i cipher deboli e perché dovrebbero interessarti? 

I cipher deboli sono algoritmi obsoleti utilizzati nella crittografia SSL/TLS che sono suscettibili di attacchi. I criminali informatici potrebbero sfruttare questi collegamenti deboli per compromettere i dati sensibili. Considerato il severo panorama normativo odierno, il mantenimento di questi protocolli obsoleti potrebbe comportare rischi di conformità, per non parlare del danno alla reputazione che potrebbe causare ad un’organizzazione. 

Script PowerShell per disattivare cipher deboli in SSL/TLS 

Se gestisci un’infrastruttura basata su Windows, PowerShell è il tuo migliore amico. Per coloro che desiderano immergersi subito, lo script riportato di seguito automatizza il processo di disattivazione dei cipher deboli come TLS 1.0, TLS 1.1, SSL 2.0 e SSL 3.0, abilitando invece il più robusto TLS 1.2.

Lo script per disattivare cipher deboli in SSL/TLS

Nota: Lo per disattivare cipher deboli in SSL/TLS script richiede PowerShell 5.1 e privilegi di amministratore per essere eseguito. È compatibile con Windows 10 e Windows Server 2016. Anche se può funzionare su versioni precedenti come Windows 7 o Server 2008 R2, PowerShell 5.1 è un prerequisito. 

#Requires -Version 5.1

<#
.SYNOPSIS
    Disables TLS 1.0, TLS 1.1, SSL 2.0, SSL 3.0. Enables TLS 1.2.
.DESCRIPTION
    Disables TLS 1.0, TLS 1.1, SSL 2.0, SSL 3.0. Enables TLS 1.2.
.EXAMPLE
    No Parameters Needed
    Disables TLS 1.0, TLS 1.1, SSL 2.0, SSL 3.0. Enables TLS 1.2.
.EXAMPLE
    -Restart
    Disables TLS 1.0, TLS 1.1, SSL 2.0, SSL 3.0. Enables TLS 1.2. Does Restart the computer.
.OUTPUTS
    String[]
.NOTES
    Minimum OS Architecture Supported: Windows 10, Windows Server 2016
    Could possibly run on Windows 7 and Server 2008 R2, but PowerShell 5.1 would be required.
    Release Notes:
    Initial Release
By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/terms-of-use.
    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. 
    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. 
    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. 
    Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. 
    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. 
    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. 
    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).
#>

[CmdletBinding()]
param ()

begin {
    function Test-IsElevated {
        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()
        $p = New-Object System.Security.Principal.WindowsPrincipal($id)
        $p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)
    }
}

process {
    if (-not (Test-IsElevated)) {
        Write-Error -Message "Access Denied. Please run with Administrator privileges."
        exit 1
    }
    
    @(
        [PSCustomObject]@{
            Protocol = 'SSL 2.0'
            Value    = 0
            Default  = 1
        }
        [PSCustomObject]@{
            Protocol = 'SSL 3.0'
            Value    = 0
            Default  = 1
        }
        [PSCustomObject]@{
            Protocol = 'TLS 1.0'
            Value    = 0
            Default  = 1
        }
        [PSCustomObject]@{
            Protocol = 'TLS 1.1'
            Value    = 0
            Default  = 1
        }
        [PSCustomObject]@{
            Protocol = 'TLS 1.2'
            Value    = 1
            Default  = 0
        }
    ) | ForEach-Object {
        $RegServerBase = "HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocols$($_.Protocol)Server"
        $RegClientBase = "HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocols$($_.Protocol)Client"
        
        New-Item $RegServerBase -Force -ErrorAction SilentlyContinue | Out-Null
        New-ItemProperty -Path $RegServerBase -Name 'Enabled' -Value $($_.Value) -PropertyType 'DWord' -Force -ErrorAction SilentlyContinue | Out-Null
        New-ItemProperty -Path $RegServerBase -Name 'DisabledByDefault' -Value $($_.Default) -PropertyType 'DWord' -Force -ErrorAction SilentlyContinue | Out-Null
        
        New-Item $RegClientBase -Force -ErrorAction SilentlyContinue | Out-Null
        New-ItemProperty -Path $RegClientBase -Name 'Enabled' -Value $($_.Value) -PropertyType 'DWord' -Force -ErrorAction SilentlyContinue | Out-Null
        New-ItemProperty -Path $RegClientBase -Name 'DisabledByDefault' -Value $($_.Default) -PropertyType 'DWord' -Force -ErrorAction SilentlyContinue | Out-Null

        $State = if (
            $(Get-ItemPropertyValue -Path $RegServerBase -Name 'Enabled') -eq 0 -and
            $(Get-ItemPropertyValue -Path $RegServerBase -Name 'DisabledByDefault') -eq 1
        ) { 'disabled' } else { 'enabled' }

        Write-Host "$($_.Protocol) has been $State."
    }

    Write-Host "Please reboot for settings to take effect."
}
end {}

 

Accedi a oltre 700 script nel Dojo di NinjaOne

Ottieni l’accesso

Caratteristiche principali dello script per disattivare cipher deboli in SSL/TLS 

  1. Verifica la presenza di privilegi amministrativi: Lo script per disattivare cipher deboli in SSL/TLS termina se non viene eseguito con i permessi amministrativi, in modo da salvaguardare l’esecuzione accidentale. 
  2. Modifiche al registro: Lo script apporta modifiche mirate al registro di Windows, in particolare nelle aree che gestiscono i protocolli SSL/TLS, per applicare le impostazioni di sicurezza. 
  3. Ciclo di feedback: Lo script per disattivare cipher deboli in SSL/TLS conferma quali protocolli sono stati abilitati o disabilitati. 
  4. Non sono necessari parametri: L’esecuzione dello script per disattivare cipher deboli in SSL/TLS è semplice. Se si desidera riavviare il computer dopo l’esecuzione dello script, includi il parametro -Restart.

Come possono trarre vantaggio i professionisti IT e gli MSP?

Risparmio di tempo 

Per i professionisti IT e gli MSP che gestiscono più sistemi, lo script per disattivare cipher deboli in SSL/TLS è una manna dal cielo. È possibile distribuirlo su più macchine con facilità, risparmiando innumerevoli ore di lavoro. 

Conformità 

I quadri normativi come PCI DSS richiedono che i cipher deboli siano disattivati. Lo script per disattivare cipher deboli in SSL/TLS offre una soluzione unica per raggiungere la conformità con il minimo sforzo. 

Scalabilità 

Lo script per disattivare cipher deboli in SSL/TLS può essere incorporato in flussi di lavoro di automazione più ampi, rendendolo uno strumento versatile per scalare le operazioni di sicurezza. 

Riduzione dei rischi 

Disabilitando i cipher deboli in SSL/TLS, si riducono i rischi di violazione dei dati e di attacchi informatici, migliorando così la sicurezza dell’organizzazione.

Integrazione dello script per disattivare cipher deboli in SSL/TLS con NinjaOne per semplificare le operazioni 

Se sei un professionista IT o fai parte di un MSP, è molto probabile che tu conosca già NinjaOne. Le capacità della nostra piattaforma possono andare ben oltre le consuete funzioni di ticketing, patch management e inventario che si possono associare ad un RMM.  

Ecco come integrare lo script PowerShell per disattivare cipher deboli in SSL/TLS nella tua configurazione NinjaOne:

Distribuzione centralizzata 

NinjaOne offre la distribuzione centralizzata degli script, consentendo di eseguire lo script PowerShell su più endpoint contemporaneamente. Passa alla sezione “Scripting”, carica lo script disattivare cipher deboli in SSL/TLS ed eseguilo sui sistemi che gestisci, il tutto da un’unica dashboard. 

Esecuzione programmata 

Imposta le pianificazioni all’interno di NinjaOne per eseguire lo script per disattivare cipher deboli in SSL/TLS a orari prestabiliti. Ciò è particolarmente utile per i nuovi dispositivi che si aggiungono alla rete o per applicare periodicamente gli standard di conformità. 

Avvisi e monitoraggio 

Configura NinjaOne per monitorare le impostazioni del registro di sistema relative ai protocolli SSL/TLS. Qualsiasi deviazione dalle norme stabilite (come l’attivazione di un cipher debole) può far scattare un allarme, consentendo un’azione correttiva immediata. 

Reporting 

La reportistica completa di NinjaOne consente di convalidare il successo dell’implementazione dello script per disattivare cipher deboli in SSL/TLS. È possibile generare rapporti che confermano la disattivazione dei cipher deboli, il che può essere utile durante le verifiche di conformità.

Considerazioni finali

Se nel 2023 stai ancora usando cipher deboli, consideralo un campanello d’allarme. Utilizza lo script PowerShell di cui sopra per disattivare i cifrari deboli negli ambienti Windows e fare un passo concreto verso il rafforzamento della tua infrastruttura di cybersecurity. 

Non useresti una vecchia serratura arrugginita per proteggere un caveau; non usare cipher obsoleti per proteggere i tuoi dati. È ora di modernizzare e proteggere la rete. E se ti chiedi ancora una volta come disattivare cipher deboli in SSL/TLS, ricordati che questo articolo ti è stato d’aiuto.  

Esclusione di responsabilità: Testa sempre gli script e le modifiche in un ambiente controllato prima di distribuirli in produzione.  

Passi successivi

La creazione di un team IT efficiente ed efficace richiede una soluzione centralizzata che funga da principale strumento per la fornitura di servizi. NinjaOne consente ai team IT di monitorare, gestire, proteggere e supportare tutti i dispositivi, ovunque essi si trovino, senza la necessità di una complessa infrastruttura locale.

Per saperne di più su NinjaOne Endpoint Management, fai un tour dal vivo, o inizia la tua prova gratuita della piattaforma NinjaOne.

Categorie:

Ti potrebbe interessare anche

×

Guarda NinjaOne in azione!

Inviando questo modulo, accetto La politica sulla privacy di NinjaOne.

Termini e condizioni NinjaOne

Cliccando sul pulsante “Accetto” qui sotto, dichiari di accettare i seguenti termini legali e le nostre condizioni d’uso:

  • Diritti di proprietà: NinjaOne possiede e continuerà a possedere tutti i diritti, i titoli e gli interessi relativi allo script (compreso il copyright). NinjaOne ti concede una licenza limitata per l’utilizzo dello script in conformità con i presenti termini legali.
  • Limitazione d’uso: Puoi utilizzare lo script solo per legittimi scopi personali o aziendali interni e non puoi condividere lo script con altri soggetti.
  • Divieto di ripubblicazione: In nessun caso ti è consentito ripubblicare lo script in una libreria di script appartenente o sotto il controllo di un altro fornitore di software.
  • Esclusione di garanzia: Lo script viene fornito “così com’è” e “come disponibile”, senza garanzie di alcun tipo. NinjaOne non promette né garantisce che lo script sia privo di difetti o che soddisfi le tue esigenze o aspettative specifiche.
  • Assunzione del rischio: L’uso che farai dello script è da intendersi a tuo rischio. Riconosci che l’utilizzo dello script comporta alcuni rischi intrinseci, che comprendi e sei pronto ad assumerti.
  • Rinuncia e liberatoria: Non riterrai NinjaOne responsabile di eventuali conseguenze negative o indesiderate derivanti dall’uso dello script e rinuncerai a qualsiasi diritto legale o di equità e a qualsiasi rivalsa nei confronti di NinjaOne in relazione all’uso dello script.
  • EULA: Se sei un cliente NinjaOne, l’uso dello script è soggetto al Contratto di licenza con l’utente finale (EULA) applicabile.