Script PowerShell pour les professionnels de l’informatique : Désactiver les chiffrements faibles SSL/TLS en toute simplicité

En matière de cybersécurité, la frontière entre conformité et compromission est souvent faible. Si vous travaillez dans le domaine des technologies de l’information, en particulier si vous êtes un professionnel de l’informatique ou si vous faites partie d’un fournisseur de services gérés (MSP), vous avez probablement suivi cette ligne depuis un certain temps. Soyons réalistes : les anciens algorithmes de chiffrement tels que SSL 2.0, SSL 3.0, TLS 1.0 et TLS 1.1 sont non seulement obsolètes, mais ils représentent également un danger pour la cybersécurité. C’est un problème qui doit être résolu, et cet article est votre guide étape par étape pour le faire désactiver les algorithmes de chiffrement SSL faibles et améliorer votre posture de sécurité dans le processus.

Qu’est-ce qu’un chiffrement faible et pourquoi s’en préoccuper ?

Les algorithmes de chiffrement faibles sont des algorithmes obsolètes utilisés dans le chiffrement SSL/TLS qui sont susceptibles d’être attaqués. Les cybercriminels pourraient exploiter ces liens faibles pour compromettre des données sensibles. Compte tenu de la rigueur des réglementations actuelles, le maintien de ces protocoles obsolètes peut également entraîner des risques de non-conformité, sans parler de l’atteinte à la réputation d’une entreprise.

Script PowerShell pour désactiver les chiffrements SSL/TLS faibles

Si vous gérez une infrastructure basée sur Windows, PowerShell est votre meilleur ami. Pour ceux qui souhaitent se plonger dans le vif du sujet, le script ci-dessous automatise le processus de désactivation des algorithmes de chiffrement faibles tels que TLS 1.0, TLS 1.1, SSL 2.0 et SSL 3.0, tout en activant l’algorithme plus robuste TLS 1.2.

Le script

Remarque : Le script nécessite PowerShell 5.1 et des privilèges d’administrateur pour être exécuté. Il est compatible avec Windows 10 et Windows Server 2016. Bien qu’il puisse fonctionner sur des versions plus anciennes comme Windows 7 ou Server 2008 R2, PowerShell 5.1 est requis.

#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 {}

 

Accédez à plus de 700 scripts dans le Dojo NinjaOne

Obtenir l’accès

Principales caractéristiques du script

  1. Vérifier les privilèges d’administrateur : Le script se termine s’il n’est pas exécuté avec des autorisations d’administrateur, ce qui permet d’éviter une exécution accidentelle.
  2. Modification du registre : Le script apporte des modifications ciblées au registre Windows, en particulier dans les zones qui gèrent les protocoles SSL/TLS, afin d’appliquer les paramètres de sécurité.
  3. Retour d’informations : Le script confirme quels protocoles ont été activés ou désactivés.
  4. Aucun paramètre n’est nécessaire : Le script est simple à exécuter. Si vous souhaitez redémarrer l’ordinateur après l’exécution du script, incluez le paramètre -Restart.

Quels sont les avantages pour les professionnels de l’informatique et les prestataires de services de gestion de contenu ?

Gain de temps

Pour les professionnels de l’informatique et les MSP qui gèrent plusieurs systèmes, ce script est très utile. Déployez-le sur plusieurs machines en toute simplicité, et économisez ainsi un nombre incalculable d’heures de travail.

Conformité

Les cadres réglementaires tels que PCI DSS exigent que les algorithmes de chiffrement faibles soient désactivés. Ce script fournit une solution unique pour atteindre la conformité avec un minimum de tracas.

Son évolutivité

Le script peut être incorporé dans des flux d’automatisation plus importants, ce qui en fait un outil polyvalent pour l’extension des opérations de sécurité.

Mitigation des risques

En désactivant les algorithmes de chiffrement faibles dans le protocole SSL/TLS, vous réduisez les risques de violation des données et de cyberattaque, renforçant ainsi la posture de sécurité de votre entreprise.

Intégrer le script à NinjaOne pour simplifier et optimiser les opérations

Si vous êtes un professionnel de l’informatique ou si vous faites partie d’une entreprise MSP, il y a de fortes chances que vous connaissiez déjà NinjaOne. Les capacités de notre plateforme peuvent aller bien au-delà des fonctions habituelles de ticketing, de gestion des correctifs et d’inventaire que vous pouvez associer à un RMM.

Voici comment vous pouvez intégrer le script PowerShell pour désactiver les chiffrement SSL/TLS faibles dans votre configuration NinjaOne :

