SMB (Server Message Block) ist ein Netz­werk­pro­to­koll, das den Zugriff auf Dateien, Drucker und andere Res­sour­cen in einem lokalen Netzwerk er­mög­licht. Es wird haupt­säch­lich in Windows-Um­ge­bun­gen ein­ge­setzt, um Datei- und Dienst­frei­ga­ben zwischen Computern zu rea­li­sie­ren.

IONOS Cloud Object Storage
Daten sicher und günstig speichern

Ersetzen Sie eigene, kos­ten­in­ten­si­ve Spei­cher­lö­sun­gen mit IONOS Cloud Object Storage. Es ist hoch­gra­dig ska­lier­bar, äußerst kos­ten­ef­fi­zi­ent und in­te­griert sich in Ihre An­wen­dungs­sze­na­ri­en. Die extrem hohe Aus­fall­si­cher­heit unserer Server sowie eine in­di­vi­du­el­le Zu­griffs­steue­rung schützen Ihre Daten zu­ver­läs­sig.

Was ist SMB (Server Message Block)?

SMB (Server Message Block) ist ein Client-Server-Protokoll, das den Zugriff auf Dateien und ganze Ver­zeich­nis­se sowie andere Netz­werk­res­sour­cen wie Drucker, Router oder für das Netzwerk frei­ge­ge­be­ne Schnitt­stel­len regelt. Auch der In­for­ma­ti­ons­aus­tausch zwischen ver­schie­de­nen Prozessen eines Systems (auch als In­ter­pro­zess­kom­mu­ni­ka­ti­on be­zeich­net) kann auf Basis des SMB-Pro­to­kolls ab­ge­wi­ckelt werden.

Bereits 1983 vom IT-Konzern IBM ent­wi­ckelt, sind im Laufe der ver­gan­ge­nen Jahr­zehn­te ver­schie­de­ne Versionen und Im­ple­men­tie­run­gen des Pro­to­kolls ver­öf­fent­licht worden. Erstmals für eine breitere Öf­fent­lich­keit verfügbar wurde SMB bei­spiels­wei­se im Rahmen des OS/2-Netz­werk­be­triebs­sys­tems LAN Manager und durch dessen Nach­fol­ger LAN Server. Haupt­ein­satz­ge­biet des Pro­to­kolls ist seitdem ins­be­son­de­re die Windows-Be­triebs­sys­tem­rei­he, deren Netz­diens­te SMB ab­wärts­kom­pa­ti­bel un­ter­stüt­zen – wodurch Geräte mit neueren Editionen pro­blem­los mit Geräten kom­mu­ni­zie­ren können, die ein älteres Microsoft-Be­triebs­sys­tem in­stal­liert haben.

Mit dem freien Software-Projekt Samba existiert darüber hinaus auch eine Lösung, die die Ver­wen­dung von Server Message Block in Linux- und Unix-Dis­tri­bu­tio­nen und somit eine platt­form­über­grei­fen­de Kom­mu­ni­ka­ti­on via SMB er­mög­licht.

Hinweis

Für die Im­ple­men­tie­rung des SMB-Pro­to­kolls in Windows NT 4.0 nutzte Microsoft den Namen Common Internet File System (CIFS), der in­fol­ge­des­sen zunächst auch oft als Synonym für die SMB-Pro­to­koll­fa­mi­lie verwendet wurde. Heute ist CIFS ins­be­son­de­re als Be­zeich­nung für die erste SMB-Version 1.0 geläufig.

Wie funk­tio­niert SMB?

Das Server-Message-Block-Protokoll befähigt den Client dazu, mit anderen Teil­neh­men­den im gleichen Netzwerk zu kom­mu­ni­zie­ren, um auf diese Weise auf Dateien oder Dienste zu­zu­grei­fen, die für ihn im Netzwerk frei­ge­ge­ben sind. Das andere System muss das Netz­werk­pro­to­koll zu diesem Zweck ebenfalls im­ple­men­tiert haben und die jeweilige Client-Anfrage mithilfe einer SMB-Ser­ver­an­wen­dung empfangen und ver­ar­bei­ten. Zuvor müssen beide Parteien aber eine Ver­bin­dung aufbauen, weshalb sie zunächst ent­spre­chen­de Nach­rich­ten aus­tau­schen.

In IP-Netz­wer­ken greift SMB dazu auf das Trans­mis­si­on Control Protocol (TCP) zurück, das einen Drei-Wege-Handshake zwischen Client und Server vorsieht, bevor eine Ver­bin­dung endgültig etabliert wird. Auch der an­schlie­ßen­de Transport der Daten ist durch die Vorgaben des TCP-Pro­to­kolls geregelt.

Hinweis

