Storage. Backup. Virtualisierung.
SMB-/CIFS-Protokoll · Version 1.9 · © Stor IT Back 2026
Das SMB-Protokoll (Server Message Block) ist ein Netzwerkprotokoll für den gemeinsamen Zugriff auf Dateien, Verzeichnisse, Drucker und weitere Ressourcen. Es wird vor allem in Windows-Netzwerken für Datei- und Fileserver-Dienste eingesetzt, steht aber auch unter Linux, Unix und anderen Betriebssystemen zur Verfügung.

CIFS (Common Internet File System) bezeichnet einen historischen Dialekt der SMB1-Generation und sollte nicht mit modernen SMB-Versionen gleichgesetzt werden. Aktuelle Windows-Systeme verwenden SMB 2 bzw. SMB 3 mit dem derzeit verbreiteten Dialekt SMB 3.1.1. Gegenüber SMB1/CIFS bieten moderne SMB-Versionen eine deutlich höhere Performance sowie Funktionen wie Verschlüsselung, Signierung, Multichannel, SMB Direct und Hochverfügbarkeit.
Unter Linux und Unix stellt Samba eine weit verbreitete Open-Source-Implementierung von SMB bereit. Dadurch können beispielsweise Windows-Clients auf Freigaben eines Linux-Servers zugreifen oder Linux-Systeme SMB-Freigaben von Windows- und NAS-Systemen einbinden.
SMB ist funktional mit NFS (Network File System) vergleichbar, das insbesondere in Linux- und Unix-Umgebungen verbreitet ist. Beide Protokolle stellen dateibasierten Netzwerkzugriff bereit, unterscheiden sich jedoch deutlich bei Protokoll, Authentifizierung, Berechtigungen und Implementierung.
Wo liegt der Unterschied zwischen SMB und CIFS? Sind das eigentlich zwei unterschiedliche Begriffe für die gleiche Sache? Oder ist das eine von Microsoft
und das andere von einem anderen Hersteller, also eine reine Patentfrage des Begriffs? Und welche Funktion bringt SMB bzw. CIFS?
Die erste Entwicklung stammt von IBM aus den Achtzigerjahren und wurde SMB genannt. SMB steht hierbei für Server Message Block. Es handelt sich hierbei
um ein Filesharing-Protokoll. Es sollten Dateien einfach und komfortabel über ein lokales Netzwerk geschrieben und gelesen werden. Dies war und ist die Funktion. Die Freigaben auf dem Host
wurden als Shares bezeichnet. Auf den Clients ist es dann der CIFS Mount oder SMB Mount.
CIFS (Common Internet File System) CIFS ist ein historischer Dialekt bzw. eine Weiterentwicklung des ursprünglichen SMB-Protokolls
und gehört zur SMB1-Generation.
Die beiden Begriffe bedeuteten also etwas vereinfacht die gleiche Sache. Ein Client, der CIFS spricht, kann auf einen Server mit SMB zugreifen und umgekehrt,
die Version muss kompatibel sein, also bei CIFS dann SMB 1.
Welcher Begriff ist denn jetzt der richtige? Der heute passende Begriff ist SMB, moderne Systeme setzen nicht mehr CIFS, sondern SMB ein. Selbst bei Microsoft wird seit
Windows Vista SMB 2 und seit Windows 8 bzw. Windows Server 2012 SMB 3 eingesetzt. SMB 2 und SMB 3 nutzen also deutliche Verbesserungen gegenüber CIFS.
Was ist denn jetzt aber Samba? Samba ist eine Implementierung von SMB auf Unix- bzw. Linux-Rechnern. Samba wurde entwickelt, um Linux-Clients einen Zugriff auf Windows-Server
zu ermöglichen bzw. Windows-Clients den Zugriff auf Linux-Server.
Unter Linux- bzw. Unix-Rechnern wird sonst nur das NFS Netzwerkdateisystem (Network File System) genutzt. Das ist allerdings ein vollständig anderes Protokoll als SMB oder
CIFS. Ein NFS-Client kann also nicht mit einem SMB Server Daten austauschen.
Das SMB-Protokoll implementiert ein Netzwerkdateisystem (File-Server-Protokoll), welches vom Dateisystem des Servers relativ unabhängig ist. Microsoft stellt SMB bzw. früher CIFS auf Basis des NTFS zur Verfügung, mit Samba wird SMB auf Linux und Unix Servern mit zum Beispiel EXT3, EXT4, ZFS oder XFS aufgebaut. Eine ältere Entwicklung des SMB- bzw. CIFS-Protokolls war das LAN-Manager-Produkt auf Basis des NetBIOS-Protokolls.

