Common Internet File System (CIFS) est un protocole qui permet l’accès aux fichiers, aux imprimantes et aux ports série entre différentes machines d’un même réseau.

Grâce à cet accès, les clients peuvent ouvrir, lire et modifier les documents partagés, qui sont automatiquement enregistrés sur les machines locales.

Les utilisateurs peuvent également accéder aux services de communication interprocessus et aux files d’attente d’impression.

Le CIFS a été développé au début des années 1980 par IBM.

Comment fonctionne le CIFS

Le CIFS suit un modèle client-serveur. Trois entités sont impliquées : un client, une application et le serveur.

  • Le client met en œuvre le protocole d’où partent la plupart des messages.
  • Le serveur met en œuvre le protocole et fournit la plupart des fonctionnalités (service).
  • L’application peut être un logiciel qui exécute des fonctions telles que l’interface utilisateur graphique, la gestion de fichiers ou le traitement de texte.

C’est ainsi que fonctionne le CIFS ;

  • Une session NetBIOS permettant d’accéder aux ressources partagées est établie entre le client et le serveur.
  • Le processus de négociation permet au client et au serveur de déterminer le dialecte qui sera utilisé.
  • Le client soumet les informations d’authentification, principalement un nom d’utilisateur et un mot de passe, au serveur par le biais d’un identifiant unique.
  • Active Directory gère principalement le processus d’authentification. Cependant, le CIFS ne gère pas directement l’authentification.
  • Le serveur renvoie l’identifiant unique si l’authentification est réussie.
  • Le serveur vérifie si le client dispose des autorisations requises et si le nom du partage est valide. Si tous ces éléments sont valides, le client se voit accorder l’accès aux ressources partagées telles que les fichiers et les dossiers.

Caractéristiques du protocole CIFS

CIFS-Protocol-Features

Indépendance du transport

Le protocole CIFS n’impose aucune exigence au protocole de transport qui envoie les messages SMB entre le serveur et le client. Le protocole CIFS est simplement transporté par un protocole orienté connexion.

Accès aux fichiers

Un client/utilisateur peut ouvrir, lire, modifier et fermer plusieurs fichiers sur un serveur cible. Le serveur est chargé du partage des fichiers, ce qui signifie que plusieurs clients peuvent ouvrir et lire le même fichier simultanément et sur différents appareils.

Possède des attributs de fichier, de répertoire et de volume

Le protocole CIFS peut interroger et aussi, avec une capacité limitée, définir des attributs de répertoire, de fichier et de volume. Les listes de contrôle d’accès (ACL) sont également prises en charge par le protocole CIFS.

Sous-protocoles étendus

Le protocole CIFS prend en charge divers sous-protocoles qui offrent un accès direct à des fonctionnalités supplémentaires du serveur.

Prise en charge de la communication interprocessus par tuyaux nommés

Le client peut ouvrir, écrire, lire et fermer des tuyaux nommés sur le serveur spécifique. Les tuyaux nommés offrent un chemin de communication entre le serveur et les services clients.

Connectivité flexible

Un client peut se connecter à plusieurs serveurs. Un tel client peut également établir une ou plusieurs connexions avec un serveur.

Prise en charge de la négociation des fonctionnalités

L’ensemble des fonctionnalités prises en charge par un protocole et le dialecte sont négociés par connexion.

Verrouillage des fichiers et des enregistrements et mise en cache sécurisée

Le protocole CIFS prend en charge le verrouillage des fichiers et des enregistrements. Le même protocole permet le verrouillage opportuniste des fichiers, ce qui donne aux clients la possibilité de mettre les données en cache pour améliorer les performances.

Notifications de changement de répertoire et de fichier

Les clients utilisant le protocole CIFS peuvent demander à être informés de toute modification apportée à une ressource, telle qu’un fichier dans un répertoire ou un répertoire sur un serveur spécifique.

Prise en charge du système de fichiers distribués (DFS)

DFS crée un espace de noms global contenant des ressources sur plusieurs serveurs.

Prise en charge de plusieurs contextes de sécurité

Un client peut utiliser et créer un ou plusieurs contextes de sécurité sur une certaine connexion.

Conditions préalables à l’utilisation du CIFS

CIFS a besoin d’un transport réseau sous-jacent (généralement orienté connexion). Cependant, dans certains cas, les messages CIFS peuvent être transmis via un transport sans connexion, moyennant quelques modifications mineures.

Avant que les messages CIFS puissent être échangés via un transport orienté connexion, une connexion doit être établie.

Pour que les messages soient échangés sur un tel réseau, le CIFS suppose qu’une ou plusieurs des ressources suivantes sont disponibles ;

  • Une file d’attente d’impression locale qui envoie des travaux d’impression à une imprimante pour offrir des services d’impression.
  • Un système de fichiers local ou une base de données est présenté comme un système de fichiers pour permettre le partage de fichiers. La ressource, dans ce cas, est connue sous le nom de magasin d’objets.
  • Une émulation appropriée intégrée au serveur CIFS ou un système de fichiers prenant en charge les tuyaux nommés est nécessaire pour les communications interprocessus utilisant l’abstraction des tuyaux nommés.

Le serveur doit également disposer d’une base de données de mots de passe pour l’authentification ou permettre d’y accéder.

La base de données de mots de passe stocke les hachages des mots de passe NT LAN Manager (NTLM) et LAN Manager (LM) pour prendre en charge l’authentification par défi ou par réponse.

Configurer CIFS pour Windows

La plupart des utilisateurs n’utiliseront jamais CIFS, ce qui explique pourquoi la fonctionnalité est désactivée par défaut sur Windows 10 et 11.

Suivez les étapes suivantes pour la faire fonctionner ;

  • Allez dans le Panneau de configuration et cliquez sur Programme et fonctionnalités. Sur le côté gauche, cliquez sur Activer ou désactiver les fonctionnalités de Windows.
