Dies ist eine alte Version des Dokuments!
Hardening SMB
Contexte technique du protocole SMB
Server Message Block est vulnérable aux attaques de relais NTLM lorsque les paquets ne sont pas signés. Cette Man-In-The-Middle-Attack détourne les authentifications entre les clients et les serveurs. L'authentification permet de lancer une session sur le serveur et de détourner des données. La signature SMB attribue explicitement chaque session initiée au client. Ainsi, le détournement de l'authentification reste certes toujours possible, mais il est rejeté, car la session n'est pas signée.
Dans SMBv1, la signature SMB est désactivée par défaut. Ce protocole est obsolète, comporte des erreurs, n'est pas sûr et devrait être désactivé de manière générale. SMBv2 active certes la signature SMB par défaut, mais ne l'utilise que si le serveur ou le client l'exige comme condition préalable. Ce n'est généralement pas le cas.
Serveur | |||
---|---|---|---|
Client | Nécessite | Activé | Désactivé (SMBv1) |
Requis | Signé | Signé | Non supporté |
Activé | Signé | Signé SMBv1, non signé SMBv2 | non signé |
Désactivé (SMBv1) | non pris en charge | non signé | non signé |
Il en résulte que la signature SMB doit être activée sur le serveur comme condition préalable.
Déroulement
- Étape 1 - Désactiver SMBv1
- Étape 2 - Activer la signature SMB en option côté client
- Étape 3 - Forcer la signature SMB côté serveur
Étape 1 - Désactiver SMBv1
Clients
Les clients peuvent être gérés via le script de connexion. Via Powershell (droits admin. nécessaires), le statut peut être consulté comme suit :
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
La désactivation de SMBv1 est également possible via Powershell (redémarrage nécessaire) :
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Serveur
Les mêmes commandes s'appliquent aux serveurs. Un redémarrage devrait être prévu au préalable.
Étape 2 - Activer la signature SMB en option côté client
L'étape suivante consiste à activer la signature SMB en option côté client. Pour ce faire, une stratégie de groupe globale peut être définie. Les directives correspondantes se trouvent ici :
Computerkonfiguration -> Windows-Einstellungen -> Sicherheitseinstellungen -> Lokale Richtlinien -> Sicherheitsoptionen
Il est également possible de définir les paramètres dans le registre.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters] "EnableSecuritySignature"=dword:00000001 "RequireSecuritySignature"=dword:00000000
Étape 3 - Forcer la signature SMB côté serveur
Option 1 : via la stratégie de groupe
Computerkonfiguration -> Windows-Einstellungen -> Sicherheitseinstellungen -> Lokale Richtlinien -> Sicherheitsoptionen
Option 2 : via Powershell
Obtenir le statut
Get-SmbClientConfiguration | select RequireSecuritySignature, EnableSecuritySignature Get-SmbServerConfiguration | select RequireSecuritySignature, EnableSecuritySignature
Activer le forçage
Set-SmbClientConfiguration -EnableSecuritySignature $true Set-SmbServerConfiguration -EnableSecuritySignature $true Set-SmbServerConfiguration -RequireSecuritySignature $true Set-SmbClientConfiguration -RequireSecuritySignature $true
Références