In der Praxis wird das SMB-Protokoll für die Freigabe von Dateien von einem zentralen
Server an verschiedene Clients genutzt. Dies sind häufig Office-Daten, Bilder und Zeichnungen oder Videos. Seit SMB 3.0
können die Freigaben auch für Virtualisierung (Hyper-V) und Microsoft SQL Server genutzt werden.
Wie bei NFS können bei SMB auch Dateien gemeinsam genutzt werden, es können Dateien gleichzeitig gelesen werden. Auf eine
Datei kann meist nur ein Client schreibend zugreifen, aber verschiedene Clients können auf verschiedene Dateien auf
einer Freigabe schreibend zugreifen. Dies ist ein großer Unterschied zu iSCSI-Freigaben
oder anderen Block-Devices.
Das SMB-Protokoll wurde 1983 bei IBM vorgestellt. Verschiedene Firmen arbeiteten dann an der
Weiterentwicklung des Protokolls, unter anderem Microsoft, IBM, SCO und das Samba-Team. Microsoft entwickelte
in dieser Zeit sicherlich die meisten Erweiterungen, allerdings bis 2007 als Closed Source. Danach
hat Microsoft wichtige Verfahren offengelegt.
Mit Windows NT 4.0 hat Microsoft das Ur-SMB veröffentlicht, damals als CIFS bezeichnet. Mit Windows 2000 kam dann die
SMB Version 1.0 heraus, bei Windows Server 2008 dann die SMB Version 2 und mit Windows Server 2012 die neueste SMB-3-Version.
| SMB-Dialekt | Einführung bei Microsoft | Samba | Wichtige Merkmale |
| CIFS / SMB1 | Windows NT / Windows 2000 | Samba 1 / 2 | Legacy-Protokoll, heute möglichst nicht mehr einsetzen |
| SMB 2.0 | Windows Vista / Windows Server 2008 | Samba 3.5 | Weniger Protokollbefehle, höhere Performance und geringere Netzwerklast |
| SMB 2.1 | Windows 7 / Windows Server 2008 R2 | Samba-3.6 | Verbesserungen bei Performance, Oplocks und Locking-Mechanismen |
| SMB 3.0 | Windows 8 / Windows Server 2012 | Samba 4.0 | SMB Multichannel, SMB Direct, Verschlüsselung, Transparent Failover und Scale-Out |
| SMB 3.02 | Windows 8.1 / Windows Server 2012 R2 | Samba 4.x | Weiterentwicklung von SMB 3 mit Verbesserungen bei Performance und Hochverfügbarkeit |
| SMB 3.1.1 | Windows 10 / Windows Server 2016 | Samba 4.3 | Preauthentication Integrity, modernere Kryptografie und verbesserte Sicherheitsfunktionen |
SMB 3.1.1 ist der aktuelle Dialekt des Server-Message-Block-Protokolls und wurde von Microsoft mit Windows 10 Version 1607 und Windows Server 2016 eingeführt. Auch aktuelle Windows-Versionen wie Windows 11 und Windows Server 2025 verwenden weiterhin SMB 3.1.1. Dabei handeln SMB-Client und SMB-Server beim Aufbau einer Verbindung automatisch den höchsten Dialekt aus, den beide Seiten unterstützen.
SMB 3.1.1 erweitert die Funktionen von SMB 3.0 und SMB 3.02 insbesondere im Bereich der Sicherheit. Eine wichtige Neuerung ist die Preauthentication Integrity bzw. Integrität vor der Authentifizierung. Dabei werden bereits die Aushandlung des SMB-Dialekts und der Aufbau der Sitzung kryptografisch abgesichert. Manipulationen an den Nachrichten während des Verbindungsaufbaus können dadurch erkannt werden. Dies erschwert insbesondere Man-in-the-Middle- und Downgrade-Angriffe, bei denen ein Angreifer versucht, die Kommunikation auf einen älteren oder weniger sicheren Protokollstand herabzustufen.
Auch die SMB-Verschlüsselung wurde mit SMB 3.1.1 weiterentwickelt. Während SMB 3.0 ursprünglich AES-128-CCM für die Verschlüsselung verwendete, unterstützt SMB 3.1.1 unter anderem AES-128-GCM. Der GCM-Modus bietet gegenüber dem älteren CCM-Verfahren eine höhere Performance und wird bei SMB 3.1.1 von aktuellen Windows-Systemen bevorzugt. Neuere Windows-Versionen unterstützen darüber hinaus auch AES-256-CCM und AES-256-GCM.
SMB 3.1.1 bildet weiterhin die Grundlage für wichtige Funktionen moderner Windows-Fileserver. Dazu gehören unter anderem SMB Multichannel, SMB Direct mit RDMA, SMB-Verschlüsselung, SMB-Signierung, Transparent Failover sowie Scale-Out File Server. Einige dieser Funktionen wurden bereits mit SMB 3.0 eingeführt, wurden in den folgenden Windows-Versionen jedoch kontinuierlich erweitert und sicherheitstechnisch verbessert.
Bei aktuellen Windows-Versionen spielt außerdem die gezielte Steuerung der zulässigen SMB-Dialekte eine zunehmend wichtige Rolle. Ab Windows 11 Version 24H2 und Windows Server 2025 können Administratoren für SMB-Client und SMB-Server einen minimalen und maximalen SMB-Dialekt festlegen. Dadurch lässt sich beispielsweise bestimmen, dass ein Server nur Verbindungen mit SMB 3.1.1 akzeptiert. Ältere SMB-Versionen können auf diese Weise gezielt von sicherheitskritischen Systemen ausgeschlossen werden.
Für moderne Windows-, Linux- und NAS-Umgebungen sollte deshalb möglichst SMB 3.1.1 verwendet werden, sofern Client und Server diesen Dialekt unterstützen. Ältere Systeme können weiterhin über SMB 2.x oder ältere SMB-3-Dialekte angebunden werden, wenn dies aus Kompatibilitätsgründen erforderlich ist. Das veraltete SMB1 bzw. CIFS sollte dagegen in produktiven Umgebungen nach Möglichkeit nicht mehr eingesetzt werden.
SMB Transparent Failover:
Ist eine Freigabe auf einem Clusterdateiserver vorhanden, so wird beim Ausfall eines Nodes (oder der Wartung) die
Freigabe transparent auf einem anderen Node weiter bedient, ohne die Anwendungen zu unterbrechen, die Dateien in
diesen Freigaben speichern. Neben einem Fileserver-Cluster auf Basis von Windows Server 2012 werden auch Clients in
der Version Windows 8 bzw. Server 2012 benötigt.
SMB Scale Out:
Werden in einem Fileserver-Cluster Clustervolumes der Version 2 (Cluster Shared Volumes CSV) genutzt, so kann ein direkter Zugriff
von Clients auf alle Cluster-Nodes über SMB 3.0 erfolgen. Dies bedeutet eine bessere Lastverteilung, sowohl für die
Cluster-Nodes wie auch für die Clients.
SMB Multichannel:
SMB Multichannel kann mehrere Netzwerkverbindungen innerhalb einer SMB-Sitzung verwenden.
Dazu können mehrere Netzwerkadapter, RSS-fähige Adapter oder RDMA-fähige Netzwerkkarten genutzt werden.
Mehrere physische Netzwerkadapter sind daher nicht zwingend erforderlich. Mit mehreren unabhängigen Netzwerkpfaden
kann SMB Multichannel neben zusätzlichem Durchsatz auch eine höhere Fehlertoleranz erreichen.
Dieses Verfahren ist ähnlich dem Multipathing bei iSCSI oder Fibre Channel.
SMB Direct:
SMB Direct unterstützt Netzwerkkarten mit RDMA-Features. RDMA (Remote Direct Memory Access) ermöglicht den direkten Zugriff der
Netzwerkkarte auf den Speicher einer Applikation. Damit müssen die Daten nicht zwischen Applikationsspeicher und
Netzwerkpuffer hin und her kopiert werden. Dies spart CPU-Zeit und verringert die Latenzzeit einer I/O-Operation. Bei
SMB 3.0 bedeutet dies einen performanteren Zugriff auf die Daten, was sich speziell bei Hyper-V und Microsoft SQL Server
positiv auswirkt. SMB Multichannel kann diese Verbindungen nutzen, diese Funktionen können sich ergänzen.
Leistungsindikatoren für Serveranwendungen:
Die neuen SMB-Leistungsindikatoren liefern detaillierte, nach Freigabe unterteilte Daten über Durchsatz, Latenz und I/O-Operationen pro Sekunde.
Dies ermöglicht es, die Leistung von SMB 3.0-Dateifreigaben zu analysieren, in denen Daten gespeichert sind.
Diese Indikatoren sind speziell für Serveranwendungen wie Hyper-V und SQL Server konzipiert, die Dateien in Remote-Dateifreigaben speichern.
SMB-Verschlüsselung:
Dies ist eine Ende-zu-Ende-Verschlüsselung vom SMB-3.0-Client zum -Server. Es schützt den Datenstrom vor Lauschangriffen
auf nicht vertrauenswürdigen Verbindungen. So kann zum Beispiel eine Filialanbindung über das Internet ohne zusätzliche
Hard- oder Software realisiert werden. Die Verschlüsselung wird auf Freigabebasis oder für einen gesamten Server konfiguriert.
SMB Directory Leasing:
Das Directory Leasing verbessert die Antwortzeiten von Anwendungen in Filialen mit langsamer Anbindung.
Durch die Verwendung von Verzeichnis-Leases werden Roundtrips vom Client zum Server reduziert,
da Metadaten von einem Verzeichniscache mit längerer Lebensdauer abgerufen werden. Die Cache-Kohärenz
bleibt erhalten, da Clients benachrichtigt werden, wenn sich Verzeichnisinformationen auf dem Server ändern.
SMB 3.1.1 Preauthentication Integrity:
Mit SMB 3.1.1 wurde die sogenannte Preauthentication Integrity
(Integrität vor der Authentifizierung) eingeführt. Sie schützt bereits die
Aushandlung der SMB-Verbindung und den Aufbau der Sitzung vor Manipulationen.
Dabei werden die während der Verbindungsaufnahme ausgetauschten Nachrichten
kryptografisch abgesichert. Ein Angreifer soll dadurch beispielsweise nicht
unbemerkt die ausgehandelten SMB-Funktionen verändern oder die Verbindung auf
einen weniger sicheren SMB-Dialekt zurückstufen können. Preauthentication
Integrity verbessert damit insbesondere den Schutz vor Man-in-the-Middle- und
Downgrade-Angriffen und ist eine wichtige Sicherheitsfunktion von SMB 3.1.1.
SMB-Signierung:
Die SMB-Signierung stellt die Integrität und Authentizität der
übertragenen SMB-Nachrichten sicher. Client und Server versehen die
SMB-Kommunikation mit kryptografischen Signaturen, sodass Manipulationen während
der Übertragung erkannt werden können. Die Signierung verschlüsselt die
übertragenen Daten allerdings nicht; hierfür muss zusätzlich die
SMB-Verschlüsselung eingesetzt werden. Mit Windows 11 Version 24H2 und Windows
Server 2025 hat Microsoft die Anforderungen an die SMB-Signierung weiter
verschärft. Bei diesen Betriebssystemen wird die SMB-Signierung für ausgehende
SMB-Verbindungen standardmäßig vorausgesetzt. Dadurch werden insbesondere
Man-in-the-Middle-Angriffe auf SMB-Verbindungen erschwert.
Moderne SMB-Verschlüsselung mit AES-GCM:
SMB 3.0 führte erstmals eine integrierte Ende-zu-Ende-Verschlüsselung für
SMB-Verbindungen ein. Während SMB 3.0 dafür ursprünglich
AES-128-CCM verwendet, unterstützt SMB 3.1.1 zusätzlich
AES-128-GCM. AES-GCM bietet insbesondere bei modernen
Prozessoren eine bessere Performance und wird von aktuellen Windows-Systemen für
SMB-3.1.1-Verbindungen bevorzugt. Seit Windows Server 2022 und Windows 11 können
darüber hinaus AES-256-CCM und
AES-256-GCM verwendet werden. Client und Server handeln bei
einer Verbindung automatisch einen gemeinsam unterstützten
Verschlüsselungsalgorithmus aus.
SMB over QUIC:
SMB over QUIC ermöglicht die Übertragung von SMB 3.1.1 über
das QUIC-Protokoll anstelle der klassischen SMB-Verbindung über TCP.
QUIC verwendet TLS 1.3 und ermöglicht damit verschlüsselte
SMB-Verbindungen über nicht vertrauenswürdige Netzwerke wie das Internet.
Insbesondere mobile Anwender und Außenstellen können damit auf SMB-Freigaben
zugreifen, ohne dass für die SMB-Verbindung zwingend ein klassisches VPN
erforderlich ist. Standardmäßig wird hierfür UDP-Port 443 verwendet.
SMB over QUIC steht serverseitig unter Windows Server 2025 in allen Editionen
zur Verfügung; zuvor war die Serverfunktion auf Windows Server 2022 Datacenter:
Azure Edition beschränkt. Als Client wird Windows 11 unterstützt.
SMB-Dialektsteuerung:
SMB-Client und SMB-Server handeln normalerweise automatisch den höchsten
gemeinsam unterstützten SMB-Dialekt aus. Bei aktuellen Windows-Systemen reicht
diese Aushandlung von SMB 2.0.2 bis SMB 3.1.1. Ab Windows 11
Version 24H2 und Windows Server 2025 können Administratoren zusätzlich einen
minimalen und maximalen SMB-Dialekt für Client und Server
festlegen. Damit lässt sich beispielsweise konfigurieren, dass ein besonders
schutzbedürftiger Fileserver ausschließlich Verbindungen mit SMB 3.1.1
akzeptiert. Ältere und weniger sichere SMB-Dialekte können dadurch gezielt
ausgeschlossen werden, ohne SMB2 und SMB3 grundsätzlich deaktivieren zu müssen.
Der BranchCache ist eine Optimierung bei Wide-Area-Network-Übertragungen (WAN) von Dateien zwischen Windows-Systemen. Dieses Feature ist seit Windows Server 2008 R2 und Windows 7
verfügbar. Dabei werden Dateien auf den lokalen Systemen zwischengespeichert, die sonst über WAN-Verbindungen vom Server geholt werden müssten. Also eine Optimierung
bei der Anbindung von verteilten Büros und remoten Clients über langsame Verbindungen.
Dabei gibt es zwei verschiedene Modelle: Einmal der Distributed Cache und zum anderen der Hosted Cache. Beim Hosted Cache wird in den verteilten Büros
jeweils ein Server benötigt, der die Daten speichert und den Clients zur Verfügung stellt. Der Vorteil dieser Lösung ist, dass der Server-Cache für
alle Clients im Standort das Caching übernimmt.