Déploiement centralisé

NinjaOne offre un déploiement centralisé des scripts, ce qui vous permet d’exécuter ce script PowerShell sur plusieurs terminaux simultanément. Accédez à la section « Scripting », téléchargez le script et exécutez-le sur les systèmes que vous gérez, le tout à partir d’un seul tableau de bord.

Exécution planifiée

Définissez des plannings dans NinjaOne pour exécuter le script à des heures déterminées. Cette fonction est particulièrement utile pour les nouveaux appareils qui rejoignent le réseau ou pour appliquer périodiquement les normes de conformité.

Alertes et surveillance

Configurez NinjaOne pour qu’il surveille les paramètres du registre liés aux protocoles SSL/TLS. Tout écart par rapport aux normes établies (comme l’activation d’un chiffrement faible) peut déclencher une alerte, ce qui permet de réagir immédiatement.

Rapports

Les rapports complets de NinjaOne vous permettent de valider le succès du déploiement du script. Vous pouvez générer des rapports confirmant la désactivation des algorithmes de chiffrement faibles, ce qui peut s’avérer utile lors des audits de conformité.

Conclusion

Si vous utilisez encore des algorithmes de chiffrement faibles en 2023, considérez ceci comme un signal d’alarme. Utilisez le script PowerShell ci-dessus pour désactiver les algorithmes de chiffrement faibles dans les environnements Windows et prenez une mesure concrète pour renforcer votre infrastructure de cybersécurité.

Vous n’utiliseriez pas un vieux cadenas pour sécuriser un coffre-fort; n’utilisez donc pas des chiffrements faibles et dépassés pour protéger vos données Il est temps de moderniser et de sécuriser votre réseau. Et si vous vous demandez à nouveau comment désactiver les algorithmes de chiffrement faibles dans Windows, n’oubliez pas que cet article est là pour vous aider.

Avertissement : Testez toujours les scripts et les modifications dans un environnement contrôlé avant de les déployer en production.

Pour aller plus loin

Créer une équipe informatique efficace et performante nécessite une solution centralisée qui soit l’outil principal pour fournir vos services. NinjaOne permet aux équipes informatiques de surveiller, gérer, sécuriser et prendre en charge tous les appareils, où qu’ils soient, sans avoir besoin d’une infrastructure complexe sur site.

Pour en savoir plus sur NinjaOne Endpoint Management, participez à une visite guidée ou commencez votre essai gratuit de la plateforme NinjaOne.

Catégories :

Vous pourriez aussi aimer

×

Voir NinjaOne en action !

En soumettant ce formulaire, j'accepte la politique de confidentialité de NinjaOne.

Termes et conditions NinjaOne

En cliquant sur le bouton « J’accepte » ci-dessous, vous indiquez que vous acceptez les termes juridiques suivants ainsi que nos conditions d’utilisation:

  • Droits de propriété: NinjaOne possède et continuera de posséder tous les droits, titres et intérêts relatifs au script (y compris les droits d’auteur). NinjaOne vous accorde une licence limitée pour l’utilisation du script conformément à ces conditions légales.
  • Limitation de l’utilisation: Les scripts ne peuvent être utilisés qu’à des fins personnelles ou professionnelles internes légitimes et ne peuvent être partagés avec d’autres entités.
  • Interdiction de publication: Vous n’êtes en aucun cas autorisé à publier le script dans une bibliothèque de scripts appartenant à, ou sous le contrôle d’un autre fournisseur de logiciels.
  • Clause de non-responsabilité: Le texte est fourni « tel quel » et « tel que disponible », sans garantie d’aucune sorte. NinjaOne ne promet ni ne garantit que le script sera exempt de défauts ou qu’il répondra à vos besoins ou attentes particulières.
  • Acceptation des risques: L’utilisation du script est sous votre propre responsabilité. Vous reconnaissez qu’il existe certains risques inhérents à l’utilisation du script, et vous comprenez et assumez chacun de ces risques.
  • Renonciation et exonération de responsabilité: Vous ne tiendrez pas NinjaOne pour responsable des conséquences négatives ou involontaires résultant de votre utilisation du script, et vous renoncez à tout droit ou recours légal ou équitable que vous pourriez avoir contre NinjaOne en rapport avec votre utilisation du script.
  • EULA: Si vous êtes un client de NinjaOne, votre utilisation du script est soumise au contrat de licence d’utilisateur final qui vous est applicable (End User License Agreement (EULA)).