Le protocole SMB

1. Introduction au protocole SMB

1.1 Définition

Le Server Message Block (SMB) est un protocole de partage de fichiers et d'imprimantes en réseau. Il permet à des applications (ou des utilisateurs) sur un ordinateur de lire et d'écrire dans des fichiers et de demander des services depuis des serveurs situés sur un réseau. SMB fonctionne essentiellement au-dessus de la couche transport TCP/IP.

1.2 Historique et évolution

1.3 Rôle et usage principal

Le protocole SMB sert principalement :


2. Architecture du protocole SMB

2.1 Couche réseau et transport

2.2 Composants et flux

2.3 Interactions et mécanismes


3. Versions du protocole SMB

3.1 SMB1 / CIFS

3.2 SMB2

3.3 SMB3


4. Fonctionnement détaillé d'une session SMB

4.1 Négociation initiale

Le client envoie une liste de versions SMB qu'il supporte, le serveur choisit la version la plus élevée (parmi celles qu'il peut gérer). Cela se produit lors de l'établissement de la session.

4.2 Authentification

4.3 Arborescence et partages

Une fois la session validée, le client peut lister les partages disponibles sur le serveur (e.g. \\serveur\partage1, \\serveur\partage2).
Chaque partage correspond à un point d'accès à un répertoire ou à une imprimante.

4.4 Opérations sur les fichiers et répertoires

4.5 Impression et autres services


5. Sécurité dans SMB

5.1 Authentification

5.2 Signature SMB

5.3 Chiffrement (SMB3)

5.4 Vulnérabilités historiques


6. Implémentations de SMB

6.1 Microsoft Windows

6.2 Samba (Linux/Unix)

6.3 macOS

6.4 Autres NAS et systèmes embarqués


7. Configuration et usage pratique

7.1 Montage d'un partage SMB sur Linux (côté client)

Exemple d'utilisation du package cifs-utils :

Installer cifs-utils (selon la distribution) :

sudo apt install cifs-utils -y  # Debian/Ubuntu

Créer un point de montage :

sudo mkdir -p /mnt/partage_smb

Monter le partage :

sudo mount -t cifs //SERVEUR/Partage /mnt/partage_smb -o username=USER,password=PASS,vers=3.0

7.2 Partage SMB sous Windows

7.3 Réglages avancés

[global]
server min protocol = SMB2
server max protocol = SMB3
encrypt passwords = yes
map to guest = Bad User
...

8. Performance et optimisations

8.1 OpLocks (Opportunistic Locks)

8.2 SMB Multichannel

8.3 SMB Direct (RDMA)

8.4 Choix de la version


9. Cas d'usage spécifiques

9.1 Entreprise multi-plateformes

9.2 Stockage réseau (NAS)

9.3 VDI et virtualisation

9.4 Cloud et conteneurs


10. Perspectives et tendances


11. Conseils et bonnes pratiques


12. Conclusion

Le protocole SMB est un pilier incontournable des environnements informatiques modernes pour le partage de fichiers et d'imprimantes. Son évolution, de SMB1/CIFS vers SMB3, reflète la volonté d'améliorer la performance, la sécurité et la robustesse du protocole. Aujourd'hui, il demeure :

En maîtrisant les fondamentaux de SMB (négociation de versions, authentification, gestion des partages, signatures et chiffrement), vous pouvez bâtir et maintenir un environnement de partage de ressources performant et sécurisé, quel que soit le mélange de systèmes d'exploitation déployés.


⬆️ Retour en haut de la page