Beim Distributed Cache übernimmt dies jeder Client selbst. Benötigen also zwei Clients in einem entfernten Standort die gleiche Datei und der erste Client ist offline, dann müssen die
beiden Clients jeweils unabhängig die Datei cachen, aber auch vom zentralen Server holen. Weiterhin funktioniert das Distributed Caching nur in einem Subnetz im
entfernten Standort. Sind dort verschiedene Subnets installiert, dann muss der Hosted Cache genutzt werden.
Der BranchCache kann nicht nur bei File-Servern (SMB/CIFS), sondern auch bei Webservern und Applikationsservern genutzt werden. Es muss auf den Servern
der Background Intelligent Transfer Service (BITS) aktiviert sein. Ein Beispiel hierfür ist der WSUS Dienst (Microsoft Windows Server Update Services).
Die vollständige Unterstützung von BranchCache in Clients ist in der Enterprise-Version (und Education) vorhanden, also zum Beispiel Windows 10 Enterprise oder Windows 11 Enterprise. Nicht
aber in den Pro Versionen, dort ist nur der BITS Support verfügbar.
Die Konsistenz der Daten ist natürlich weiterhin gewährleistet. Ändert ein User im verteilten Büro eine Datei, so wird diese direkt auf den zentralen Server
über die WAN-Verbindung geschrieben. Sollte jetzt ein anderer User die gleiche Datei anfordern, dann wird erst die Änderung vom zentralen Server zum
Cache geladen und dann erst zum User ausgeliefert. Dies funktioniert sowohl beim Hosted Cache als auch beim Distributed Cache.
Viele Anwender in Unternehmen nutzen SMB täglich für den Zugriff auf zentrale Dateifreigaben. In modernen Windows-Netzwerken werden dabei überwiegend SMB 2.x und SMB 3.x eingesetzt. Client und Server handeln beim Verbindungsaufbau automatisch den höchsten SMB-Dialekt aus, den beide Seiten unterstützen. Probleme entstehen deshalb häufig nicht zwischen aktuellen Windows-Systemen, sondern bei älteren NAS-Systemen, Embedded-Systemen oder industriellen Geräten, die nur historische SMB-Versionen unterstützen.
Ein typisches Beispiel sind ältere NAS-Systeme, die ausschließlich SMB1 bzw. CIFS unterstützen. Moderne Windows-Versionen installieren oder aktivieren SMB1 standardmäßig nicht mehr. Kann ein aktueller Windows-Client deshalb nicht mehr auf eine ältere SMB-Freigabe zugreifen, sollte zunächst geprüft werden, ob für das NAS-System oder Gerät ein Firmware-Update verfügbar ist oder SMB2 bzw. SMB3 aktiviert werden kann.