Für den Ver­bin­dungs­auf­bau und die Über­tra­gung via TCP/SMB ist heute der TCP-Port 445 re­ser­viert. Die Adress­auf­lö­sung funk­tio­niert netz­werk­ty­pisch über das Domain Name System (DNS) bzw. in kleineren Netz­wer­ken über Link-Local Multicast Name Re­so­lu­ti­on (LLMNR).

Bild: Schaubild: Server Message Block
Sobald eine Ver­bin­dung über TCP etabliert ist, können SMB-Client und SMB-Server Nach­rich­ten aus­tau­schen, um Dateien oder Dienste über das Netzwerk ab­zu­fra­gen bzw. be­reit­zu­stel­len.

Das SMB-Protokoll im Wandel der Zeit: Die Versionen im Überblick

Wie bereits erwähnt kam es seit der Erst­ver­öf­fent­li­chung von SMB im Jahr 1983 mehrfach zu An­pas­sun­gen an dem Netz­werk­stan­dard, die in ver­schie­de­nen Pro­to­koll­ver­sio­nen fest­ge­hal­ten worden sind – beginnend mit SMB 1.0 bis hin zur aktuellen Version SMB 3.1.1, die Microsoft gemeinsam mit Windows 10 ein­ge­führt hat. Die folgenden Ab­schnit­te fassen die wich­tigs­ten Schritte der Ent­wick­lung des Server-Message-Block-Pro­to­kolls zusammen.

SMB 1.0 (CIFS)

Die erste Version des Netz­werk­kom­mu­ni­ka­ti­ons­pro­to­kolls wird oft mit der bereits erwähnten Ab­wand­lung Common Internet File System (CIFS) gleich­ge­setzt. Letztere steht prin­zi­pi­ell aber nur für einen Teil­aspekt der ersten Pro­to­kol­ledi­ti­on – konkret für die Im­ple­men­tie­rung des Pro­to­kolls in Geräte mit Windows NT 4.0. In dieser ersten Variante war noch die Kom­mu­ni­ka­ti­on über die Schnitt­stel­le NetBIOS sowie die UDP-Ports 137 (Na­mens­auf­lö­sung) und 138 (Pa­ket­über­mitt­lung) sowie TCP-Port 139 (Ver­bin­dungs­auf­bau und Transport) vor­ge­se­hen. Mit Windows 2000 entfiel die Ab­hän­gig­keit von NetBIOS, sodass das nun offiziell als SMB 1.0 be­zeich­ne­te Protokoll die bis heute bei­be­hal­te­ne Di­rekt­ver­bin­dung über TCP (Port 445) erlaubte.

SMB 2.0

Die erste große Über­ar­bei­tung von Server Message Block lieferte Microsoft im November 2006 – gemeinsam mit dem Be­triebs­sys­tem Windows Vista. Auch wenn das Protokoll – nun als SMB 2.0 bzw. 2 bekannt – weiterhin pro­prie­tär blieb, ver­öf­fent­lich­te das Software-Un­ter­neh­men zudem erstmals die Spe­zi­fi­ka­ti­on, um anderen Systemen ebenfalls die Kom­mu­ni­ka­ti­on mit den Windows-Be­triebs­sys­te­men zu er­mög­li­chen. Die wich­tigs­ten Neue­run­gen der zweiten Pro­to­koll­ver­si­on waren folgende:

  • Re­du­zie­rung der Kommandos und Un­ter­kom­man­dos von über 100 auf 19
  • Op­ti­mier­te Per­for­mance dank neuer War­te­schlan­gen-Funktion für SMB-Anfragen
  • Un­ter­stüt­zung sym­bo­li­scher Links (Ver­knüp­fun­gen zu Dateien bzw. Ver­zeich­nis­sen)
  • Zwi­schen­spei­che­rung von Da­tei­ei­gen­schaf­ten
  • Ver­bes­ser­te Nach­rich­ten­si­gnie­rung (HMAC-SHA-256-Al­go­rith­mus)
  • Bessere Ska­lier­bar­keit dank höherer Ma­xi­mal­zahl an Clients, Freigaben und gleich­zei­tig offenen Dateien

Aus Kom­pa­ti­bi­li­täts­grün­den blieb die erste Pro­to­koll­ver­si­on erhalten – eine Maßnahme, die Microsoft auch in den nach­fol­gen­den Versionen bei­be­hielt.

SMB 2.1

Version 2.1 des SMB-Pro­to­kolls steht in enger Ver­bin­dung mit Windows 7. Die über­ar­bei­te­te Fassung der zweiten Pro­to­koll­aus­ga­be erschien gemeinsam mit dem Be­triebs­sys­tem im Jahr 2007 und brachte neben einigen kleineren Per­for­mance-Op­ti­mie­run­gen vor allem neue Locking-Me­cha­nis­men zur besseren Re­gu­lie­rung des Da­tei­zu­griffs (Lesen, Schreiben, Löschen etc.).

