Comment détecter, activer et désactiver SMBv1, SMBv2 et SMBv3 dans Windows
S’applique à : Windows Server 2022, Windows 10, Windows 8.1, Windows 8, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
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.
Lors de la désactivation ou de la suppression de SMBv1 peut entraîner des problèmes de compatibilité avec les anciens ordinateurs ou logiciels, SMBv1 présente des vulnérabilités de sécurité importantes et nous vous encourageons vivement à ne pas l’utiliser.
Désactivation de SMBv2 ou SMBv3 pour la résolution des problèmes
Nous vous recommandons de garder SMBv2 et SMBv3 activés, mais il peut s’avérer utile de le désactiver temporairement pour la résolution des problèmes. Pour plus d’informations, consultez 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 bande passante réseau et de la tolérance de panne si plusieurs chemins d’accès sont disponibles entre le client et le serveur
- SMB Direct : ajoute la prise en charge de la mise en réseau RDMA pour des performances élevées, avec une faible latence et une utilisation faible du processeur
- Chiffrement : fournit un chiffrement de bout en bout et protège contre les écoutes clandestines sur les réseaux non fiables
- Location d’annuaire - Améliore les temps de réponse des applications dans les succursales via la mise en cache
- Optimisations des performances : optimisations pour les petites E/S en lecture/écriture aléatoires
Dans Windows 7 et Windows Server 2008 R2, la désactivation de SMBv2 désactive les fonctionnalités suivantes :
- Composé de requêtes : permet d’envoyer plusieurs requêtes SMBv2 en tant que requête réseau unique
- Lectures et écritures plus volumineuses : meilleure utilisation des réseaux plus rapides
- Mise en cache des propriétés de dossier et de fichier : les clients conservent des copies locales des dossiers et des fichiers
- Handles durables : autoriser la connexion à se reconnecter de manière transparente au serveur en cas de déconnexion temporaire
- Amélioration de la signature de messages - HMAC SHA-256 remplace MD5 comme algorithme de hachage
- Amélioration de l’extensibilité pour le partage de fichiers : nombre d’utilisateurs, partages et fichiers ouverts par serveur considérablement augmenté
- Prise en charge des liens symboliques
- Modèle de location oplock client : limite les données transférées entre le client et le serveur, améliorant les performances sur les réseaux à latence élevée et augmentant l’extensibilité 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 disposent de fichiers ouverts sur un serveur peuvent dormir
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 SMBv2 et SMBv3, consultez les articles suivants :
Comment supprimer SMBv1
Voici comment supprimer SMBv1 dans Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016 et Windows 2012 R2.
Méthodes PowerShell
Voici les étapes à suivre pour détecter, désactiver et activer le client et le serveur SMBv1 à l’aide de commandes PowerShell.
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
Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019 : méthode de Gestionnaire de serveur
Pour supprimer SMBv1 de Windows Server :
- 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.
- Dans la page Avant de commencer , sélectionnez Démarrer l’Assistant Supprimer les rôles et fonctionnalités, puis, dans la page suivante, sélectionnez Suivant.
- Dans la page Sélectionner un serveur de destination sous Pool de serveurs, vérifiez que le serveur à partir duquel vous souhaitez supprimer la fonctionnalité est sélectionné, puis sélectionnez Suivant.
- Dans la page Supprimer les rôles de serveur , sélectionnez Suivant.
- Dans la page Supprimer les fonctionnalités , désactivez la case à cocher pour la prise en charge du partage de fichiers SMB 1.0/CIFS , puis sélectionnez Suivant.
- Dans la page Confirmer la suppression des sélections , vérifiez que la fonctionnalité est répertoriée, puis sélectionnez Supprimer.
Windows 8.1 et Windows 10 : méthode Add ou Remove Programs
Pour désactiver SMBv1 sur Windows 8.1 et Windows 10 :
- Dans Panneau de configuration, sélectionnez Programmes et fonctionnalités.
- Sous Panneau de configuration Accueil, sélectionnez Activer ou désactiver les fonctionnalités Windows pour ouvrir la zone Fonctionnalités Windows.
- Dans la zone Windows Fonctionnalités, faites défiler la liste vers le bas, décochez la case pour la prise en charge du partage de fichiers SMB 1.0/CIFS, puis sélectionnez OK.
- Après Windows applique la modification, dans la page de confirmation, sélectionnez Redémarrer maintenant.
Comment détecter l’état, l’activation et la désactivation des protocoles SMB sur le serveur SMB
Pour Windows 8.1, Windows Server 2012, Windows Server 2012 R2, Windows 10 et Windows Server 2019
Windows 8 et Windows Server 2012 introduit la nouvelle applet de commande Set-SMBServerConfiguration Windows PowerShell. L’applet de commande vous permet d’activer ou de désactiver les protocoles SMBv1, SMBv2 et SMBv3 sur le composant serveur.
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.
Vous n’êtes pas obligé de redémarrer l’ordinateur après avoir exécuté l’applet de commande Set-SMBServerConfiguration .
SMBv1 sur le serveur SMB
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 Stockage serveur sur Microsoft.
SMB v2/v3 sur le serveur SMB
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 qui exécute Windows 7, Windows Server 2008 R2, Windows Vista ou Windows Server 2008, utilisez Windows PowerShell ou l’éditeur de Registre.
Méthodes PowerShell
Notes
Cette méthode nécessite PowerShell 2.0 ou version ultérieure de PowerShell.
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 de Registre n’est créée), donc aucune valeur SMB1 ne sera retourné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 Stockage serveur sur 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.
Comment détecter l’état, l’activation et la désactivation des protocoles SMB sur le client SMB
Voici comment détecter l’état, l’activation et la désactivation des protocoles SMB sur le client SMB qui exécute Windows 10, Windows Server 2019, Windows 8.1, Windows Server 2016, Windows Server 2012 R2 et Windows Server 2012.
Notes
Lorsque vous activez ou désactivez SMBv2 dans Windows 8 ou dans Windows Server 2012, SMBv3 est également activé ou désactivé. Ce comportement se produit parce que ces protocoles partagent la même pile.
SMBv1 sur le client SMB
Detect
sc.exe qc lanmanworkstation
Ensuite, désactivez les éléments suivants :
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi sc.exe config mrxsmb10 start= disabled
Activez :
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb10 start= auto
Pour plus d’informations, consultez Stockage serveur sur Microsoft
SMBv2/v3 sur le client SMB
Détecter:
sc.exe qc lanmanworkstation
Ensuite, désactivez les éléments suivants :
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi sc.exe config mrxsmb20 start= disabled
Activez :
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb20 start= auto
Notes
- Vous devez exécuter ces commandes à une invite de commandes avec élévation de privilèges.
- 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 stratégie de groupe pour désactiver SMBv1. Vous pouvez utiliser cette méthode sur différentes versions de Windows.
Désactiver le serveur SMBv1
Cette procédure configure le nouvel élément suivant dans le Registre :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Entrée du Registre : SMB1
- REG_DWORD : 0 = Désactivé
Pour utiliser stratégie de groupe pour configurer cela, procédez comme suit :
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.
Dans l’arborescence de la console sous Configuration ordinateur, développez le dossier Préférences, puis développez le dossier Windows Paramètres.
Cliquez avec le bouton droit sur le nœud Registre, pointez sur Nouveau et sélectionnez Élément Registre.
Dans la boîte de dialogue Nouvelles propriétés du Registre , sélectionnez les éléments suivants :
- Action : Mettre à jour
- Hive : HKEY_LOCAL_MACHINE
- Chemin de la clé : SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Nom de la valeur : SMB1
- Type de valeur : REG_DWORD
- Données de valeur : 0
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 des systèmes d’exploitation non pris en charge ou des exclusions sélectionnées, telles que Windows XP.
Important
Soyez prudent lorsque vous apportez ces modifications sur les contrôleurs de domaine sur lesquels les systèmes hérités Windows XP ou Linux plus anciens et tiers (qui ne prennent pas en charge SMBv2 ou SMBv3) nécessitent l’accès à SYSVOL ou à d’autres partages de fichiers où SMB v1 est désactivé.
Désactiver le client SMBv1
Pour désactiver le client SMBv1, la clé de Registre des services doit être mise à jour pour désactiver le démarrage de MRxSMB10 , puis la dépendance vis-à-vis de MRxSMB10 doit être supprimée de l’entrée pour LanmanWorkstation afin qu’elle puisse démarrer normalement sans exiger que MRxSMB10 commence.
Ce guide met à jour et remplace les valeurs par défaut dans les deux éléments suivants dans le Registre :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10
Entrée du Registre : Démarrer REG_DWORD : 4 = Désactivé
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
Entrée du Registre : DependOnService REG_MULTI_SZ: « Bowser »,"MRxSmb20 »,"NSI »
Notes
La valeur par défaut est MRxSMB10 qui est désormais supprimée en tant que dépendance.
Pour configurer cela à l’aide de stratégie de groupe, procédez comme suit :
Ouvrez la Console de gestion des stratégies de groupe. Cliquez avec le bouton droit sur l’objet de stratégie de groupe qui doit contenir le nouvel élément de préférence, puis cliquez sur Modifier.
Dans l’arborescence de la console sous Configuration ordinateur, développez le dossier Préférences, puis développez le dossier Windows Paramètres.
Cliquez avec le bouton droit sur le nœud Registre, pointez sur Nouveau et sélectionnez Élément Registre.
Dans la boîte de dialogue Nouvelles propriétés du Registre , sélectionnez les éléments suivants :
- Action : Mettre à jour
- Hive : HKEY_LOCAL_MACHINE
- Chemin de la clé : SYSTEM\CurrentControlSet\services\mrxsmb10
- Nom de la valeur : Démarrer
- Type de valeur : REG_DWORD
- Données de valeur : 4
Supprimez ensuite la dépendance de MRxSMB10 qui a été désactivée.
Dans la boîte de dialogue Nouvelles propriétés du Registre , sélectionnez les éléments suivants :
- Action : Remplacer
- Hive : HKEY_LOCAL_MACHINE
- Chemin de la clé : SYSTEM\CurrentControlSet\Services\LanmanWorkstation
- Nom de la valeur : DependOnService
- Type de valeur : REG_MULTI_SZ
- Données de valeur :
- Bowser
- MRxSmb20
- NSI
Notes
Ces trois chaînes n’auront pas de puces (voir la capture d’écran suivante).
La valeur par défaut inclut MRxSMB10 dans de nombreuses versions de Windows. Par conséquent, en les remplaçant par cette chaîne à valeurs multiples, elle supprime en effet MRxSMB10 comme dépendance pour LanmanWorkstation et passe de quatre valeurs par défaut à seulement ces trois valeurs ci-dessus.
Notes
Lorsque vous utilisez stratégie de groupe console de gestion, vous n’avez pas besoin d’utiliser de guillemets ou de virgules. Tapez simplement chaque entrée sur des lignes individuelles.
Redémarrez les systèmes ciblés pour terminer la désactivation de SMB v1.
Audit de l’utilisation de SMBv1
Pour déterminer quels clients 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 sur 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écapitulatif
Si tous les paramètres se trouvent dans le même objet de stratégie de groupe, stratégie de groupe Management affiche les paramètres suivants.
Test et validation
Une fois les étapes de configuration effectuées dans cet article, autorisez la stratégie à répliquer et à mettre à jour. Si nécessaire pour le test, 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.