Server Message Block

SMB über NetBIOS:
AnwendungSMB
TransportNetBIOS
VermittlungNetBEUI
NetzzugangEthernetToken
Bus
Token
Ring
FDDI
SMB auf NetBIOS über TCP/IP:
AnwendungSMB
AdapterNetBIOS (NBT)
TransportUDPTCP
InternetIP
NetzzugangEthernetToken
Bus
Token
Ring
FDDI
SMB im TCP/IP-Protokollstapel:
AnwendungSMB
TransportUDPTCP
InternetIP (IPv4, IPv6)
NetzzugangEthernetToken
Bus
Token
Ring
FDDI

Server Message Block (SMB), in einer Ur-Version auch als Common Internet File System (CIFS) bezeichnet, ist ein Netzprotokoll für Datei-, Druck- und andere Serverdienste in Rechnernetzen. Es ist ein zentraler Teil der Netzdienste der Windows-Produktfamilie und erlaubt den Zugriff auf Dateien und Verzeichnisse, die sich auf einem anderen Computer befinden. Es wird auch vom frei verfügbaren Softwareprojekt Samba verwendet, um Windows-Systemen den Zugriff auf Ressourcen von Unix-basierten Systemen zu ermöglichen und umgekehrt. Damit kommt es auch auf vielen NAS-Systemen zum Einsatz.

SMB implementiert ein Netzwerkdateisystem ähnlich wie NFS und ist damit vom zugrundeliegenden Dateisystem des Servers größtenteils unabhängig. Höhere Protokolle wie DFS setzen wiederum auf SMB auf.

In TCP/IP-Netzen wurde SMB ursprünglich in NetBIOS over TCP/IP (NBT) über die TCP/UDP-Ports 137–139 gekapselt, die Namensauflösung erfolgte häufig mittels WINS bzw. Broadcasts. Heutige Windows-Versionen nutzen SMB direkt auf dem TCP-Port 445 und lösen Namen per DNS und in kleinen Netzwerken per LLMNR auf.[1]

Geschichte

SMB wurde zuerst 1983 von Barry Feigenbaum bei IBM vorgestellt. 1987 wurde es als Protokoll der OS/2-Netzwerk-Erweiterung namens LAN Manager und dem verwandten Produkt LAN Server erstmals breiter verfügbar. Auch durch den Einsatz in frühen Windows-Versionen wie Windows for Workgroups über die Windows-9x-Reihe bis hin zur Windows-NT-Produktfamilie wurde es in lokalen Netzwerken immer populärer.

Im Laufe der Zeit wurde das Protokoll von verschiedenen Firmen und Gruppen, darunter Microsoft, 3Com, SCO, Thursby, IBM und den Samba-Entwicklern, erweitert. Microsoft steuerte die meisten Erweiterungen bei, veröffentlichte zunächst jedoch keine Spezifikationen. Erst nach einem Urteil im Kartellstreit durch die Europäische Union im Jahr 2004 wurde SMB als Teil des Workgroup Server Protocols Program[2] im Jahr 2007[3] Entwicklern zugänglich gemacht.

CIFS

Der Begriff wurde immer wieder in verschiedener Bedeutung verwendet. Microsoft verwendete ihn 1996 ursprünglich, um SMB auf Basis der Windows-NT-4.0-Implementierung als Standardprotokoll für den Dateizugriff in TCP/IP-Netzwerken zu etablieren (siehe Übersicht), auch als Reaktion auf ähnliche Bestrebungen seitens des NFS-Entwicklers Sun Microsystems (WebNFS) in Zeiten des aufkommenden Internets.[4] Parallel dazu wurde CIFS auch immer öfter als Synonym für das SMB-Protokoll generell oder sogar dessen ganze Protokollfamilie verwendet. Heute bezeichnet Microsoft SMB 1.0 als CIFS, auch als Abgrenzung zur komplett überarbeiteten Folgeversion.[5]

SMB 1.0

Mit Windows 2000 entfiel die Notwendigkeit der zusätzlichen NetBIOS-Schicht, SMB konnte direkt über TCP/IP und damit etwas effizienter betrieben werden.

SMB 2.0

Diese erste große Überarbeitung des SMB-Protokolls verbesserte die Leistung durch eine Reduzierung auf weniger Kommandos und eine optionale Verkettung dieser, was vor allem in Weitverkehrsnetzen (WANs) die Geschwindigkeit erhöht. Version 1 blieb aus Kompatibilitätsgründen parallel weiter in Windows enthalten.

SMB 3.0