SMB 3.0

2012 erschien Windows 8 und mit der neuen Edition der Microsoft-Be­triebs­sys­tem­rei­he auch eine neue Version von Server Message Block, die zunächst als SMB 2.2 auf­ge­führt wurde, später aber die bis heute gültige Be­zeich­nung SMB 3.0 erhielt. Auch diese Pro­to­koll­über­ar­bei­tung zielt auf die Ver­bes­se­rung der Per­for­mance und Si­cher­heit von SMB-Ver­bin­dun­gen ab – ins­be­son­de­re in vir­tua­li­sier­ten Da­ten­zen­tren. Ent­schei­dend für den Boost sind dabei folgende neuen Features:

  • Mög­lich­keit des Fern­spei­cher­zu­griffs dank SMB über RDMA (Remote Direct Memory Access)
  • Mul­tich­an­nel-Funktion er­mög­licht den Aufbau mehrerer Ver­bin­dun­gen pro SMB-Sitzung
  • Trans­pa­ren­te Aus­fall­si­che­rung
  • Ende-zu-Ende-Ver­schlüs­se­lung
Hinweis

Mit SMB 3.0.2 wurde die dritte Pro­to­koll­ver­si­on ohne ent­schei­den­de Neue­run­gen in Windows 8.1 im­ple­men­tiert.

SMB 3.1.1

SMB 3.1.1 (2015 mit Windows 10 ver­öf­fent­licht) erweitert die Pro­to­koll­rei­he um eine In­te­gri­täts­über­prü­fung vor der Au­then­ti­fi­zie­rung auf Basis von SHA-512-Hash­wer­ten. Zudem setzt die Version auf eine AES-128-Ver­schlüs­se­lung mit Galois/Counter Mode (GCM). Für alle kom­mu­ni­zie­ren­den Geräte mit SMB 2.0 oder höher macht SMB 3.1.1 eine sichere Ver­bin­dung ob­li­ga­to­risch.

Die SMB-Versionen im ta­bel­la­ri­schen Überblick

SMB-Version Un­ter­stützt seit Neue Features
CIFS Windows NT 4.0 Kom­mu­ni­ka­ti­on über NetBIOS-Schnitt­stel­le
SMB 1.0 Windows 2000 Di­rekt­ver­bin­dung über TCP
SMB 2.0 Windows Vista, Windows Server 2008, Samba 3.5 Diverse Per­for­mance-Upgrades, ver­bes­ser­te Nach­rich­ten­si­gnie­rung, Caching-Funktion für Da­tei­ei­gen­schaf­ten
SMB 2.1 Windows 7, Windows Server 2008 R2 Locking-Me­cha­nis­men
SMB 3.0 Windows 8, Windows Server 2012, Samba 4.0 Mul­tich­an­nel-Ver­bin­dun­gen, Ende-zu-Ende-Ver­schlüs­se­lung, Fern­spei­cher­zu­griff
SMB 3.0.2 Windows 8.1, Windows Server 2012 R2 Keine ent­schei­den­den Neue­run­gen
SMB 3.1.1 Windows 10, Windows Server 2016, Samba 4.3 In­te­gri­täts­prü­fung, AES-128-Ver­schlüs­se­lung mit Galois/Counter Mode (GCM)

Welche Si­cher­heits­aspek­te sind beim Einsatz von SMB zu beachten?

Microsoft hat in seinen Systemen jahrelang darauf Wert gelegt, dass ältere Versionen von Server Message Block auch von neueren Sys­te­me­di­tio­nen un­ter­stützt werden, um die Kom­mu­ni­ka­ti­on zwischen älteren und neueren Geräten ge­währ­leis­ten zu können. Die Ge­währ­leis­tung der Kom­pa­ti­bi­li­tät ist aber seit jeher mit einem erhöhten Si­cher­heits­ri­si­ko verbunden, denn SMB 1.0 birgt im Vergleich zu den Nach­fol­ge­pro­to­kol­len zahl­rei­che Schwach­stel­len, die den eigenen Computer bei­spiels­wei­se für DoS-Attacken anfällig machen.

