Hardening SMB

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

flowchart Z[Déroulement] A[Désactiver SMBv1] B[Signature SMB] C(client) D(serveur) E(activation facultative) F(activation forcée) Z-étape 1-->A Z-->B B-->C B-->D C-étape 2-->E D-étape 3-->F

É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

https://learn.microsoft.com/de-de/troubleshoot/windows-server/networking/overview-server-message-block-signing

https://en.hackndo.com/ntlm-relay/

fr/it-security/smb-hardening.1707081637.txt.gz · Zuletzt geändert: 2024/02/04 21:20
CC Attribution-Noncommercial-Share Alike 4.0 International