Das Common Internet File System (CIFS) ist ein Netzwerkprotokoll, das es Computern in einem Netzwerk ermöglicht, auf Dateien, Drucker und serielle Schnittstellen zuzugreifen.
Dieser Zugriff gestattet es Clients, freigegebene Dokumente zu öffnen, zu lesen und zu bearbeiten, wobei Änderungen automatisch auf den lokalen Rechnern gespeichert werden.
Des Weiteren können Benutzer auf Kommunikationsdienste zwischen Prozessen und Druckwarteschlangen zugreifen.
CIFS wurde Anfang der 1980er Jahre von IBM entwickelt.
Funktionsweise von CIFS
CIFS basiert auf einem Client-Server-Modell. Es sind drei Hauptakteure beteiligt: ein Client, eine Anwendung und der Server.
- Der Client implementiert das Protokoll und initiiert die meisten Nachrichten.
- Der Server implementiert das Protokoll und stellt den Hauptteil der Funktionalität (Dienst) bereit.
- Die Anwendung ist eine Software, die Aufgaben wie grafische Benutzeroberflächen, Dateiverwaltung oder Textverarbeitung übernimmt.
So funktioniert CIFS:
- Eine NetBIOS-Sitzung wird zwischen dem Client und dem Server aufgebaut, um auf die freigegebenen Ressourcen zuzugreifen.
- Im Rahmen der Verhandlung ermitteln Client und Server den zu verwendenden Dialekt.
- Der Client übermittelt Authentifizierungsdaten, meist Benutzername und Passwort, über eine eindeutige Kennung an den Server.
- Active Directory ist hauptsächlich für den Authentifizierungsprozess verantwortlich. CIFS selbst wickelt die Authentifizierung jedoch nicht direkt ab.
- Bei erfolgreicher Authentifizierung gibt der Server die eindeutige Kennung zurück.
- Der Server prüft, ob der Client die erforderlichen Berechtigungen besitzt und ob der Freigabename gültig ist. Sind alle Details korrekt, erhält der Client Zugriff auf die freigegebenen Ressourcen wie Dateien und Ordner.
Eigenschaften des CIFS-Protokolls
Unabhängigkeit vom Transportprotokoll
Das CIFS-Protokoll stellt keine spezifischen Anforderungen an das Transportprotokoll, über das SMB-Nachrichten zwischen Server und Client gesendet werden. CIFS wird typischerweise über ein verbindungsorientiertes Protokoll übertragen.
Dateizugriff
Ein Client oder Benutzer kann mehrere Dateien auf einem Zielserver öffnen, lesen, bearbeiten und schließen. Der Server übernimmt die Dateifreigabe, was bedeutet, dass mehrere Clients gleichzeitig auf dieselbe Datei zugreifen und sie auf unterschiedlichen Geräten lesen können.
Datei-, Verzeichnis- und Volume-Attribute
Das CIFS-Protokoll ermöglicht das Abfragen von Verzeichnis-, Datei- und Volume-Attributen und deren eingeschränkte Konfiguration. Zugriffskontrolllisten (Access Control Lists, ACLs) werden ebenfalls von CIFS unterstützt.
Erweiterte Subprotokolle
Das CIFS-Protokoll unterstützt diverse Subprotokolle, die einen direkten Zugriff auf zusätzliche Serverfunktionen ermöglichen.
Unterstützung der Named-Pipe-Kommunikation zwischen Prozessen
Der Client kann Named Pipes auf dem jeweiligen Server öffnen, schreiben, lesen und schließen. Named Pipes bieten eine Möglichkeit zur Kommunikation zwischen Server- und Clientdiensten.
Flexible Verbindungsmöglichkeiten
Ein Client kann sich mit mehreren Servern verbinden. Zudem kann ein Client eine oder mehrere Verbindungen zu einem Server aufbauen.
Unterstützung der Feature-Aushandlung
Der unterstützte Funktionsumfang und der Protokolldialekt werden pro Verbindung ausgehandelt.
Datei- und Datensatzsperrung sowie sicheres Caching
Das CIFS-Protokoll unterstützt die Sperrung von Datensätzen und Dateien. Es ermöglicht auch opportunistisches Dateisperren und bietet Clients die Möglichkeit, Daten zwischenzuspeichern, um die Leistung zu verbessern.
Benachrichtigungen über Verzeichnis- und Dateiänderungen
Clients im CIFS-Protokoll können eine Anfrage senden, um benachrichtigt zu werden, wenn eine Änderung an einer Ressource vorgenommen wird, wie z.B. einer Datei in einem Verzeichnis oder einem Verzeichnis auf einem bestimmten Server.
Unterstützung des verteilten Dateisystems (DFS)
DFS erstellt einen globalen Namespace, der Ressourcen auf mehreren Servern zusammenfasst.
Unterstützung mehrerer Sicherheitskontexte
Ein Client kann über eine Verbindung einen oder mehrere Sicherheitskontexte verwenden und erstellen.
Voraussetzungen für die Verwendung von CIFS
CIFS benötigt einen zugrundeliegenden Netzwerktransport, der üblicherweise verbindungsorientiert ist. Unter bestimmten Umständen können CIFS-Nachrichten mit kleinen Anpassungen aber auch über einen verbindungslosen Transport übertragen werden.
Bevor CIFS-Nachrichten über einen verbindungsorientierten Transport ausgetauscht werden können, muss eine Verbindung etabliert sein.
Damit Nachrichten über ein solches Netzwerk ausgetauscht werden können, setzt CIFS voraus, dass eine oder mehrere der folgenden Ressourcen vorhanden sind:
- Eine lokale Druckwarteschlange, die Druckaufträge an einen Drucker sendet, um Druckdienste bereitzustellen.
- Ein lokales Dateisystem oder eine Datenbank, die als Dateisystem fungiert, um die gemeinsame Nutzung von Dateien zu ermöglichen. In diesem Fall wird die Ressource als Objektspeicher bezeichnet.
- Eine geeignete Emulation oder ein Dateisystem, das in den CIFS-Server integriert ist und Named Pipes unterstützt, ist für die Kommunikation zwischen Prozessen mithilfe der Named-Pipe-Abstraktion erforderlich.
Der Server benötigt ebenfalls Zugang zu einer Passwortdatenbank für die Authentifizierung oder muss diese selbst bereitstellen.
Die Passwortdatenbank speichert die Passwort-Hashes für NT LAN Manager (NTLM) und LAN Manager (LM), um die Challenge- oder Response-Authentifizierung zu unterstützen.
CIFS unter Windows konfigurieren
Die meisten Nutzer werden CIFS in der Regel nicht verwenden, daher ist die Funktion unter Windows 10 und 11 standardmäßig deaktiviert.
Führen Sie folgende Schritte aus, um sie zu aktivieren:
- Öffnen Sie die Systemsteuerung und klicken Sie auf „Programme und Features“. Klicken Sie links auf „Windows-Funktionen aktivieren oder deaktivieren“.
- Scrollen Sie nach unten zu „SMB 1.0/CIFS-Dateiunterstützung“ und aktivieren Sie das Kontrollkästchen. Klicken Sie auf das Pluszeichen (+), um alle aktivierten Optionen anzuzeigen.
Die obigen Schritte aktivieren CIFS. Sie müssen jedoch das Netzwerk, mit dem Sie verbunden sind, für CIFS konfigurieren. So geht’s:
2. Klicken Sie auf „Netzwerk- und Freigabecenter“. Klicken Sie dann links auf „Erweiterte Freigabeeinstellungen ändern“.
3. Klicken Sie auf „Erweiterte Freigabeeinstellungen ändern“. Hier können Sie die Netzwerkerkennung und die Datei- und Druckerfreigabe aktivieren. Klicken Sie anschließend auf „Änderungen speichern“.
CIFS für einen Ordner einrichten
Für diese Demonstration richten wir einen Ordner mit dem Namen „Beispielordner“ auf Laufwerk E ein.
2. Klicken Sie auf „Freigeben“.
Beachten Sie, dass die hier aufgeführten Benutzer nur diejenigen sind, die derzeit auf Ihrem Windows-Computer eingerichtet sind.
Die Empfänger müssen ebenfalls alles konfigurieren, um auf die freigegebenen Dokumente zugreifen zu können.
CIFS vs. SMB: Unterschiede
Bevor wir uns die Unterschiede ansehen, sollten wir das Server Message Block (SMB) Protokoll kurz erläutern.
Server Message Block wurde entwickelt, um Clients das Lesen, Schreiben und Bearbeiten von Dateien auf einem Server zu ermöglichen, der in der Regel ein lokales Netzwerk (LAN) ist.
SMB im Laufe der Zeit
- SMB 1.0: Die erste Version von SMB, die mit CIFS gleichgesetzt wird. Diese erste Variante wurde für Windows NT 4.0 entwickelt und die Kommunikation erfolgte über die NetBIOS-Schnittstelle.
- SMB 2.0: Diese Version wurde 2006 von Microsoft mit dem Betriebssystem Windows Vista eingeführt. Zu den eingeführten Funktionen gehörten bessere Skalierbarkeit, Unterstützung für symbolische Links und verbesserte Nachrichtensignierung.
- SMB 2.1: Diese Version wurde zeitgleich mit Windows 7 im Jahr 2007 veröffentlicht. Version 2.1 bot verbesserte Leistungsoptimierungen und neue Sperrmechanismen.
- SMB 3.0: Diese Version wurde 2012 zusammen mit Windows 8 eingeführt. SMB 3.0 hieß ursprünglich SMB 2.2, wurde aber später umbenannt. Diese Version ermöglichte den Fernspeicherzugriff durch Remote Direct Memory Access (RDMA).
- SMB 3.1.1: Dies ist die aktuellste Version zum Zeitpunkt der Erstellung dieses Artikels. SMB 3.1.1 wurde 2015 für Windows 10 veröffentlicht und führte Integritätsprüfungen vor der Authentifizierung ein. Diese Version nutzt auch die Verschlüsselung mit Galois/Counter Mode (GCM).
Viele Menschen verwechseln CIFS und SMB. Es ist wichtig zu wissen, dass SMB zuerst eingeführt wurde.
Microsoft hat SMB in den 1990er Jahren weiterentwickelt, um CIFS zu erstellen, wodurch CIFS zu einem Dialekt von SMB wurde. Microsoft hat CIFS jedoch kontinuierlich verbessert, und die aktuelle Version ist SMB 3.1.1.
Dies sind die wichtigsten Unterschiede zwischen CIFS und SMB 3.1.1:
SMB 3.1.1 | CIFS | |
Erstellungsjahr | Erstellt von Microsoft in den frühen 1990er Jahren als verbesserte Version von SMB | Erstellt von IBM in den frühen 1980er Jahren |
Leistung | SMB 3.1.1 wurde entwickelt, um die meisten Schwachstellen von CIFS und früheren SMB-Versionen zu beheben. Es bietet Pre-Authentication-Checks, um Dateien auf einem Server zu sichern. | Bei der Entwicklung von CIFS gab es viele Probleme mit der Dateiübertragung, Sicherheit usw. |
Authentifizierung | SMB 3.1.1 verwendet AES-Authentifizierung, um die Sicherheit von auf einem Server freigegebenen Dateien zu gewährleisten. Der Benutzer muss einen Benutzernamen und ein Passwort angeben, um auf eine Datei zuzugreifen. | CIFS bietet keine Authentifizierung. Daher sind die Dateien nicht über das Netzwerk gesichert. |
Datenspeicherung | SMB 3.1.1 verwendet 32- oder 64-Bit-Datenspeicherfelder und ermöglicht die Speicherung großer Dateien. Verwendet IP/TCP-Protokolle, die den HTTP- und FTP-Protokollen ähneln. | |
Funktionsweise | Ein Client-Server-Kommunikationsprotokoll für den gemeinsamen Zugriff auf Ressourcen in einem Netzwerk. Der Client/Benutzer fordert eine Datei auf einem Server an, der sich auf einem anderen Computersystem im selben Netzwerk befindet. |
Was sind die Nachteile von CIFS?
- Fehlende Authentifizierung: Einer der größten Nachteile von CIFS ist das Fehlen einer Authentifizierung im Vergleich zu neueren SMB-Versionen.
- Begrenzte Dateigrößen: CIFS ist möglicherweise nicht ideal für sehr große Dateien, was zu Verzögerungen oder sogar zu Unterbrechungen während der Übertragung führen kann.
Fazit
Obwohl Cloud-basierte Datei- und Zugriffsdienste auf dem Vormarsch sind, haben traditionelle Protokolle wie CIFS immer noch ihre Berechtigung. Die Unterstützung für Direktverbindungen über TCP-Port 445 war eines der Hauptargumente für CIFS. Auch wenn sich Microsoft jetzt auf die Weiterentwicklung von SMB konzentriert, sollte CIFS nicht vergessen werden, da es einen wichtigen Dialekt von SMB darstellt.
Sie können auch untersuchen, wie Sie die Systemdateiüberprüfung unter Windows 11/10 ausführen können. Weitere Informationen