Ins­be­son­de­re in Netz­wer­ken ist die Gefahr eines Angriffs auf Basis des SMB-Pro­to­kolls groß: Aus Kom­pa­ti­bi­li­täts­grün­den sind dort nämlich besonders häufig alle SMB-Versionen aktiviert – bei­spiels­wei­se, weil es an­ge­schlos­se­ne Drucker oder andere Netz­werk­ge­rä­te erfordern. Auch wenn die alte Pro­to­koll­ver­si­on also ei­gent­lich gar nicht verwendet wird, haben An­grei­fen­de in­fol­ge­des­sen leichtes Spiel, da sie die Kom­mu­ni­ka­ti­on auf SMB 1.0 her­un­ter­stu­fen und das ge­wünsch­te Ziel­sys­tem so ohne große Hin­der­nis­se angreifen können. Seit Windows 10 hat sich Microsoft aus diesem Grund dazu ent­schie­den, die erste Version nicht mehr aktiv zu un­ter­stüt­zen bzw. bei Nicht­nut­zung au­to­ma­tisch zu de­instal­lie­ren. Auch unter macOS ist SMB in der Version 1.0 seit macOS Catalina (2019) de­ak­ti­viert.

Tipp

Wie Sie Server Message Block bzw. bestimmte Versionen des SMB-Pro­to­kolls in Windows 10 auf eigene Faust de­ak­ti­vie­ren (und bei Bedarf wieder ak­ti­vie­ren), erfahren Sie in unserem aus­führ­li­chen Artikel „SMB in Windows 10 ak­ti­vie­ren und de­ak­ti­vie­ren“.

Wo wird Server Message Block ein­ge­setzt bzw. im­ple­men­tiert?

Die ent­schei­den­den Ein­satz­sze­na­ri­en von SMB sind in diesem Artikel bereits zur Sprache gekommen: Der zentrale Punkt des Pro­to­kolls ist der Zugriff auf Da­tei­sys­te­me, weshalb der Haupt­nut­zen in Client-Server-Ver­bin­dun­gen zwischen Computern und File­ser­vern liegt. Da andere Ab­schnit­te des Pro­to­kolls aber klar auf die In­ter­pro­zess­kom­mu­ni­ka­ti­on abzielen, zählt der einfache Da­ten­aus­tausch zwischen zwei Geräten bzw. zwei Prozessen ebenso zum An­wen­dungs­pro­fil.

Abseits der Im­ple­men­tie­run­gen von Server Message Block in die ver­schie­de­nen Windows-Editionen wurde das Protokoll im Laufe der Jahre zudem in zahl­rei­che andere Soft­ware­pro­jek­te ein­ge­bun­den, um die Kom­mu­ni­ka­ti­ons­fea­tures auch außerhalb der Microsoft-Familie verfügbar zu machen. Zu den be­kann­tes­ten SMB-Im­ple­men­tie­run­gen gehören folgende:

  • Samba: Das Software-Projekt Samba ist das wohl be­kann­tes­te Beispiel für eine SMB-Im­ple­men­tie­rung fernab von Windows. Bereits 1991 startete der Pro­gram­mie­rer Andrew Tridgell mit der Ent­wick­lung der freien Software, die die Kom­mu­ni­ka­ti­on via Server Message Block auf Unix/Linux-Systemen er­mög­licht.
  • Netsmb: Bei Netsmb handelt es sich um Im­ple­men­tie­run­gen von SMB-Client und -Server direkt im Kernel von BSD-Be­triebs­sys­te­men. Erstmals für das OS FreeBSD 4.4 ver­öf­fent­licht, sind diese mitt­ler­wei­le für eine Vielzahl von BSD-Systemen verfügbar – unter anderem für NetBSD und macOS.
  • YNQ: YNQ (ehemals NQ) ist eine SMB-Bi­blio­thek, die die Server-Message-Block-Tech­no­lo­gie in ein­ge­bet­te­te Systeme ohne Windows im­ple­men­tiert und auf diese Weise die In­ter­ope­ra­bi­li­tät mit Windows-Geräten möglich macht. YNQ wird seit 1998 von der is­rae­li­schen Soft­ware­fir­ma Visuality Systems Ltd. ent­wi­ckelt.
  • TrueNAS: Wer einen eigenen NAS-Server betreiben möchte, der unter anderem das SMB-Protokoll un­ter­stützt, findet in der Open-Source-Lösung TrueNAS die passende Lösung. Die NAS-Software setzt auf FreeBSD und dem OpenZFS-Da­tei­sys­tem auf.
  • Con­nec­ted­NAS: SMB-Server- und -Client für Android-Geräte zugleich ist die von Connected Way ent­wi­ckel­te Software Con­nec­ted­NAS. Nut­ze­rin­nen und Nutzer der kos­ten­pflich­ti­gen App können bequem Daten zwischen dem Mo­bil­ge­rät und anderen SMB-Geräten aus­tau­schen – ob privat oder im Un­ter­neh­men. Aus Si­cher­heits­grün­den un­ter­stützt Con­nec­ted­NAS SMB erst ab Version 2.
Zum Hauptmenü