Le protocole SMB (Server Message Block Protocol) est un protocole de communication client-serveur utilisé pour partager l'accès aux fichiers, imprimantes, ports série et autres ressources sur un réseau. Il peut également transporter des protocoles de transaction pour la communication interprocessus.
Créé par IBM dans les années 1980, le protocole SMB a depuis engendré de nombreuses variantes ou implémentations, également appelées dialectes, pour répondre aux besoins en évolution du réseau au fil des ans.
Sommaire
Comment fonctionne le protocole SMB?
Le protocole SMB permet à une application – ou à l'utilisateur d'une application – d'accéder aux fichiers d'un serveur distant, ainsi qu'à d'autres ressources, notamment des imprimantes, des logements de courrier et des canaux nommés. Ainsi, une application client peut ouvrir, lire, déplacer, créer et mettre à jour des fichiers sur le serveur distant. Il peut également communiquer avec tout programme serveur configuré pour recevoir une demande du client SMB.
Le protocole SMB est appelé protocole de demande de réponse, ce qui signifie qu'il transmet plusieurs messages entre le client et le serveur pour établir une connexion.
Le premier dialecte du protocole SMB, CIFS (Common Internet File System), a acquis une notoriété en tant que protocole bavard qui gêne les performances du réseau étendu (WAN) en raison des charges combinées de latence et des nombreux accusés de réception de CIFS. Le prochain dialecte, SMB 2.0, a amélioré l'efficacité du protocole en réduisant considérablement ses centaines de commandes et sous-commandes à seulement 19.
Le protocole SMB fonctionne dans la couche 7, également appelée couche d'application, et peut être utilisé via TCP / IP sur le port 445 pour le transport. Les premiers dialectes du protocole SMB utilisent l’interface de programmation d’application (API) NetBIOS sur TCP / IP ou des protocoles hérités tels que Internetwork Packet Exchange ou NetBEUI. Aujourd'hui, la communication avec des périphériques ne prenant pas en charge directement SMB via TCP / IP nécessite l'utilisation de NetBIOS via un protocole de transport, tel que TCP / IP.
Les systèmes d’exploitation Microsoft Windows depuis Windows 95 incluent la prise en charge du protocole SMB client et serveur. Samba, un serveur open source prenant en charge le protocole SMB, a été publié pour les systèmes Unix.
Un client et un serveur peuvent implémenter différentes variantes de SMB, qu'ils négocient avant de démarrer une session.
Dialect de protocole SMB
Des variantes du protocole SMB ont amélioré les capacités, l'évolutivité, la sécurité et l'efficacité de la mise en œuvre initiale. Voici un bref aperçu des dialectes notables du protocole SMB:
- SMB 1.0 (1984): créé par IBM pour le partage de fichiers sous DOS. Introduction du verrouillage opportuniste (OpLock) en tant que mécanisme de mise en cache côté client conçu pour réduire le trafic réseau. Microsoft inclurait plus tard le protocole SMB dans son produit LAN Manager.
- CIFS (1996): Dialecte SMB développé par Microsoft qui a fait ses débuts dans Windows 95. Ajout de la prise en charge de fichiers plus volumineux, du transport directement via TCP / IP, ainsi que des liens symboliques et physiques.
- PME 2.0 (2006): publié avec Windows Vista et Windows Server 2008. Réduction du nombre de discussions pour améliorer les performances, évolutivité et résilience améliorées, ainsi que prise en charge de l'accélération WAN.
- SMB 2.1 (2010): introduit avec Windows Server 2008 R2 et Windows 7. Le modèle de location client oplock a remplacé OpLock pour améliorer la mise en cache et améliorer les performances. D'autres mises à jour comprenaient la prise en charge d'un grand nombre d'unités de transmission maximum (MTU) et une efficacité énergétique améliorée, ce qui permettait aux clients disposant de fichiers ouverts d'un serveur SMB d'entrer en mode veille.
- SMB 3.0 (2012): fait ses débuts dans Windows 8 et Windows Server 2012. Ajout de plusieurs mises à niveau importantes pour améliorer la disponibilité, les performances, la sauvegarde, la sécurité et la gestion. Les nouvelles fonctionnalités remarquables incluent SMB Multichannel, SMB Direct, le basculement transparent de l'accès client, la prise en charge de VSS à distance, le cryptage SMB, etc.
- SMB 3.02 (2014): Introduit dans Windows 8.1 et Windows Server 2012 R2. Mises à jour des performances incluses et possibilité de désactiver complètement le support de CIFS / SMB 1.0, y compris la suppression des fichiers binaires associés.
- SMB 3.1.1 (2015): Publié avec Windows 10 et Windows Server 2016. Ajout de la prise en charge du cryptage avancé, de l'intégrité de la pré-authentification afin de prévenir les attaques de type intermédiaire et de la protection du dialecte en cluster, entre autres mises à jour.
En 2017, les attaques WannaCry et Petya ransomware ont exploité une vulnérabilité de SMB 1.0 pour charger des logiciels malveillants sur des clients vulnérables et les propager sur des réseaux. Par la suite, Microsoft a publié un correctif, mais les experts ont conseillé aux utilisateurs et aux administrateurs de désactiver SMB 1.0 / CIFS sur tous les systèmes.
CIFS vs. SMB
Comme indiqué dans la liste ci-dessus, CIFS est l'un des premiers dialectes du protocole SMB mis au point par Microsoft. Bien que les termes soient parfois utilisés de manière interchangeable, CIFS ne fait référence qu'à une seule implémentation de SMB. La plupart des systèmes modernes utilisent des dialectes plus récents du protocole SMB.
Samba contre SMB
Publié en 1992, Samba est une implémentation open source du protocole SMB pour les systèmes Unix et les distributions Linux. Il prend en charge le partage de fichiers et les services d'impression, l'authentification et l'autorisation, la résolution de noms et les annonces de services entre serveurs Linux / Unix et clients Windows.
Commentaires
Laisser un commentaire