Améliorations de sécurité de SMBv3

Le protocole de partage de fichiers de Windows a été tout simplement révolutionné dans Windows Server 2012 et Windows 8. Un des changements majeurs concerne les performances mais nous y reviendrons dans un article ultérieur. Regardons plutôt dans un premier temps les améliorations sous l’angle de la sécurité.

Signature

La signature du trafic est une fonctionnalité présente dans SMB depuis longtemps , elle permet d'authentifier les messages échangés entre les clients et serveurs. En SMBv2, on utilisait un hash de 32 octets en avec HMAC-SHA256 pour le message. En SMBv3 on utilise désormais un hash de 16 octets AES-CMAC-128.

Chiffrement

SMB est un protocole dans lequel les données circulent en texte clair. Pour les données sensibles en transit sur le réseau, nous recommandons en général de mettre en œuvre IPsec (ce que l’on nomme isolation de serveurs ou de domaine pour les plus valeureux). Avec SMBv3, cela n’est plus obligatoire car le chiffrement est désormais implémenté dans le protocole. La méthode utilisée est AES 128 CCM et l’authentification est habituelle (Kerberos ou NTLM).

Pour mettre cela en place, il suffit d’aller dans la console de partage de fichiers de Windows Server 2012 :

NewShare0

Pour ensuite créer un partage simple:

NewShare1

Dans la catégorie autres options, il suffit ensuite d'activer le chiffrement:

NewShare4

 

Le paramétrage peut aussi se faire en Powershell avec la commande suivante : Set-SmbShare –Name <nomdupartage> -EncryptData $true

S'il s'agit d'une machine dont tous les partages contiennent des données sensibles, il est également possible de forcer au niveau global, sur la machine, le chiffrement de tous les partages qui vont être crées: Set-SmbServerConfiguration -EncryptData $true

Activer le chiffrement pour SMB est une très bonne idée, mais gardez tout de même à l'esprit que toutes les machines qui ne font pas de SMBv3 (toutes les versions de Windows avant Windows 8) auront un accès refusé au partage. Cela est dû au paramétrage par défaut qui empêche un accès non chiffré. C’est le réglage par défaut car on pourrait imaginer des connections clientes qui se déconnectent et reconnectent en SMBv2 pour avoir une session en texte clair.

On peut voir ce paramètre par défaut avec la commande: Get-SmbServerConfiguration

RejectUnencrypted

Vous l'avez donc compris, si vous souhaitez autoriser l'accès aux clients qui n'implémentent pas le chiffrement, il vous faudra donc utiliser la commande: Set-SmbServerConfiguration –RejectUnencryptedAccess $false

Désactivation de SMBv1

SMBv1 c’est environ 1000 commandes : beaucoup de complexité pour au final un protocole assez ancien et plus très performant. On vous recommande donc de le désactiver s’il n’est pas nécessaire. Au bémol près évidemment que tous les clients antérieurs à Windows Vista ne sont pas capables de se connecter aux partages SMBv1. Parions donc qu’il y aura encore quelques mois avant que vous ne le désactiviez en utilisant:

Set-SmbServerConfiguration –EnableSMB1Protocol $false

Dans un prochain article, nous étudierons les nouveautés concernant les performances de SMBv3, en attendant, vous pouvez consulter les ressources suivantes:

Enfin, pour tester Windows Server 2012, téléchargez gratuitement la version d’évaluation disponible sous la forme :

Arnaud