Comment détecter, activer et désactiver SMBv1, SMBv2 et SMBv3 dans Windows

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 11, Windows 10, Windows 8.1, Windows 8

Cet article explique comment activer et désactiver Server Message Block (SMB) version 1 (SMBv1), SMB version 2 (SMBv2) et SMB version 3 (SMBv3) sur les composants client et serveur SMB.

Bien que la désactivation ou la suppression de SMBv1 puisse entraîner des problèmes de compatibilité avec les anciens ordinateurs ou logiciels, SMBv1 présente des failles de sécurité importantes, et nous vous recommandons vivement de ne pas l'utiliser. SMB 1.0 n’est installé par défaut dans aucune édition de Windows 11 ou Windows Server 2019 et ultérieur. SMB 1.0 n’est pas non plus installé par défaut dans Windows 10, à l’exception des éditions Famille et Pro. Au lieu de réinstaller SMB 1.0, nous vous recommandons de mettre à jour le serveur SMB qui en a toujours besoin. Pour obtenir la liste des tiers qui ont besoin de SMB 1.0 et leurs mises à jour qui éliminent ce besoin, consultez SMB1 Product Clearinghouse.

Désactivation de SMBv2 ou SMBv3 pour la résolution des problèmes

Nous recommandons de laisser SMBv2 et SMBv3 activés, mais il peut être utile de désactiver temporairement l'un d'entre eux pour résoudre des problèmes. Pour plus d’informations, consultez l’article Comment détecter l’état, activer et désactiver les protocoles SMB sur le serveur SMB.

Dans Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 et Windows Server 2012, la désactivation de SMBv3 désactive les fonctionnalités suivantes :

  • Basculement transparent : les clients se reconnectent sans interruption aux nœuds de cluster pendant la maintenance ou le basculement
  • Scale Out : accès simultané aux données partagées sur tous les nœuds de cluster de fichiers
  • Multicanal : agrégation de la largeur de bande du réseau et tolérance aux pannes si plusieurs chemins d’accès sont disponibles entre le client et le serveur.
  • SMB Direct : ajoute la prise en charge du réseau RDMA pour une haute performance, avec une faible latence et une faible utilisation du processeur
  • Chiffrement : fournit un chiffrement de bout en bout et protège contre les écoutes clandestines sur les réseaux non fiables
  • Directory Leasing : améliore les temps de réponse des applications dans les filiales via la mise en cache
  • Optimisations des performances : optimisations pour les petites entrées/sorties aléatoires en lecture/écriture

Dans Windows 7 et Windows Server 2008 R2, la désactivation de SMBv2 désactive les fonctionnalités suivantes :

  • Composition des requêtes : permet d'envoyer plusieurs requêtes SMBv2 sous la forme d'une seule requête réseau
  • Des lectures et des écritures plus importantes : une meilleure utilisation des réseaux plus rapides
  • Mise en cache des propriétés des dossiers et des fichiers : les clients conservent des copies locales des dossiers et des fichiers.
  • Handles durables : permettent de se reconnecter de manière transparente au serveur en cas de déconnexion temporaire.
  • Signature de message améliorée : HMAC SHA-256 remplace MD5 en tant qu’algorithme de hachage
  • Meilleure scalabilité pour le partage de fichiers : le nombre d'utilisateurs, de partages et de fichiers ouverts par serveur a considérablement augmenté
  • Prise en charge des liens symboliques
  • Modèle de location oplock du client : limite les données transférées entre le client et le serveur, ce qui améliore les performances sur les réseaux à forte latence et accroît l'évolutivité du serveur SMB
  • Prise en charge de MTU volumineuse : pour une utilisation complète de 10 Gigabit Ethernet (GbE)
  • Amélioration de l’efficacité énergétique : les clients qui ont ouvert des fichiers sur un serveur peuvent être mis en veille

Le protocole SMBv2 a été introduit dans Windows Vista et Windows Server 2008, tandis que le protocole SMBv3 a été introduit dans Windows 8 et Windows Server 2012. Pour plus d'informations sur les fonctionnalités de SMBv2 et SMBv3, consultez les articles suivants :

Comment supprimer SMBv1 via PowerShell

Voici les étapes à suivre pour détecter, désactiver et activer le client et le serveur SMBv1 à l’aide de commandes PowerShell avec élévation.

Notes

L’ordinateur redémarre après avoir exécuté les commandes PowerShell pour désactiver ou activer SMBv1.

  • Détecter :

    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Ensuite, désactivez les éléments suivants :

    Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Activez :

    Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    

Conseil

