Cours IT

Le protocole SMB

Le protocole SMB, pour « Server Message Block » est utilisé principalement pour le transfert de données et la connexion avec des imprimantes, entre un serveur et un client sur un même réseau local.

Vous ne le voyez pas et vous ne le saviez peut-être pas, mais la majorité de vos partages réseaux et la connexion aux imprimantes réseaux se font via le protocole SMB (en plus de la pile TCP/IP). Tous les jours, ce protocole est exploité, même en interne dans votre poste !

Image provenant de samba.org


Historique

Le premier protocole permettant l’échange d’informations et la connexion à certains périphériques via port série s’intitulait « PC NETWORK PROGRAM 1.0 » et a été pour la première fois mis en place par IBM en 1985.

Auparavant, ce protocole ne portait pas son nom de « SMB », mais de « CIFS« , pour « Common Internet File System ». Il s’agissait à peu près du même principe qu’aujourd’hui : des ressources sur un réseau local sont accessibles via authentification (en clair ou chiffrée) et permettait aussi l’accès aux imprimantes.
Naturellement, avec les technologies de l’époque, il ne faut pas s’attendre à des performances extrêmes et à une sécurité hors paire. De plus, il n’y avait pas encore de régulation des flux, des contrôles de qualité de flux ou de service (QoS). Le protocole CIFS a été standardisé par l’IETF vers 1997.
Avec le temps, les protocoles ont évolués aussi bien en vitesse qu’en fonctionnalité et surtout, leur sécurité.

De SMB 1.0 à SMB 2.0, le protocole a été profondément remanié :

  • Le SMB 2.0 permet notamment l’échange de fichiers plus gros,
  • les opérations asynchrones,
  • l’utilisation du SHA-256 plutôt que le MD5,
  • les commandes sont plus « souples » et « simples« ,
  • enfin, la possibilité d’avoir plus d’I/O lors des transferts.

De SMB 2.0 / 2.1 à SMB 3.0, de grosses nouveautés apparaîssent, notamment :

  • les performances accrues,
  • un « transparent failover » (permet de reprendre un transfert interrompu sans action de la part de l’utilisateur)
  • SMB Direct (dans Windows Server 2012/2012 R2) – voir infos sur Technet Microsoft
  • VSS pour les dossiers partagés
  • utilisation via PowerShell désormais possible
  • logs et compteurs de performances améliorés
  • chiffrement complet (!)

Informations complémentaires

Le SMB est propriétaire. Il utilise les ports 139 et 445. Bien qu’il soit présent dans Windows depuis NT 4.0, les distributions Linux et l’environnement Apple ne sont pas en reste. Ils ont eux aussi droit à leur protocole d’échange… dérivé du SMB ! En effet, il s’agit du protocole (et du logiciel portant le même nom) « SAMBA« .
Et vis-à-vis du modèle OSI, comment ça fonctionne ?

Image provenant de samba.org

Des partages entre Linux et Windows, une imprimante installée sur une machine Linux et partagée vers un PC Windows, est-ce possible ? La réponse est OUI.

Il est possible de partager des données entre une machine Linux et un PC Windows, que ce soit avec Samba ou SMB – les deux protocoles sont compatibles entre-eux. Misfu en fait la démonstration et propose des configurations à cette adresse. Pour rappel, SAMBA est la version libre et modifiable du SMB – se basant sur les mêmes points, vous pouvez tout à fait utiliser du SAMBA sur un Windows et inversement (partage SMB d’un Windows vers un Linux).

Aujourd’hui, pour Windows 10 et Windows Server 2016, le protocole SMB en est à la version 3.1.1 – Article TechNet.


La sécurité

Deux types de sécurité sont disponibles pour les partages SMB :

  • protection par partage (dossier partagé)
  • protection par utilisateur

Vous pouvez attribuer des droits sur les dossiers en fonction des besoins, ou alors restreindre l’accès aux dossiers (tous) en fonction de la connexion de l’utilisateur. La protection par partage est en fait un mot de passe sur ce dossier partagé. Une fois que vous avez ce mot de passe, vous pouvez accéder au dossier.
La protection par utilisateur permet d’avoir une sécurité un peu plus fine : vous ajouter/enlever les droits selon l’utilisateur, sur le dossier concerné.

Le site inetdoc explique un type d’attaque possible sur le protocole, à savoir un MITM.


Annexes

Vous pouvez retrouver des informations complémentaires à ces adresses :

En voir plus

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close