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.
Si vous désactivez ou supprimez SMBv1, vous pouvez rencontrer 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. SMBv1 n’est pas installé par défaut dans n’importe quelle édition de Windows 11 ou Windows Server 2019 et versions ultérieures. SMBv1 n’est pas installé par défaut dans Windows 10, à l’exception des éditions Home et Pro. Nous vous recommandons de ne pas réinstaller SMBv1, mais plutôt de mettre à jour le serveur SMB qui le nécessite encore. Pour obtenir la liste des partenaires qui nécessitent SMBv1 et leurs mises à jour qui suppriment l’exigence, consultez SMB1 Product Clearinghouse.
Désactiver 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 Utiliser la ligne de commande ou l’éditeur de Registre pour gérer les protocoles SMB.
La désactivation de SMBv3 désactive les fonctionnalités suivantes :
- Basculement transparent : Fournit aux clients un moyen de se reconnecter sans interruption aux nœuds du cluster en cas de maintenance ou de basculement.
- Scale-out : fournit un accès simultané aux données partagées sur tous les nœuds de cluster de fichiers
- SMB Multichannel : facilite l’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 (accès direct à la mémoire à distance) pour des performances élevées, avec une faible latence et une faible utilisation du processeur.
- Chiffrement : fournit un chiffrement de bout en bout et offre une protection contre l’écoute électronique sur des réseaux non fiables
- Location d’annuaires : améliore les temps de réponse des applications dans les succursales par le biais de la mise en cache
- Optimisation des performances : optimise les petites opérations d’E/S en lecture/écriture aléatoires
La désactivation de SMBv2 désactive les fonctionnalités suivantes :
- Regroupement de requêtes : prend en charge l’envoi de plusieurs requêtes SMBv2 en tant que requête réseau unique
- Des lectures et des écritures plus importantes : améliore l'utilisation de mises en réseau plus rapides
- Mise en cache des propriétés de dossier et de fichier : permet aux clients de conserver des copies locales des dossiers et des fichiers
- Indicateurs durables : Permet à une connexion de se reconnecter de manière transparente au serveur après une déconnexion temporaire.
- Signature de message améliorée : utilise un code d’authentification de message basé sur le hachage (HMAC) sécurisé (SHA) avec un digest 256 bits (HMAC SHA-256) au lieu de Message-Digest Algorithme 5 (MD5) comme algorithme de hachage
- Scalabilité améliorée pour le partage de fichiers : augmente considérablement le nombre d’utilisateurs, de partages et de fichiers ouverts par serveur
- Prise en charge des liens symboliques
- Modèle de location d’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 grandes unités de transmission maximale (MTU) : prend en charge l’utilisation complète de 10 Gigabit Ethernet (GbE)
- Amélioration de l’efficacité énergétique : permet aux clients qui ont ouvert des fichiers sur un serveur de dormir
Le protocole SMBv2 a été introduit dans Windows Vista et Windows Server 2008. 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 :
Utiliser PowerShell pour supprimer SMBv1
Vous pouvez utiliser les commandes PowerShell Get-WindowsOptionalFeature, Disable-WindowsOptionalFeature, et Enable-WindowsOptionalFeature pour détecter, désactiver et activer un client ou un serveur SMBv1. Exécutez les commandes à une requête élevée.
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 de SMBv1 sans élévation en exécutant la commande Get-SmbServerConfiguration : Get-SmbServerConfiguration | Format-List EnableSMB1Protocol
.
SMBv1 n’est pas installé par défaut sur Windows Server 2019 et versions ultérieures. Sur les versions antérieures de Windows Server, vous pouvez utiliser le Gestionnaire de serveur pour supprimer SMBv1 :
Sur le serveur à partir duquel vous souhaitez supprimer SMBv1, ouvrez le Gestionnaire de serveur.
Dans le tableau de bord du Gestionnaire de serveur, sous Configurer ce serveur local, sélectionnez Ajouter des rôles et des fonctionnalités.
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.
Dans la page Sélectionner le 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.
Sur la page Supprimer des rôles serveur, sélectionnez Suivant.
Sur la page Supprimer les fonctionnalités, décochez la case Prise en charge du partage de fichiers SMB 1.0/CIFS, puis sélectionnez Suivant.
Sur la page Confirmer les sélections de suppression, vérifiez que la fonctionnalité est répertoriée, puis sélectionnez Supprimer.
Sur Windows 8.1, Windows 10 et Windows 11, vous pouvez utiliser Supprimer des programmes pour désactiver SMBv1.
Pour désactiver SMBv1 sur ces systèmes d’exploitation, procédez comme suit :
Dans Panneau de configuration, sélectionnez Programmes et fonctionnalités.
Sous Panneau de configuration Accueil, sélectionnez Activer ou désactiver les fonctionnalités de Windows pour ouvrir la boîte de dialogue Fonctionnalités de Windows.
Dans la boîte de dialogue 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.
Une fois que Windows a appliqué la modification, dans la page de confirmation, sélectionnez Redémarrer maintenant.
Utiliser la ligne de commande ou l’éditeur de Registre pour gérer les protocoles SMB
À compter de Windows 10 Fall Creators Update et Windows Server 2019, SMBv1 n’est plus installé par défaut. Pour plus d’informations, consultez SMBv1 n’est pas installé par défaut dans Windows 10 version 1709, Windows Server version 1709 et versions ultérieures.
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 pouvez utiliser l’applet de commande Set-SMBServerConfiguration pour activer ou désactiver les protocoles SMBv1, SMBv2 et SMBv3 sur un composant serveur. Vous pouvez utiliser l’applet de commande get-SmbServerConfiguration pour récupérer la configuration du serveur SMB.
Vous n’avez pas besoin de redémarrer l’ordinateur après avoir exécuté l’applet de commande Set-SMBServerConfiguration.
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 Arrêter d’utiliser SMB1.
Détecter :
Get-SmbServerConfiguration | Select EnableSMB2Protocol
Ensuite, désactivez les éléments suivants :
Set-SmbServerConfiguration -EnableSMB2Protocol $false
Activez :
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Activer ou désactiver SMB sur 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, comme expliqué dans les sections suivantes.
Utiliser Windows PowerShell
Vous pouvez utiliser les cmdlets Get-Item, Get-ItemPropertyet Set-ItemProperty pour détecter, activer et désactiver les protocoles SMB.
Notes
Les commandes des sections suivantes nécessitent PowerShell 2.0 ou version ultérieure.
Détecter :
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
La configuration par défaut est Enabled
. Par conséquent, aucune valeur nommée de Registre n’est créée. Par conséquent, la commande ne retourne pas de valeur SMB1
.
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
Notes
Vous devez redémarrer l’ordinateur après avoir apporté ces modifications.
Pour plus d’informations, consultez Arrêter d’utiliser SMB1.
SMBv2 et SMBv3 sur un 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.
Utiliser l’éditeur de Registre
Pour activer ou désactiver SMBv1 sur un serveur SMB, ouvrez l’Éditeur du Registre et accédez au chemin de clé de Registre suivant :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Configurez une entrée qui a les propriétés suivantes :
- Pour le nom, utilisez SMB1.
- Pour le type, utilisez REG_DWORD.
- Pour les données, utilisez 0 pour désactivé et 1 pour activé. La valeur par défaut est 1ou activé. Dans ce cas, aucune clé de Registre n’est créée.
Pour activer ou désactiver SMBv2 sur un serveur SMB, ouvrez l’Éditeur du Registre et accédez au chemin de clé de Registre suivant :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Configurez une entrée qui a les propriétés suivantes :
- Pour le nom, utilisez SMB2.
- Pour le type, utilisez REG_DWORD.
- Pour les données, utilisez 0 pour désactivé et 1 pour activé. La valeur par défaut est 1ou activé. Dans ce cas, aucune clé de Registre n’est créée.
Notes
Vous devez redémarrer l’ordinateur après avoir apporté ces modifications.
Voici comment détecter l’état, activer et désactiver les protocoles SMB sur un client SMB qui exécute le client Windows et Windows Server.
Détecter :
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 Arrêter d’utiliser SMB1.
SMBv2 et SMBv3 sur un 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 à partir d'une invite de commandes avec élévation de privilèges.
- Vous devez redémarrer l’ordinateur après avoir apporté ces modifications.
Utiliser la stratégie de groupe pour désactiver SMBv1
Cette section vous montre comment utiliser la stratégie de groupe pour désactiver SMBv1. Vous pouvez utiliser cette méthode sur différentes versions de Windows.
Vous pouvez désactiver SMBv1 sur un serveur SMB en configurant le nouvel élément suivant dans le Registre :
- Chemin d'accès : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Paramètres
- Entrée de Registre : SMB1
- Type d'entrée : REG_DWORD
- Données d'entrée : 0, pour Désactivé
Pour utiliser la stratégie de groupe pour configurer cet élément, 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 sélectionnez Modifier.
Dans l'arborescence de la console, sous Configuration ordinateur, développez le dossier Préférences, puis le dossier Paramètres Windows.
Cliquez avec le bouton droit sur le nœud de Registre , pointez sur Nouveau, puis sélectionnez Élément de Registre.
Dans la boîte de dialogue Nouvelles propriétés du Registre, sélectionnez ou entrez les valeurs suivantes :
- Action : Créer
- Hive : HKEY_LOCAL_MACHINE
- Chemin d'accès : SYSTEMCurrentControlSet\Services\LanmanServer\Paramètres
- Nom de la valeur : SMB1
- Type de valeur : REG_DWORD
- Valeur des données: 0
Cette procédure désactive les composants serveur SMBv1. Vous devez appliquer cette stratégie à toutes les stations de travail, serveurs et contrôleurs de domaine nécessaires dans le domaine.
Important
Certains systèmes nécessitent l’accès au dossier SYSVOL ou à d’autres partages de fichiers, mais ne prennent pas en charge SMBv2 ou SMBv3. Par exemple, ces systèmes incluent des systèmes Windows hérités et des systèmes Linux et partenaires plus anciens. Veillez à désactiver SMBv1 sur les contrôleurs de domaine sur ces systèmes.
Pour désactiver le client SMBv1, vous devez mettre à jour la clé de Registre des services pour empêcher le démarrage du pilote MRxSMB10. Ensuite, vous devez supprimer la dépendance sur MRxSMB10 de l'entrée pour LanmanWorkstation afin qu'il puisse démarrer normalement sans nécessiter le démarrage préalable de MRxSMB10.
Cette section vous montre comment mettre à jour et remplacer les valeurs par défaut dans les deux éléments suivants dans le Registre :
- Chemin d'accès : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10
- Entrée dans le registre : Démarrer
- Type d'entrée : REG_DWORD
- Données d'entrée : 4, pour Désactivé
- Chemin d'accès : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
- Entrée de registre : DependOnService
- Type d'entrée : REG_MULTI_SZ
- Données d'entrée : Bowser,MRxSmb20,NSI
Notes
La valeur par défaut inclut MRxSMB10, qui est désormais supprimée en tant que dépendance.
Pour configurer ces entrées à l’aide de la stratégie de groupe, procédez comme suit :
Ouvrez la console de gestion des stratégies de groupe. Cliquez avec le bouton droit de la souris sur l'objet de stratégie de groupe qui doit contenir le nouvel élément de préférence, puis sélectionnez Modifier.
Dans l'arborescence de la console, sous Configuration ordinateur, développez le dossier Préférences, puis le dossier Paramètres Windows.
Cliquez avec le bouton droit sur le nœud de Registre , pointez sur Nouveau, puis sélectionnez Élément de Registre.
Dans la boîte de dialogue Nouvelles propriétés du Registre, sélectionnez ou entrez les valeurs suivantes :
- Action : Mise à jour
- Hive : HKEY_LOCAL_MACHINE
- Chemin d'accès : SYSTEMCurrentControlSet\services\mrxsmb10
- Nom de la valeur : Start
- Type de valeur : REG_DWORD
- Valeur des données: 4
Pour supprimer la dépendance sur le pilote MRxSMB10 qui a été désactivé, ouvrez la boîte de dialogue Nouvelles propriétés du Registre, puis sélectionnez ou entrez les valeurs suivantes :
- Action : Remplacer
- Hive : HKEY_LOCAL_MACHINE
- Chemin d'accès : SYSTEMCurrentControlSet\Services\LanmanWorkstation
- Nom de valeur: DependOnService
- Type de valeur : REG_MULTI_SZ
- Données de la valeur :
Notes
N'incluez pas de puces dans les trois chaînes de données de la valeur. Ne répertoriez que les chaînes de caractères, comme le montre la capture d'écran suivante.
La valeur par défaut inclut MRxSMB10 dans de nombreuses versions de Windows. En remplaçant la valeur par défaut par ces trois chaînes, vous supprimez efficacement MRxSMB10 comme dépendance pour LanmanWorkstation. Au lieu des quatre valeurs par défaut, vous utilisez ces trois valeurs.
Notes
Lorsque vous utilisez la console de gestion des stratégies de groupe, vous n'avez pas besoin d'utiliser des guillemets ou des virgules. Tapez simplement chaque entrée sur des lignes individuelles.
Pour terminer la désactivation de SMBv1, redémarrez les systèmes ciblés.
Auditer l’utilisation de SMBv1
Pour déterminer quels clients tentent de se connecter à un serveur SMB à l’aide de SMBv1, vous pouvez activer l’audit sur les clients Windows Server et Windows. Pour activer ou désactiver l’audit, utilisez l’applet de commande Set-SmbServerConfiguration. Pour vérifier l’état de l’audit, utilisez l’applet de commande Get-SmbServerConfiguration.
Activez :
Set-SmbServerConfiguration -AuditSmb1Access $true
Ensuite, désactivez les éléments suivants :
Set-SmbServerConfiguration -AuditSmb1Access $false
Détecter :
Get-SmbServerConfiguration | Select AuditSmb1Access
Après avoir activé l’audit SMBv1, vous pouvez vérifier le journal des événements Microsoft-Windows-SMBServer\Audit
pour les événements d’accès. Chaque fois qu’un client tente d’utiliser SMBv1 pour se connecter à un serveur, une entrée dont l’ID d’événement est 3000 apparaît dans le journal.
Vérifier les paramètres de stratégie de groupe
Si tous les paramètres se trouvent dans le même objet de stratégie de groupe, la gestion des stratégies de groupe affiche les paramètres suivants :
Tester et valider la stratégie
Une fois que vous avez effectué les étapes de configuration dans la console de gestion des stratégies de groupe, donnez le temps à la stratégie de groupe d’appliquer les mises à jour à ses paramètres. 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
Après avoir testé la stratégie, redémarrez les systèmes cibles.