Vous pouvez détecter l’état SMBv1, sans élévation, en exécutant : Get-SmbServerConfiguration | Format-List EnableSMB1Protocol.

Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019 : méthode de Gestionnaire de serveur

Server Manager - Dashboard method

Pour supprimer SMBv1 de Windows Server :

  1. Dans le tableau de bord Gestionnaire de serveur du serveur sur lequel vous souhaitez supprimer SMBv1, sous Configurer ce serveur local, sélectionnez Ajouter des rôles et des fonctionnalités.
  2. Sur la page Avant de commencer, sélectionnez Démarrer l’Assistant Suppression de rôles et de fonctionnalités, puis, dans la page suivante, sélectionnez Suivant.
  3. Sur la page Sélectionner le serveur de destination sous Pool de serveurs, vérifiez que le serveur dont vous souhaitez supprimer la fonctionnalité est sélectionné, puis sélectionnez Suivant.
  4. Sur la page Sélectionner des rôles serveurs, sélectionnez Suivant.
  5. Sur la page Supprimer des fonctionnalités, décochez la case prise en charge du partage de fichiers SMB 1.0/CIFS, puis sélectionnez Suivant.
  6. Sur la page Confirmer les sélections de suppression, vérifiez que la fonctionnalité est répertoriée, puis sélectionnez Supprimer.

Windows 8.1, Windows 10 et Windows 11 : méthode d’ajout ou de suppression de programmes

Add-Remove Programs client method

Pour désactiver SMBv1 pour les systèmes d’exploitation mentionnés :

  1. Dans Panneau de configuration, sélectionnez Programmes et fonctionnalités.
  2. Sous Panneau de configuration Accueil, sélectionnez Activer ou désactiver les fonctionnalités Windows pour ouvrir la zone Fonctionnalités Windows.
  3. Dans la zone Fonctionnalités Windows, faites défiler la liste, décochez la case prise en charge du partage de fichiers SMB 1.0/CIFS, puis sélectionnez OK.
  4. Une fois que Windows a appliqué la modification, dans la page de confirmation, sélectionnez Redémarrer maintenant.

Comment détecter l’état, activer et désactiver les protocoles SMB

Notes

Lorsque vous activez ou désactivez SMBv2 dans Windows 8 ou Windows Server 2012, SMBv3 est également activé ou désactivé. Ce comportement se produit parce que ces protocoles partagent la même pile.

Windows 8 et Windows Server 2012 introduit la nouvelle applet de commande Windows PowerShell set-SMBServerConfiguration. L’applet de commande vous permet d’activer ou de désactiver les protocoles SMBv1, SMBv2 et SMBv3 sur le composant serveur.

Vous n’avez pas besoin de redémarrer l’ordinateur après avoir exécuté l’applet de commande Set-SMBServerConfiguration.

SMB v1

  • Détecter :

    Get-SmbServerConfiguration | Select EnableSMB1Protocol
    
  • Ensuite, désactivez les éléments suivants :

    Set-SmbServerConfiguration -EnableSMB1Protocol $false
    
  • Activez :

    Set-SmbServerConfiguration -EnableSMB1Protocol $true
    

Pour plus d’informations, consultez l’article Stockage serveur chez Microsoft.

SMB v2/v3

  • Détecter :

    Get-SmbServerConfiguration | Select EnableSMB2Protocol
    
  • Ensuite, désactivez les éléments suivants :

    Set-SmbServerConfiguration -EnableSMB2Protocol $false
    
  • Activez :

    Set-SmbServerConfiguration -EnableSMB2Protocol $true
    

Pour Windows 7, Windows Server 2008 R2, Windows Vista et Windows Server 2008

Pour activer ou désactiver des protocoles SMB sur un serveur SMB exécutant Windows 7, Windows Server 2008 R2, Windows Vista ou Windows Server 2008, utilisez Windows PowerShell ou l’Éditeur de Registre.

Méthodes PowerShell supplémentaires

Notes

Cette méthode nécessite PowerShell 2.0 ou version ultérieure.

SMBv1 sur le serveur SMB

Détecter :

Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