Mit der Version 3 wurde SMB um das SMB Direct Protocol (SMB über RDMA), Failover-Mechanismen und Multichannel-SMB (mehrere Verbindungen pro Sitzung) erweitert.[6] Außerdem wurde Ende-zu-Ende-Verschlüsselung eingeführt.[7] Damit wird SMB auch als Basis von Virtualisierungs-Plattformen einsetzbar.

Übersicht

Die folgende Tabelle gibt einen Überblick über die SMB-Versionen und deren Einführung bzw. Unterstützung sowie enthaltene Neuerungen.[8]

SMB-VersionUnterstützt seitNeue Features
CIFSWindows NT 4.0Standardisierungsvorschlag von Microsoft an die IETF[9]
1.0Windows 2000SMB direkt über TCP/IP
2.0Windows Vista / Windows Server 2008 / Samba 3.5höhere Leistung durch kompaktere Kommunikation und weniger Kommandos
2.1Windows 7 / Windows Server 2008 R2weitere kleinere Optimierungen und neue Locking-Mechanismen
3.0Windows 8 / Windows Server 2012 / Samba 4.0Erweiterungen für Betrieb als Virtualisierungs-Basis, Verschlüsselung
3.0.2Windows 8.1 / Windows Server 2012 R2
3.1.1Windows 10 / Windows Server 2016 / Samba 4.3weitere Erhöhung der Protokollsicherheit (Verschlüsselung, Integritätsprüfung)

Sicherheit

Die auch in aktuellen Versionen von Windows noch enthaltene Implementierung des SMB-Protokolls in Version 1.0 ist anfällig für kritische Sicherheitslücken. Diese Protokollversion wird auch inhaltlich aufgrund ihrer 30 Jahre alten Architektur als Risikofaktor eingestuft.[10] Beispielsweise basierte der Cyber-Angriff mit der Ransomware WannaCry im Mai 2017 auf einer solchen Sicherheitslücke.

Mit dem im Oktober 2017 veröffentlichten Fall Creators Update (Version 1709) für Windows 10 entschied sich Microsoft deshalb dafür, SMB in der Version 1.0 standardmäßig nicht mehr zu installieren, beziehungsweise bei Nichtnutzung automatisch zu deinstallieren.[11] Außerdem lässt sich die alte SMB-Version in allen Windows-Versionen gezielt deaktivieren, um die Sicherheit zu erhöhen.[12]

Auch Apple deaktivierte SMB 1.0 standardmäßig mit der Einführung von macOS Catalina im Oktober 2019.[13]

Weblinks

  • MS-CIFS – Common Internet File System (CIFS) Protocol (Microsoft Open Specifications)
  • MS-SMB2 – Server Message Block (SMB) Protocol Versions 2 and 3 (Microsoft Open Specifications)

Einzelnachweise

  1. SMB - Server Message Block. Abgerufen am 8. August 2023.
  2. Workgroup Server Protocols Program. Abgerufen am 24. September 2018 (englisch).
  3. Microsoft finally bows to EU antitrust measures. In: Wayback Machine. Reuters, 24. Oktober 2007, archiviert vom Original (nicht mehr online verfügbar) am 24. Oktober 2007; abgerufen am 24. September 2018 (englisch).  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/investing.reuters.co.uk
  4. Andrew Tridgell: Myths About Samba. Abgerufen am 8. August 2019 (englisch).
  5. (MS-CIFS): Introduction. Abgerufen am 5. August 2019 (englisch).
  6. Netzwerkprotokolle SMB 3 und SMB 2 im Detail 15. Februar 2013
  7. SMB Security Enhancements. Abgerufen am 8. August 2019 (englisch).
  8. Windows Server 2012 R2: Which version of the SMB protocol (SMB 1.0, SMB 2.0, SMB 2.1, SMB 3.0 or SMB 3.02) are you using? Abgerufen am 8. August 2019 (englisch).
  9. Common Internet File System Protocol (CIFS/1.0). Abgerufen am 8. August 2019 (englisch).
  10. Stop using SMB1. Abgerufen am 25. Juni 2017 (englisch).
  11. https://support.microsoft.com/de-de/help/4034314/smbv1-is-not-installed-by-default-in-windows. Abgerufen am 18. Mai 2018.
  12. SMB1 deaktivieren. Abgerufen am 26. Dezember 2018.
  13. Apple Releases Fifth Beta of macOS Catalina 10.15 (19A526h) Beta 5. Mr. Macintosh, 1. August 2019, abgerufen am 1. März 2020 (englisch).