Vue d’ensemble de la signature de bloc de messages du serveur
Cet article décrit la signature SMB (Server Message Block) 2.x et 3.x et comment déterminer si la signature SMB est requise.
Introduction
La signature SMB (également appelée signatures de sécurité) est un mécanisme de sécurité dans le protocole SMB. La signature SMB signifie que chaque message SMB contient une signature générée à l’aide de la clé de session. Le client place un hachage de l’intégralité du message dans le champ de signature de l’en-tête SMB.
La signature SMB apparaît d’abord dans Microsoft Windows 2000, Microsoft Windows NT 4.0 et Microsoft Windows 98. Les algorithmes de signature ont évolué au fil du temps. La signature SMB 2.02 a été améliorée par l’introduction du code d’authentification de message basé sur le hachage (HMAC) SHA-256, en remplaçant l’ancienne méthode MD5 de la fin des années 1990 utilisée dans SMB1. SMB 3.0 a ajouté des algorithmes AES-CMAC. Dans Windows Server 2022 et Windows 11, nous avons ajouté l’accélération de signature AES-128-GMAC. Si vous souhaitez obtenir la meilleure combinaison de performances et de protection, envisagez d’effectuer une mise à niveau vers les dernières versions de Windows.
Comment la signature SMB protège la connexion
Si quelqu’un modifie un message pendant la transmission, le hachage ne correspond pas, et SMB sait qu’une personne a falsifié les données. La signature confirme également les identités de l’expéditeur et du destinataire. Cela empêche les attaques de relais. Dans l’idéal, vous utilisez Kerberos au lieu de NTLMv2 afin que votre clé de session démarre fort. Ne vous connectez pas aux partages à l’aide d’adresses IP et n’utilisez pas d’enregistrements CNAME, ou vous utiliserez NTLM au lieu de Kerberos. Utilisez Kerberos à la place. Pour plus d’informations, consultez Utilisation des alias de nom d’ordinateur à la place des enregistrements CNAME DNS.
Emplacements des stratégies pour la signature SMB
Les stratégies pour la signature SMB se trouvent dans Configuration de l’ordinateur>Paramètres Windows>Paramètres de sécurité>Stratégies locales>Options de sécurité.
- Client réseau Microsoft : communications signées numériquement (toujours)
Clé de Registre :HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
Valeur du registre : RequireSecuritySignature
Type de données : REG_DWORD
Données : 0 (désactiver), 1 (activer) - Client réseau Microsoft : Signer numériquement les communications (si le serveur accepte)
Clé de Registre :HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
Valeur de Registre : EnableSecuritySignature
Type de données : REG_DWORD
Données : 0 (désactiver), 1 (activer) - Serveur réseau Microsoft : communications signées numériquement (toujours)
Clé de Registre :HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
Valeur du registre : RequireSecuritySignature
Type de données : REG_DWORD
Données : 0 (désactiver), 1 (activer) - Serveur réseau Microsoft : Signer numériquement les communications (si le client accepte)
Clé de Registre :HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
Valeur de Registre : EnableSecuritySignature
Type de données : REG_DWORD
Données : 0 (désactiver), 1 (activer)
Notez que dans ces stratégies, « toujours » indique que la signature SMB est requise et que « si le serveur accepte » ou « si le client accepte » indique que la signature SMB est activée.
Comprendre « RequireSecuritySignature » et « EnableSecuritySignature »
Le paramètre de Registre EnableSecuritySignature pour le client SMB2+ et le serveur SMB2+ est ignoré. Par conséquent, ce paramètre ne fait rien sauf si vous utilisez SMB1. La signature SMB 2.02 et versions ultérieures est contrôlée uniquement par le fait d’être requise ou non. Ce paramètre est utilisé lorsque le serveur ou le client nécessite la signature SMB. Seulement si la signature est définie sur 0 , la signature n’a pas lieu.
- | Serveur – RequireSecuritySignature=1 | Serveur – RequireSecuritySignature=0 |
---|---|---|
Client – RequireSecuritySignature=1 | Signé | Signé |
Client – RequireSecuritySignature=0 | Signé | Non signé |
Référence
Configurer la signature SMB en toute confiance
Comment défendre les utilisateurs contre les attaques d’interception via la défense du client SMB
Sécurité SMB 2 et SMB 3 dans Windows 10 : Anatomie des clés de signature et de chiffrement