Configuration par défaut = Activé (aucune valeur nommée dans le registre n'est créée), de sorte qu'aucune valeur SMB1 ne sera renvoyée.

Ensuite, désactivez les éléments suivants :

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force

Activez :

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force

Note Vous devez redémarrer l’ordinateur après avoir apporté ces modifications. Pour plus d’informations, consultez l’article Stockage serveur chez Microsoft.

SMBv2/v3 sur le serveur SMB

Détecter :

Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

Ensuite, désactivez les éléments suivants :

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force

Activez :

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force

Notes

Vous devez redémarrer l’ordinateur après avoir apporté ces modifications.

Éditeur du Registre

Important

Suivez attentivement les étapes décrites dans cette section. De graves problèmes peuvent se produire si vous modifiez le Registre de façon incorrecte. Avant de le modifier, sauvegardez le Registre afin de pouvoir le restaurer en cas de problème.

Pour activer ou désactiver SMBv1 sur le serveur SMB, configurez la clé de Registre suivante :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Registry entry: SMB1
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)

Pour activer ou désactiver SMBv2 sur le serveur SMB, configurez la clé de Registre suivante :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Registry entry: SMB2
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)

Notes

 Vous devez redémarrer l’ordinateur après avoir apporté ces modifications.

Désactiver SMBv1 à l’aide de stratégie de groupe

Cette section explique comment utiliser la stratégie de groupe pour désactiver SMBv1. Vous pouvez utiliser cette méthode sur différentes versions de Windows.

SMB v1

Cette procédure permet de configurer le nouvel élément suivant dans le registre :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

  • Entrée de Registre : SMB1
  • REG_DWORD : 0 = Désactivé

Pour utiliser la stratégie de groupe afin de configurer cette fonction, procédez comme suit :

  1. Ouvrez la Console de gestion des stratégies de groupe. Cliquez avec le bouton droit sur l'objet de stratégie de groupe (GPO) qui doit contenir le nouvel élément de préférence, puis cliquez sur Modifier.

  2. Dans l'arborescence de la console, sous Configuration ordinateur, développez le dossier Préférences, puis le dossier Paramètres Windows.

  3. Cliquez avec le bouton droit sur le nœud Registre, pointez sur Nouveau et sélectionnez Élément Registre.

    Registry - New - Registry Item

Dans la boîte de dialogue Nouvelles propriétés du Registre, sélectionnez les éléments suivants :

  • Action : créer
  • Ruche : HKEY_LOCAL_MACHINE
  • Chemin d’accès à la clé : SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  • Nom de la valeur : SMB1
  • Type de valeur : REG_DWORD
  • Données de la valeur : 0

New Registry Properties - General

Cette procédure désactive les composants du serveur SMBv1. Cette stratégie de groupe doit être appliquée à toutes les stations de travail, serveurs et contrôleurs de domaine nécessaires dans le domaine.

Notes

 Les filtres WMI peuvent également être définis pour exclure les systèmes d’exploitation non pris en charge ou les exclusions sélectionnées, telles que Windows XP.

Important

Soyez prudent lorsque vous effectuez ces modifications sur des contrôleurs de domaine sur lesquels des systèmes hérités de Windows XP ou des systèmes Linux et tiers plus anciens (qui ne prennent pas en charge SMBv2 ou SMBv3) nécessitent un accès à SYSVOL ou à d'autres partages de fichiers pour lesquels SMB v1 est désactivé.

Audit de l’utilisation de SMBv1

Pour déterminer les clients qui tentent de se connecter à un serveur SMB avec SMBv1, vous pouvez activer l’audit sur Windows Server 2016, Windows 10 et Windows Server 2019. Vous pouvez également auditer windows 7 et Windows Server 2008 R2 si la mise à jour mensuelle de mai 2018 est installée et sur Windows 8.1 et Windows Server 2012 R2 si la mise à jour mensuelle de juillet 2017 est installée.

  • Activez :

    Set-SmbServerConfiguration -AuditSmb1Access $true
    
  • Ensuite, désactivez les éléments suivants :

    Set-SmbServerConfiguration -AuditSmb1Access $false
    
  • Détecter :

    Get-SmbServerConfiguration | Select AuditSmb1Access
    

Lorsque l’audit SMBv1 est activé, l’événement 3000 apparaît dans le journal des événements « Microsoft-Windows-SMBServer\Audit », identifiant chaque client qui tente de se connecter à SMBv1.

Résumé

Si tous les paramètres se trouvent dans la même GPO, la gestion des stratégies de groupe affiche les paramètres suivants.

Group Policy Management Editor - Registry

Test et validation

Après avoir effectué les étapes de configuration de cet article, autorisez la réplication et la mise à jour de la politique. Si nécessaire pour les tests, exécutez gpupdate /force à une invite de commandes, puis passez en revue les ordinateurs cibles pour vous assurer que les paramètres du registre sont appliqués correctement. Assurez-vous que SMBv2 et SMBv3 fonctionnent pour tous les autres systèmes de l’environnement.

Notes

N'oubliez pas de redémarrer les systèmes cibles.