Système de fichiers Internet commun (CIFS) expliqué en 5 minutes ou moins



Le Common Internet File System (CIFS) est un protocole réseau permettant de partager des fichiers, des imprimantes et des ports série entre divers ordinateurs connectés.

Cette fonctionnalité permet aux utilisateurs d’ouvrir, de lire et de modifier des documents partagés, ces modifications étant automatiquement synchronisées avec les machines locales.

Les utilisateurs peuvent également exploiter des services de communication inter-processus et gérer les files d’attente d’impression via ce protocole.

Le développement de CIFS remonte au début des années 1980 chez IBM.

Comment fonctionne CIFS ?

CIFS adopte un modèle client-serveur. Il fait intervenir trois éléments : un client, une application et un serveur.

  • Le client est responsable de la mise en œuvre du protocole et de l’émission de la plupart des messages.
  • Le serveur, également impliqué dans la mise en œuvre du protocole, fournit la majorité des services.
  • L’application peut être un logiciel proposant des fonctionnalités telles qu’une interface utilisateur graphique, la gestion de fichiers ou un traitement de texte.

Voici le déroulement typique d’une communication CIFS :

  • Une session NetBIOS est établie entre le client et le serveur pour accéder aux ressources partagées.
  • Lors de la phase de négociation, le client et le serveur s’accordent sur le dialecte à utiliser.
  • Le client transmet ses informations d’authentification, généralement un nom d’utilisateur et un mot de passe, au serveur via un identifiant unique.
  • Le processus d’authentification est principalement géré par Active Directory, bien que CIFS lui-même n’intervienne pas directement dans cette étape.
  • En cas d’authentification réussie, le serveur renvoie l’identifiant unique au client.
  • Le serveur vérifie ensuite si le client dispose des autorisations requises et si le nom du partage est valide. Si toutes ces conditions sont remplies, le client est autorisé à accéder aux ressources partagées telles que les fichiers et les dossiers.

Caractéristiques du protocole CIFS

Indépendance du transport

Le protocole CIFS ne spécifie pas le protocole de transport utilisé pour l’envoi des messages SMB entre le serveur et le client. Il est généralement transporté sur un protocole orienté connexion.

Accès aux fichiers

Un client/utilisateur peut ouvrir, lire, modifier et fermer plusieurs fichiers sur un serveur. Le serveur assure le partage des fichiers, permettant ainsi à plusieurs clients d’ouvrir et de lire simultanément le même fichier, et ce, depuis différents appareils.

Attributs de fichiers, de répertoires et de volumes

Le protocole CIFS peut interroger et, dans une certaine mesure, définir les attributs des répertoires, des fichiers et des volumes. La gestion des listes de contrôle d’accès (ACL) est également assurée par CIFS.

Sous-protocoles étendus

CIFS prend en charge différents sous-protocoles qui permettent d’accéder directement à des fonctionnalités supplémentaires du serveur.

Communication inter-processus par canaux nommés

Le client a la possibilité d’ouvrir, d’écrire, de lire et de fermer des canaux nommés sur un serveur spécifique. Ces canaux nommés établissent un lien de communication entre le serveur et les services clients.

Connectivité flexible

Un client peut se connecter à plusieurs serveurs et établir une ou plusieurs connexions à un même serveur.

Négociation des fonctionnalités

L’ensemble des fonctionnalités et le dialecte pris en charge par le protocole sont négociés lors de chaque connexion.

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

CIFS gère le verrouillage des enregistrements et des fichiers. Le protocole permet également le verrouillage opportuniste des fichiers, ce qui offre aux clients la possibilité de mettre en cache les données pour de meilleures performances.

Notifications de modifications de fichiers et de répertoires

Les clients utilisant CIFS peuvent demander à être notifiés lorsqu’une modification est effectuée sur une ressource, comme un fichier dans un répertoire ou un répertoire sur un serveur.

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

Le DFS permet de créer un espace de noms global regroupant les ressources réparties sur plusieurs serveurs.

Prise en charge de contextes de sécurité multiples

Un client peut utiliser ou créer un ou plusieurs contextes de sécurité pour une connexion donnée.

Prérequis pour l’utilisation de CIFS

CIFS nécessite un transport réseau sous-jacent, généralement orienté connexion. Cependant, il est possible de faire transiter les messages CIFS via un transport sans connexion, moyennant quelques modifications mineures.

Avant de pouvoir échanger des messages CIFS sur un réseau orienté connexion, une connexion doit être établie.

Pour que les messages puissent être échangés sur un tel réseau, CIFS suppose la disponibilité d’une ou plusieurs des ressources suivantes :

  • Une file d’attente d’impression locale qui envoie les travaux d’impression vers une imprimante.
  • Un système de fichiers local ou une base de données présentée comme un système de fichiers pour permettre le partage. Cette ressource est appelée magasin d’objets.
  • Un système d’émulation intégré au serveur CIFS ou un système de fichiers prenant en charge les canaux nommés est nécessaire pour les communications inter-processus.

Le serveur doit également avoir ou fournir un accès à une base de données de mots de passe pour l’authentification.

Cette base de données 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 réponse.

Configurer CIFS pour Windows

