Vous êtes sur la page 1sur 16

Server Message

Block
protocole réseau

Pour les articles homonymes, voir


SMB.
Server
Message Block
Informations
Fonction Partage de
ressources
Sigle SMB
Port 445 : SMB
avec
Microsoft
Directory
Services
(DNS)[1]
139 : SMB
avec NBT
(NetBIOS
sur
TCP/IP)[2]

Le protocole SMB (Server Message


Block[3]) est un protocole permettant le
partage de ressources (fichiers et
imprimantes) sur des réseaux locaux
avec des PC sous Windows.
Dans l'ancien Windows NT 4, il était
appelé CIFS (Common Internet File
System). La version 2 de SMB est
apparue dans Vista, Windows 7 et
Windows 8[4]. Actuellement SMB est en
version 3.1.1, introduite dans Windows
10 et Windows Server 2016[5].

Chez Microsoft, de LAN


Manager à CIFS
Créé en 1985 par IBM, ce protocole s'est
d'abord appelé LAN Manager sous OS/2,
puis il a été popularisé par Microsoft
Windows qui l'intégrait comme système
par défaut de partage de fichiers sous
Windows. En 1996, dans une opération
marketing visant à contrer l'annonce de
WebNFS par Sun Microsystems,
Microsoft renomme SMB en CIFS
(Common Internet File System)[6],[7] et
ajoute plusieurs fonctions comme le
support des raccourcis et de fichiers de
plus grande taille.

En 2006, avec l'arrivée de Windows Vista


puis de Windows 7, Microsoft a mis au
point une version 2 du protocole plus
rapide. Le protocole est de nouveau
nommé SMB (SMB 2).

En 2012, avec Windows 8 et Windows


Server 2012, Microsoft propose la
version 3[8] de SMB. Elle apporte des
améliorations significatives, comme le
SMB Direct Protocol (SMB sur RDMA) et
le SMB Multichannel[9] (plusieurs
connexions par session SMB), ainsi
qu'un gain de performances par rapport à
la version 2, notamment avec les centres
de traitement de données virtuels.

En novembre 2018, avec l'apparition de


Windows 10 (1903) et Windows Server
2019, Microsoft décide de ne plus activer
la fonctionnalité SMB1/CIFS par défaut
comme pour les versions précédentes de
Windows. Il demeure tout de même
possible de l'activer pour des questions
de rétro-compatibilité avec d'anciennes
versions, malgré l'important risque de
sécurité (voir le dernier chapitre
"sécurité" de cet article).

Architecture client-serveur …

SMB fonctionne via une structure de


client/serveur, le client va envoyer des
requêtes spécifiques et le serveur de
fichiers va y répondre. Le protocole est
optimisé pour une utilisation dans un
réseau local, mais il peut aussi être
utilisé sur Internet.

Partage de ressources diverses …

Le serveur SMB permet de donner


l’accès aux clients du réseau à des
systèmes de fichiers, mais aussi à
d’autres ressources comme des
imprimantes. Le client peut avoir ses
propres disques qui ne seront pas
partagés et peut accéder en même
temps aux disques et imprimantes
partagés par le serveur. Les ressources
partagées sont accessibles à partir d'une
adresse utilisant la convention UNC de
type :
\\serveur\partage\chemin\nom_fichier

La couche réseau utilisée par


CIFS : TCP/IP ou NetBEUI

SMB a été à l’origine conçu pour tourner


par-dessus une des implémentations de
NetBEUI nommé aussi NBT.

Des évolutions du protocole ont été


apportées car il n'était pas routable
(interconnexion d'un réseau avec un
autre). Il a été encapsulé dans des
trames TCP/IP depuis Windows 2000.

Charge du réseau …

Historiquement le protocole SMB se


base sur la couche NetBIOS. Le
protocole NetBIOS est connu pour
générer du broadcast pour la résolution
de nom à travers le protocole NBNS, et
génère donc de la consommation de
bande passante inutile.
Pour pallier ce problème il est possible
d'installer un serveur WINS, ce qui est la
pratique recommandée si NetBIOS n'a
pas été désactivé. De plus, il est de plus
en plus courant de désactiver
complètement le protocole NetBIOS car
celui-ci n'est plus nécessaire s'il n'y a pas
d'application ou de serveur historique
(antérieur à Windows 2000)[10].