SMB1 sollte nicht als normale Lösung für Kompatibilitätsprobleme wieder aktiviert werden. Das Protokoll gilt als veraltet und verfügt nicht über die Sicherheits- und Performance-Funktionen moderner SMB-Versionen. Ist der Zugriff auf ein Legacy-System zwingend erforderlich, sollte SMB1 nur als temporäre Übergangslösung verwendet werden. Das betroffene System sollte möglichst in einem eigenen VLAN oder Netzwerksegment betrieben und der Zugriff auf die tatsächlich benötigten Clients und Server eingeschränkt werden. Langfristig sollte das betreffende Gerät durch ein System mit Unterstützung für SMB2 oder SMB3 ersetzt oder entsprechend aktualisiert werden.
Bei Problemen mit SMB-Verbindungen sollte deshalb zunächst geprüft werden, welcher SMB-Dialekt tatsächlich zwischen Client und Server verwendet wird. Unter Windows kann dies beispielsweise mit PowerShell kontrolliert werden. Eine bestehende SMB-Verbindung zeigt der folgende Befehl:
Get-SmbConnection
In der Ausgabe zeigt die Spalte Dialect den ausgehandelten SMB-Dialekt, beispielsweise SMB 3.1.1. Auf einem SMB-Server können zusätzlich die grundlegenden Servereinstellungen überprüft werden:
Get-SmbServerConfiguration
Das SMB-Protokoll wird jedoch nicht nur zwischen Windows-Systemen eingesetzt. Auch Linux-Clients können auf SMB-Freigaben eines Windows-Servers, eines NAS-Systems oder eines Samba-Servers zugreifen. Umgekehrt kann ein Linux-Server mit Samba SMB-Freigaben für Windows- und Linux-Clients bereitstellen. Dadurch lässt sich in heterogenen Netzwerken ein einheitliches Freigabe- und Berechtigungskonzept verwenden.
Unter Linux erfolgt das Einbinden einer SMB-Freigabe normalerweise über das Dateisystem CIFS. Der Name des Linux-Kernel-Clients lautet aus historischen Gründen weiterhin CIFS, obwohl damit auch moderne SMB-Dialekte wie SMB 2.x und SMB 3.x genutzt werden können. Eine SMB-Freigabe kann beispielsweise folgendermaßen eingebunden werden:
mount -t cifs //192.168.1.1/datenremote /datenlokal \ -o username=test1,domain=DOM
In produktiven Umgebungen sollten Kennwörter nicht direkt in Befehlszeilen oder Skripten hinterlegt werden. Stattdessen kann beispielsweise eine separate, nur für den Administrator lesbare Credentials-Datei verwendet werden:
mount -t cifs //192.168.1.1/datenremote /datenlokal \ -o credentials=/root/.smbcredentials
Bei der Anbindung von Samba-Servern können zusätzlich die Unix- bzw. POSIX-Erweiterungen von SMB eine Rolle spielen. Linux-Clients können darüber beispielsweise Benutzer- und Gruppen-IDs, Dateirechte, symbolische Links oder andere Unix-spezifische Eigenschaften über eine SMB-Verbindung verwenden. Dies ist insbesondere bei reinen oder überwiegend Linux-basierten Umgebungen sinnvoll.
In gemischten Windows-/Linux-Umgebungen kann es dagegen erforderlich sein, ausschließlich die auf dem Samba-Server definierten SMB-Berechtigungen zu verwenden. Abhängig von Server, SMB-Dialekt und eingesetzter Konfiguration kann dafür die Mount-Option nounix sinnvoll sein:
mount -t cifs //192.168.1.1/datenremote /datenlokal \ -o username=test1,domain=DOM,nounix
Die Option nounix deaktiviert die Nutzung der klassischen CIFS Unix Extensions für diesen Mount. Dadurch werden unter anderem Unix-spezifische Dateiattribute wie UID, GID und bestimmte POSIX-Rechte nicht vom Server übernommen. Das kann bei gemischten Windows- und Linux-Umgebungen hilfreich sein, wenn ausschließlich die SMB- und Windows-Berechtigungen des Servers maßgeblich sein sollen.
Welche Mount-Optionen sinnvoll sind, hängt jedoch von der eingesetzten Samba-Version,
dem verwendeten SMB-Dialekt und dem gewünschten Berechtigungsmodell ab.
Moderne Samba-Versionen unterstützen zunehmend auch POSIX-Funktionen über SMB3.
Administratoren sollten deshalb vor einer pauschalen Verwendung von nounix prüfen,
ob Unix- bzw. POSIX-Funktionen bewusst genutzt oder gezielt deaktiviert werden sollen.
Für produktive SMB-Umgebungen empfiehlt es sich grundsätzlich, SMB 3.1.1 zu verwenden, sofern Client und Server diesen Dialekt unterstützen. Zusätzlich sollten SMB1 deaktiviert, aktuelle Authentifizierungsverfahren eingesetzt und je nach Schutzbedarf SMB-Signierung oder SMB-Verschlüsselung aktiviert werden. Bei hohen Anforderungen an Performance und Verfügbarkeit können außerdem Funktionen wie SMB Multichannel und SMB Direct genutzt werden.
SMB (Server Message Block) ist ein Netzwerkprotokoll für den Zugriff auf Dateien, Verzeichnisse, Drucker und andere Ressourcen. CIFS (Common Internet File System) bezeichnet einen historischen Dialekt der SMB1-Generation und sollte nicht mit modernen SMB-Versionen gleichgesetzt werden. Aktuelle Systeme verwenden normalerweise SMB 2.x oder SMB 3.x. CIFS bzw. SMB1 gilt heute als veraltet und sollte nur noch eingesetzt werden, wenn ältere Systeme keine modernen SMB-Dialekte unterstützen.
SMB 3.1.1 ist der aktuelle SMB-Dialekt moderner Windows-Systeme. Er wurde mit Windows 10 und Windows Server 2016 eingeführt und wird auch von aktuellen Windows-Versionen wie Windows 11 und Windows Server 2025 unterstützt. SMB-Client und SMB-Server handeln beim Aufbau einer Verbindung automatisch den höchsten Dialekt aus, den beide Seiten unterstützen. SMB 3.1.1 erweitert SMB insbesondere um zusätzliche Sicherheitsfunktionen wie Preauthentication Integrity und moderne Verschlüsselungsverfahren.
SMB 3.0 wurde mit Windows 8 und Windows Server 2012 eingeführt und brachte unter anderem SMB Multichannel, SMB Direct, Verschlüsselung und Transparent Failover. SMB 3.1.1 erweitert diese Funktionen vor allem im Bereich der Sicherheit. Dazu gehören Preauthentication Integrity zum Schutz der Verbindungsaufnahme und modernere Verschlüsselungsverfahren wie AES-GCM. Die grundlegenden Funktionen von SMB 3.0 werden dabei weiterhin verwendet und wurden in späteren Versionen weiterentwickelt.
SMB1 bzw. CIFS sollte in produktiven Umgebungen möglichst nicht mehr eingesetzt werden. Das Protokoll ist technisch veraltet und verfügt nicht über die Sicherheits- und Performance-Funktionen moderner SMB-Versionen. Aktuelle Windows-Systeme installieren oder aktivieren SMB1 deshalb standardmäßig nicht mehr. Ist SMB1 für ein älteres NAS-System oder ein industrielles Gerät zwingend erforderlich, sollte das b etreffende System möglichst isoliert betrieben und langfristig aktualisiert oder ersetzt werden.
Samba ist eine Open-Source-Implementierung des SMB-Protokolls für Linux-, Unix- und andere Betriebssysteme. Mit Samba können beispielsweise Linux-Server SMB-Dateifreigaben für Windows-Clients bereitstellen. Samba kann außerdem in Active-Directory-Umgebungen integriert und unter bestimmten Voraussetzungen auch als Active-Directory-Domain-Controller eingesetzt werden. Dadurch ermöglicht Samba den gemeinsamen Dateizugriff in heterogenen Windows- und Linux-Netzwerken.
Modernes SMB verwendet normalerweise TCP-Port 445. Ältere SMB- und NetBIOS-Implementierungen können zusätzlich die Ports 137 bis 139 verwenden. In modernen Netzwerken sollte SMB nach Möglichkeit direkt über TCP-Port 445 betrieben werden. Bei SMB over QUIC erfolgt die Verbindung dagegen standardmäßig verschlüsselt über UDP-Port 443. SMB-Ports sollten nicht unkontrolliert aus nicht vertrauenswürdigen Netzwerken oder direkt aus dem Internet erreichbar sein.
SMB Multichannel ermöglicht die parallele Nutzung mehrerer Netzwerkverbindungen innerhalb einer SMB-Sitzung. Dadurch können verfügbare Netzwerkbandbreite und Ausfallsicherheit erhöht werden. SMB Multichannel kann mehrere Netzwerkadapter verwenden, funktioniert aber auch mit geeigneten RSS- oder RDMA-fähigen Netzwerkkarten. Fällt ein verwendeter Netzwerkpfad aus, kann die SMB-Verbindung über verbleibende Pfade weitergeführt werden. Die Funktion eignet sich besonders für leistungsfähige Fileserver, Virtualisierung und Backup-Infrastrukturen.
SMB Multichannel verteilt eine SMB-Verbindung auf mehrere Netzwerkverbindungen und kann dadurch Durchsatz und Verfügbarkeit verbessern. SMB Direct verwendet dagegen RDMA (Remote Direct Memory Access), um Daten mit geringer Latenz und geringer CPU-Belastung zwischen Systemen zu übertragen. Beide Funktionen können miteinander kombiniert werden. SMB Direct wird insbesondere bei leistungsintensiven Storage-Anwendungen, Hyper-V und schnellen Fileserver-Infrastrukturen eingesetzt.
Die SMB-Signierung schützt die Integrität und Authentizität von SMB-Nachrichten und hilft dabei, Manipulationen während der Übertragung zu erkennen. Sie verschlüsselt die eigentlichen Nutzdaten jedoch nicht. Die SMB-Verschlüsselung schützt dagegen zusätzlich den Inhalt der SMB-Kommunikation vor dem Mitlesen. Je nach Sicherheitsanforderung können Signierung und Verschlüsselung gemeinsam eingesetzt werden. Moderne SMB-3.x-Versionen unterstützen beide Verfahren direkt im Protokoll.
Bei einer bestehenden SMB-Verbindung kann der ausgehandelte SMB-Dialekt unter Windows mit
PowerShell überprüft werden. Der Befehl Get-SmbConnection zeigt bestehende SMB-Verbindungen an.
In der Spalte Dialect ist beispielsweise zu erkennen, ob SMB 3.1.1 verwendet wird.
Die grundlegende SMB-Konfiguration eines Windows-Servers kann zusätzlich mit Get-SmbServerConfiguration angezeigt werden.
Ja. Linux-Systeme können SMB-Freigaben von Windows-Servern, NAS-Systemen oder Samba-Servern einbinden.
Dafür wird unter Linux häufig der CIFS-Kernel-Client verwendet, dessen Name aus historischen Gründen
weiterhin CIFS lautet, obwohl auch moderne SMB-Dialekte unterstützt werden. Eine Freigabe kann beispielsweise mit mount -t cifs
in das lokale Dateisystem eingebunden werden. Für produktive Systeme sollten Zugangsdaten nicht direkt in der Befehlszeile,
sondern beispielsweise in einer geschützten Credentials-Datei hinterlegt werden.
BranchCache ist eine Microsoft-Technologie zur Optimierung von Datenübertragungen über langsame oder belastete WAN-Verbindungen. Häufig benötigte Inhalte können an entfernten Standorten zwischengespeichert werden, sodass sie nicht bei jedem Zugriff erneut vollständig über die WAN-Verbindung übertragen werden müssen. BranchCache unterstützt unter anderem einen Distributed Cache, bei dem Clients Inhalte untereinander bereitstellen, und einen Hosted Cache mit einem zentralen Cache-System am Außenstandort.
SMB over QUIC überträgt SMB 3.1.1 über das QUIC-Protokoll und verwendet dabei TLS 1.3 zur Absicherung der Verbindung. Dadurch können SMB-Freigaben auch über nicht vertrauenswürdige Netzwerke bereitgestellt werden, ohne SMB direkt über TCP-Port 445 durch das Internet zu transportieren. SMB over QUIC verwendet standardmäßig UDP-Port 443 und ist insbesondere für mobile Benutzer, Außenstellen und den sicheren Remote-Zugriff auf Fileserver interessant.
Für eine gute SMB-Performance sollten möglichst aktuelle SMB-3.x-Dialekte und ausreichend schnelle Netzwerk- und Storage-Komponenten eingesetzt werden. Bei hohen Datenraten können SMB Multichannel sowie bei geeigneter Hardware SMB Direct mit RDMA den Durchsatz erhöhen und die CPU-Belastung reduzieren. Auch Netzwerk-Latenz, Blockgrößen, Storage-Performance, Virenscanner, Dateizugriffsmuster und die Samba- bzw. Windows-Konfiguration beeinflussen die erreichbare Geschwindigkeit. Vor einem Tuning sollte deshalb zunächst ermittelt werden, ob Netzwerk, CPU, Storage oder die Anwendung den eigentlichen Engpass verursachen.
Für sichere SMB-Verbindungen sollten SMB1 deaktiviert und möglichst aktuelle SMB-3.x-Dialekte verwendet werden. Abhängig vom Schutzbedarf können SMB-Signierung und SMB-Verschlüsselung eingesetzt werden. Zusätzlich sollten Zugriffsrechte nach dem Prinzip der minimal erforderlichen Berechtigungen vergeben, moderne Authentifizierungsverfahren verwendet und SMB-Netze gegebenenfalls durch VLANs oder Firewalls segmentiert werden. Besonders schutzbedürftige Systeme sollten nur die tatsächlich benötigten SMB-Dialekte und Netzwerkverbindungen zulassen.