La fonctionnalité CIFS est désactivée par défaut sur Windows 10 et 11, car la plupart des utilisateurs n’en ont pas besoin.

Voici les étapes à suivre pour l’activer :

  • Ouvrez le Panneau de configuration, puis cliquez sur « Programmes et fonctionnalités ». Dans le menu de gauche, choisissez « Activer ou désactiver des fonctionnalités Windows ».
  • Faites défiler la liste jusqu’à « Prise en charge du partage de fichiers SMB 1.0/CIFS » et cochez la case correspondante. Cliquez sur l’icône + pour afficher les options cochées.

Les étapes précédentes activent CIFS. Ensuite, vous devez configurer le réseau pour CIFS. Voici la procédure :

  • Retournez à l’accueil du Panneau de configuration et cliquez sur « Réseau et Internet ».
  • 2. Cliquez sur « Centre Réseau et partage ». Dans la colonne de gauche, cliquez sur « Modifier les paramètres de partage avancés ».

    3. Dans « Modifier les paramètres de partage avancés », activez « Découverte du réseau » et « Partage de fichiers et d’imprimantes ». Cliquez sur « Enregistrer les modifications ».

    Configurer CIFS sur un dossier

    Pour cet exemple, nous allons créer un dossier nommé « Sample Folder » sur le disque E.

  • Cliquez avec le bouton droit sur le dossier et choisissez « Propriétés », puis sélectionnez l’onglet « Partage ».
  • 2. Cliquez sur « Partager ».

    Il est important de noter que les utilisateurs listés sont uniquement ceux configurés sur votre machine Windows.

    Les destinataires doivent également configurer leur système pour pouvoir accéder aux documents partagés.

    CIFS vs SMB : les différences

    Avant d’étudier les différences, il est important de comprendre ce qu’est Server Message Block (SMB).

    SMB a été conçu pour permettre à un client de lire, d’écrire et de modifier un fichier sur un serveur, généralement dans un réseau local (LAN).

    Évolution de SMB

    • SMB 1.0 : La première version de SMB est assimilable à CIFS. Cette version a été conçue pour Windows NT 4.0 et la communication se faisait via l’interface NetBIOS.
    • SMB 2.0 : Cette version, introduite par Microsoft en 2006 avec Windows Vista, améliorait l’évolutivité, ajoutait la prise en charge des liens symboliques et améliorait la signature des messages.
    • SMB 2.1 : Sortie en même temps que Windows 7 en 2007, elle offrait de nouvelles optimisations de performances et de nouveaux mécanismes de verrouillage.
    • SMB 3.0 : Introduite en 2012 avec Windows 8, cette version, initialement appelée SMB 2.2, permettait d’accéder au stockage distant via l’accès direct à la mémoire à distance (RDMA).
    • SMB 3.1.1 : Dernière version à ce jour, conçue pour Windows 10 en 2015, elle introduit des contrôles d’intégrité avant l’authentification et utilise le cryptage Galois/Counter Mode (GCM).

    Il est courant de confondre CIFS et SMB. Il est important de noter que SMB est apparu avant CIFS.

    Microsoft a amélioré SMB pour créer CIFS dans les années 1990, faisant de CIFS un dialecte de SMB. Cependant, les améliorations se sont poursuivies, et la version actuelle est SMB 3.1.1.

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

    CIFSSMB 3.1.1
    Année de créationCréé par IBM au début des années 1980Créé comme une version améliorée de SMB par Microsoft au début des années 1990
    PerformanceLors de sa création, CIFS présentait de nombreux problèmes liés à la transmission de fichiers, à la sécurité, etc.SMB 3.1.1 a été développé pour résoudre la plupart des problèmes de CIFS et des versions antérieures de SMB. Il intègre des vérifications de pré-authentification qui contribuent à sécuriser les fichiers sur un serveur.
    AuthentificationCIFS ne possède pas d’authentification intégrée. L’utilisateur doit fournir un nom d’utilisateur et un mot de passe pour accéder à un fichier. Les fichiers ne sont donc pas sécurisés sur le réseau.SMB 3.1.1 utilise l’authentification AES pour assurer la sécurité des fichiers partagés sur un serveur.
    Stockage des donnéesSMB 3.1.1 utilise des champs de stockage de données 32 ou 64 bits, permettant le stockage de fichiers volumineux. Il utilise les protocoles IP/TCP, similaires aux protocoles HTTP et FTP.
    FonctionnementProtocole 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.

    Inconvénients de CIFS

    • Manque d’authentification : Contrairement aux versions récentes de SMB, CIFS ne propose pas d’authentification, ce qui représente un inconvénient majeur en termes de sécurité.
    • Gestion limitée de la taille des fichiers : CIFS peut ne pas être adapté aux fichiers très volumineux, entraînant des retards, voire des interruptions lors des transferts.

    Conclusion

    Bien que les services de partage et d’accès aux fichiers dans le cloud gagnent du terrain, les protocoles traditionnels comme CIFS conservent leur importance. L’un des avantages clés de CIFS était la prise en charge des connexions directes sur le port TCP 445. Bien que Microsoft se concentre désormais sur le développement de SMB, CIFS reste important car il constitue 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.