Base de registre (service


LanManWorkstation et autres)

Dans la base de registre (notamment


sous Windows 7), le paramétrage de
base de SMB est dans l'arborescence
HKEY_LOCAL_MACHINE/System/Current
ControlSet/Services/LanManWorkstation.
Comme pour beaucoup d'autres
éléments de la base de registre, les noms
d'origine des fonctionnalités ont été
conservés dans la base de registre, alors
que Microsoft a changé le nom de la
fonctionnalité.

En plus de ces paramètres de base, il y a


de nombreux autres paramètres
concernant SMB :

Le paramétrage qui a le plus d'impact


sur les performances
réseau [réf. nécessaire] est dans
l'arborescence
HKEY_LOCAL_MACHINE/System/Curre
ntControlSet/Services/Browser
Le paramétrage ayant le plus d'impact
sur la sécurité [réf. nécessaire] est dans
HKEY_LOCAL_MACHINE/System/Curre
ntControlSet/Services/LanManServer.

Samba dans l'open source


Le protocole SMB est disponible sur la
plupart des systèmes d'exploitation,
notamment Linux/Unix, grâce à son
implémentation libre Samba. La première
version stable et publique de Samba est
sortie en 1997[11].

Sécurité
Le protocole SMBv1 utilisait l’ancien
protocole de communication Microsoft
NTtrans2 en cas de message trop long.
Une vulnérabilité nommée EternalBlue
exploitait un bufferoverflow dans
NTtrans ce qui permit la diffusion en
mai 2017 de deux des plus grands
ransomware de l'histoire d'internet,
WannaCry[12]. Cette faille de sécurité a
été corrigée suite à une mise à jour
diffusée le 14 mars 2017 (MS17-010 ).

SMBv3 a également été la source de la


CVE-2020–0796 (wormable, donc
permettant une transmission latérale
similaire à EternalBlue). Cette faille a été
patchée par Microsoft quelques jours
plus tard.
Références
1. (en) « Port Authority Database : port
445 » , Gibson Research
Corporation  (en) (consulté le
5 septembre 2019)
2. "Hébergement direct de SMB sur
TCP/IP" sur support.microsoft.com
3. Spécification du protocole sur
MSDN
4. Deuxième génération du protocole
5. Jose Barreto, « What’s new in SMB
3.1.1 in the Windows Server 2016
Technical Preview 2 » , Microsoft
TechNet Server & Management
Blogs, 5 mai 2015
. Les mythes à propos de SAMBA
7. [1]
. (en) « Windows Server Blog: SMB 2.2
is now SMB 3.0 » , Microsoft
9. (en) « SMB Direct Protocol et SMB
Multichannel » , Microsoft
10. https://blogs.msmvps.com/acefekay
/2013/03/02/do-i-need-netbios/ "Do
I need NetBIOS"
11. http://www.samba.org/samba/histor
y/samba1.9.17.html
12. vincent@nextinpact.com,
« WannaCrypt : une infection
« jugulée », le point sur la situation »,
NextImpact, 15 mai 2017 (lire en
ligne , consulté le
19 septembre 2017)
Voir aussi

Articles connexes …

Microsoft : Partage administratif :


IPC$, PRINT$, FAX$
Open source : Samba
Network File System (NFS)

Liens externes …

Site officiel de Samba


Description du protocole SMB
(Anglais)
jCIFS le java CIFS, la bibliothèque
logicielle de Samba
(en) La page de Microsoft concernant
CIFS
(en) JLAN Implémentation CIFS issue
d'Alfresco

Portail de Microsoft
 

Ce document provient de
« https://fr.wikipedia.org/w/index.php?
title=Server_Message_Block&oldid=173466147 ».

Dernière modification il y a 3 mois par Arnaud.Serander

Le contenu est disponible sous licence CC BY-SA


3.0 sauf mention contraire.

Vous aimerez peut-être aussi