1
  • Faites défiler vers le bas jusqu’à ce que vous voyiez Prise en charge du partage de fichiers SMB 1.0/CIFS et cochez cette case. Cliquez sur l’icône pour voir toutes les options cochées
2-1

Les étapes ci-dessus permettent d’activer CIFS. Cependant, vous devez configurer le réseau auquel vous êtes connecté pour le CIFS. Voici la procédure à suivre ;

  1. Allez sur la page d’accueil du Panneau de configurationet cliquez sur Réseau et Internet.
3

2. Cliquez sur Centre de réseau et de partage. Sur la gauche, cliquez sur Modifier les paramètres de partage avancés .

4

3. Cliquez sur Modifier les paramètres de partage avancés. Vous pouvez maintenant activer la découverte du réseau et le partage de fichiers et d’imprimantes. Cliquez sur “Enregistrer les modifications”.

network-discovery

Configurer CIFS sur un dossier

Pour les besoins de cette démonstration, nous allons configurer un dossier appelé “Sample Folder” sur le disque E.

  1. Cliquez avec le bouton droit de la souris sur Sample Folder, cliquez sur Properties (Propriétés ), puis sélectionnez Sharing (Partage).
6

2. Cliquez sur Partager.

7

Notez toutefois que les utilisateurs répertoriés sont uniquement ceux qui sont actuellement configurés sur votre machine Windows.

Les destinataires doivent également tout configurer de leur côté s’ils veulent accéder aux documents envoyés.

CIFS vs. SMB : différences

Avant d’examiner les différences, il convient d’apprendre ce qu’est le Server Message Block (SMB).

Le Server Message Block a été conçu pour permettre à un client de lire, d’écrire et de modifier un fichier sur un serveur. Le serveur, dans ce cas, est un réseau local (LAN).

Le SMB au fil des ans

  • SMB 1.0. La première version de SMB est assimilée à CIFS. Cette première variante a été créée pour Windows NT 4.0 et la communication se faisait via l’interface NetBIOS .
  • SMB 2.0. Cette version a été introduite par Microsoft en 2006 par le biais de son système d’exploitation Windows Vista. Parmi les fonctionnalités introduites, citons une meilleure évolutivité, la prise en charge des liens symboliques et l’amélioration de la signature des messages.
  • SMB2.1. Cette version a été introduite en même temps que Windows 7 en 2007. La version 2.1 offre des optimisations de performance et de nouveaux mécanismes de verrouillage.
  • SMB3.0. Cette version a été introduite en même temps que Windows 8 en 2012. SMB 3.0 s’appelait à l’origine SMB 2.2, mais a été renommé par la suite. Cette version offre la possibilité d’accéder au stockage à distance par le biais de l’accès direct à la mémoire à distance (RDMA).
  • SMB3.1.1. Il s’agit de la version la plus récente au moment où nous écrivons ces lignes. SMB 3.1.1 a été créé pour Windows 10 en 2015 et a introduit des contrôles d’intégrité avant l’authentification. Cette version utilise également le cryptage avec le mode Galois/Compteur (GCM).

De nombreuses personnes confondent CIFS et SMB. Il convient de noter que SMB a été introduit plus tôt que CIFS.

Microsoft a amélioré le SMB pour créer le CIFS dans les années 1990, ce qui fait du CIFS un dialecte du SMB. Cependant, Microsoft a continué à améliorer le CIFS, et la version actuelle est SMB 3.1.1.

Voici les principales différences entre le CIFS et le SMB 3.1.1

SMB 3.1.1CIFS
Année de création Créé par IBM au début des années 1980Créé par Microsoft au début des années 1990 en tant que version améliorée de SBM
Performances SMB 3.1.1 a été créé pour résoudre la plupart des problèmes posés par CIFS et les versions antérieures de SMB. Il existe des contrôles de pré-authentification qui aident à sécuriser les fichiers dans un serveurLorsque le CIFS a été créé, de nombreux problèmes se posaient en matière de transmission de fichiers, de sécurité, etc.
AuthentificationSMB 3.1.1 utilise l’authentification AES pour sécuriser les fichiers partagés sur un serveur. L’utilisateur doit fournir un nom d’utilisateur et un mot de passe pour accéder à un fichierCIFS n’a pas d’authentification. Les fichiers ne sont donc pas sécurisés sur le réseau.
Stockage des donnéesSMB 3.1.1 utilise des champs de stockage de données de 32 ou 64 bits, ce qui permet de stocker des fichiers volumineux. Il utilise les protocoles IP/TCP qui sont similaires aux protocoles HTTP et FTP.
Travail Protocole de communication client-serveur permettant de partager l’accès aux ressources d’un réseau. Le client/utilisateur demande un fichier à un serveur situé sur un autre système informatique du même réseau.

Quels sont les inconvénients du CIFS ?

  • Absence d’authentification. L’un des principaux inconvénients du CIFS est l’absence d’authentification, contrairement aux dernières versions de SMB.
  • Ilgère des fichiers de taille limitée. CIFS n’est pas idéal pour les fichiers très volumineux, ce qui entraîne des retards et peut même provoquer des ruptures pendant le transfert.

Conclusion

Bien que les services d’accès et de partage de fichiers dans le nuage semblent prendre le dessus, les protocoles traditionnels comme le CIFS ont encore leur place. La prise en charge des connexions directes sur le port TCP 445 était l’un des principaux arguments de vente du CIFS. Même si Microsoft se concentre désormais sur le développement de SMB, le CIFS ne peut être oublié, car il s’agit de l’un des dialectes de SMB.

Vous pouvez également découvrir comment exécuter le vérificateur de fichiers système dans Windows 11/10.