Server -Nachrichtenblock

Server -Nachrichtenblock (SMB) ist ein Kommunikationsprotokoll[1] Ursprünglich 1983 von Barry A. Feigenbaum bei IBM entwickelt[2] und beabsichtigt zu bieten gemeinsamer Zugang zu Dateien und Drucker über Knoten In einem Netzwerk von Systemen, die IBM's ausführen OS/2. Es bietet auch eine authentifizierte Interprozesskommunikation (IPC) Mechanismus. 1987,, Microsoft und 3com implementiert SMB in LAN -Manager Für OS/2 verwendete das SMB die zu diesem Zeitpunkt die Netbios Service auf dem Netbios Frames Protokoll als zugrunde liegender Transport. Später implementierte Microsoft SMB in Windows NT 3.1 und hat es seitdem aktualisiert und es an die Arbeit mit neueren zugrunde liegenden Transporten angepasst: TCP/IP und Netz. Die SMB -Implementierung besteht aus zwei vage genannten Windows Services: "Server" (ID: Lanmanserver) und "Workstation" (ID: Lanmanworkstation).[3] Es verwendet Ntlm oder Kerberos Protokolle für die Benutzerauthentifizierung.

1996 veröffentlichte Microsoft eine Version von SMB 1.0[4] mit geringfügigen Modifikationen unter dem Gemeinsames Internetdateisystem (CIFs /sɪfs/) Spitzname. CIFs war selbst mit der frühesten Inkarnation von SMB kompatibel, einschließlich LAN -Manager's.[4] Es unterstützt symbolische Links, harte Links und größere Dateigröße, aber keine der Funktionen von SMB 2.0 und später.[4][5] Der Vorschlag von Microsoft blieb jedoch eine Internetentwurf und nie den Standardstatus erreicht.[6] Microsoft hat seitdem die Verwendung des CIFS -Spitzners eingestellt, entwickelt jedoch weiterhin ein SMB und stellt nachfolgende Spezifikationen öffentlich zur Verfügung.

Merkmale

Server Message Block (SMB) aktiviert Datenaustausch, Druckerfreigabe, Netzwerksrowser und Interprozesskommunikation (durch benannte Pfeifen) über ein Computernetzwerk. SMB dient als Grundlage für Microsoft's Verteiltes Dateisystem Implementierung.

SMB stützt sich auf die TCP und IP Protokolle für den Transport. Diese Kombination ermöglicht möglicherweise die Freigabe von Dateien komplexe, miteinander verbundene Netzwerke, einschließlich des öffentlichen Internets. Das SMB Serverkomponente Verwendet TCP Hafen 445. SMB ursprünglich betrieben auf Netbios (Über IEEE 802.2 und IPX/SPX) und später Netbios über TCP/IP (NetBT), aber Microsoft hat seitdem veraltet Diese Protokolle. (Netbios ist seitdem nicht verfügbar Windows Vista.) Auf NetBT verwendet die Serverkomponente drei TCP oder UDP Ports: 137 (Netbios Name Service), 138 (Netbios Datagram Service) und 139 (NetBIOS -Sitzungsdienst).

In Microsoft Windows zwei vage genannt Windows Services SMB implementieren. Der "Server" -Dienst (ID: Lanmanserver) ist verantwortlich für das Servieren gemeinsame Ressourcen. Der "Workstation" -Dienst (ID: Lanmanworkstation) Verwaltet den Computernamen und hilft beim Zugriff auf gemeinsame Ressourcen auf anderen Computern.[3] SMB verwendet das Kerberos Protokoll zur Authentifizierung von Benutzern dagegen Active Directory an Windows -Domain Netzwerke. In einfacheren, Peer-to-Peer-Netzwerken verwendet SMB die Ntlm Protokoll.

Windows NT 4.0 SP3 und später können Digital unterschreiben SMB -Nachrichten, um einige zu verhindern MAN-in-the-Middle-Angriffe.[7][8][9] Die SMB -Unterzeichnung kann einzeln für eingehende SMB -Verbindungen (durch den "LanManserver" -Dienst) und ausgehenden SMB -Verbindungen (vom "LanmanworkStation" -Dienst) konfiguriert werden. Die Standardeinstellung für Windows Domänencontroller laufend Windows Server 2003 und später ist es, nicht signierte eingehende Verbindungen nicht zuzulassen.[10] Daher frühere Versionen von Fenstern, die nicht von der Get-Go-Unterzeichnung von SMB-Signieren unterstützen (einschließlich Windows 9x) kann keine Verbindung zu einem Windows Server 2003 -Domänencontroller herstellen.[8]

SMB unterstützt die opportunistische Sperre (siehe unten) in Dateien, um die Leistung zu verbessern. Die opportunistische Sperrenunterstützung hat sich mit jeder Windows Server -Version geändert.

Opportunistische Sperren

Im SMB -Protokoll ist opportunistisches Verriegelung ein Mechanismus, der die Leistung durch Kontrolle verbessern soll zwischengespeichert von Netzwerkdateien durch den Client.[11] Im Gegensatz zu traditioneller Schlösser, opportunistisches Schloss (Oplocks) sind nicht streng streng Dateisperrung oder verwendet, um gegenseitige Ausschluss zu liefern.

Es gibt vier Arten von opportunistischen Schlössern.

Batch -Schlösser
Batch -Oplocks wurden ursprünglich erstellt, um ein bestimmtes Verhalten der DOS -Batch -Dateiausführungsoperation zu unterstützen, bei der die Datei in kurzer Zeit um ein Vielfaches geöffnet und geschlossen wird, was ein Leistungsproblem darstellt. Um dies zu lösen, kann ein Kunde nach einem Opplock "Stapel" bitten. In diesem Fall verzögert der Client die Sende der Schließanforderung und wenn eine nachfolgende offene Anfrage erfolgt, stornieren sich die beiden Anfragen gegenseitig.[12]
Stufe-1-Operationen / exklusive Schlösser
Wenn eine Anwendung im "Shared -Modus" geöffnet wird, wird eine Datei, die auf einem SMB -Server gehostet wird und von keinem anderen Prozess (oder anderen Clients) geöffnet wird Exklusive Oplock vom Server. Dies bedeutet, dass der Client nun annehmen kann, dass er mit Zugriff auf diese bestimmte Datei den einzigen Prozess ist, und der Client kann jetzt alle Änderungen an der Datei zwischenspeichern, bevor er sie an den Server verpflichtet. Dies ist eine Leistungsverbesserung, da weniger Hin- und Rückflugs erforderlich sind, um die Datei zu lesen und in die Datei zu schreiben. Wenn ein anderer Client/Prozess versucht, dieselbe Datei zu öffnen, sendet der Server eine Nachricht an den Client (genannt a Unterbrechung oder Widerruf) die die ausschließliche Sperre ungültig macht, die dem Client zuvor gegeben wurde. Der Client spüle dann alle Änderungen an der Datei.
Stufe-2-Operationen
Wenn eine exklusive Operation von einem Kunden gehalten wird und eine gesperrte Datei von einem Dritten eröffnet wird, muss der Kunde seine exklusive Operation aufgeben, um den Schreibzugriff des anderen Kunden zu ermöglichen. Ein Client kann dann vom Server eine "Stufe 2 Oplock" erhalten. Ein Oplock der Stufe 2 ermöglicht das Ausschneiden von Leseanforderungen, schließt jedoch das Schreiben aus.
FILTER OPLOCKS
In Windows NT 4.0 sind Filter-Oplocks hinzugefügt und verhindern, dass die OPLOCKS der Stufe 2 aufgenommen wird, jedoch verhindern, dass Verstöße gegen die Freigabe zwischen Dateiöffnungen und Sperrrezeption gemeinsam genutzt werden. Microsoft empfiehlt die Verwendung von Filter -OPLOCKS nur dort, wo es wichtig ist, dass mehrere Leser und Stufe 2 unter anderen Umständen Operationen ermöglichen. Clients, die einen Oplock halten Unterbrechung Wenn ein anderer Client auf eine Weise auf die Datei zugreifen möchte, die mit seinem Schloss nicht stimmt. Die Anfrage des anderen Kunden wird während der Bearbeitung der Pause aufbewahrt.
Geht kaputt
Im Gegensatz zum "Standard" des SMB -Protokolls kann eine Pausenanforderung gesendet werden aus Server zu Klient. Es informiert den Kunden, dass ein Oplock nicht mehr gültig ist. Dies geschieht beispielsweise, wenn ein anderer Client eine Datei auf eine Weise öffnen möchte, die den Oplock ungültig macht. Der erste Client erhält dann eine Oplock -Pause und verpflichtet, alle lokalen Änderungen (im Falle eines Batch- oder exklusiven Ophlocks) zu senden, falls vorhanden, und die Opr -Break zu bestätigen. Bei dieser Bestätigung kann der Server den zweiten Client konsistent antworten.

Leistung

Die Verwendung des SMB -Protokolls korrelierte oft mit einem signifikanten Anstieg der Übertragung Verkehr in einem Netzwerk. Das SMB selbst verwendet jedoch keine Sendungen - die Sendungsprobleme, die üblicherweise mit dem SMB verbunden sind Netbios Servicestandortprotokoll.[Klarstellung erforderlich] Standardmäßig a Microsoft Windows NT 4.0 Der Server verwendete NetBIOS, um Dienste zu werben und zu lokalisieren. NetBIOS funktioniert, indem es in regelmäßigen Abständen auf einem bestimmten Host verfügbar ist. Dies sorgt zwar normalerweise zu einer akzeptablen Standardeinstellung in einem Netzwerk mit einer geringeren Anzahl von Hosts, aber ein erhöhter Broadcast -Verkehr kann Probleme verursachen, wenn die Anzahl der Hosts im Netzwerk zunimmt. Die Implementierung der Namensauflösungsinfrastruktur in Form von Windows -Internet -Namensservice (Gewinnt) oder Domainnamensystem (DNS) löst dieses Problem. Wins war eine proprietäre Implementierung, die mit Windows NT 4.0 -Netzwerken verwendet wurde, aber seine eigenen Probleme und Komplexität bei der Gestaltung und Wartung eines Microsoft -Netzwerks bewirkte.

Seit der Veröffentlichung von Windows 2000 wurde die Verwendung von Siegen zur Namensauflösung von Microsoft mit hierarchisch veraltet Dynamisches DNS Jetzt als Standard -Namensauflösungsprotokoll für alle Windows -Betriebssysteme konfiguriert. Die Auflösung von (kurzen) NetBIOS-Namen nach DNS erfordert, dass ein DNS-Client kurze Namen erweitert, indem es normalerweise ein verbindungsspezifisches DNS-Suffix an seine DNS-Suchanfragen angeht. Gewinne können weiterhin als sekundäres Namensauflösungsprotokoll für die Interoperabilität mit Legacy -Windows -Umgebungen und -anwendungen konfiguriert werden. Darüber hinaus können Microsoft-DNS-Server die Namensauflösungsanforderungen an Legacy-Siege Server weiterleiten, um die Integration der Namensauflösung mit Legacy-Umgebungen (Pre-Windows 2000) zu unterstützen, die DNS nicht unterstützen.

Netzwerkdesigner habe das gefunden Latenz hat einen signifikanten Einfluss auf die Leistung des SMB 1.0 -Protokolls, dass es schlechter ist als andere Protokolle wie Ftp. Die Überwachung zeigt ein hohes Maß an "onten "und eine Missachtung der Netzwerklatenz zwischen den Hosts.[13] Zum Beispiel a VPN Verbindung über die Internet wird oft die Netzwerklatenz einführen. Microsoft hat erklärt, dass Leistungsprobleme vor allem darauf zurückzuführen sind Streaming Protokoll, das ursprünglich für kleine konzipiert war Lans; Es hat eine Blockgröße, die auf 64.000 begrenzt ist, ein SMB -Signieren erzeugt einen zusätzlichen Overhead und die TCP -Fenstergröße ist nicht für WAN -Links optimiert.[14] Lösungen für dieses Problem umfassen das aktualisierte SMB 2.0 -Protokoll.[15] Offline -Dateien, TCP -Fensterskalierung und WAN -Optimierung Geräte verschiedener Netzwerkanbieter, die SMB 1.0 zwischenspeichern und optimieren[16] und 2.0.[17]

Geschichte

SMB 1.0

Barry Feigenbaum wurde ursprünglich SMB bei entworfen IBM Anfang 1983 mit dem Ziel, sich zu drehen DOS Int 21h Lokale Dateizugriff in ein vernetzendes Dateisystem.[2] Microsoft machte beträchtliche Änderungen an der am häufigsten verwendeten Version vor und implementierte das SMB -Protokoll in der LAN -Manager Betriebssystem, für das es sich entwickelt hatte OS/2 mit 3com um 1990 und fügte weiterhin Funktionen zum Protokoll in hinzu Fenster für Arbeitsgruppen (c.1992) und in späteren Versionen von Windows. Die Authentifizierung von LAN -Manager wurde basierend auf der Anforderung der ursprünglichen Legacy -SMB -Spezifikation implementiert, IBM "LAN -Manager" -Kennwörter zu verwenden, aber implementiert Des in einem fehlerhafte Weise Das ermöglichte es, Passwörter zu knacken.[18] Später, Kerberos Die Authentifizierung wurde ebenfalls hinzugefügt. Das Windows -Domain Anmeldeprotokolle anfänglich verwendet 40-Bit-Verschlüsselung außerhalb des Vereinigte Staatenaufgrund von Exportbeschränkungen für eine stärkere 128-Bit-Verschlüsselung[19] (Anschließend 1996 als Präsident aufgehoben Bill Clinton unterzeichnet Executive Order 13026[20]).

SMB 1.0 (oder SMB1) wurde ursprünglich für den Lauf entwickelt Netbios Frames (Netbios vorbei IEEE 802.2). Seitdem wurde es an Netbios angepasst IPX/SPX (NBX) und Netbios über TCP/IP (NetBT). Auch seit Windows 2000, SMB läuft weiter TCP Mit TCP Port 445, einer Funktion namens "Direct Host SMB".[21] Es gibt immer noch eine dünne Schicht (ähnlich dem Sitzungsmeldungspaket des NETBT -Sitzungsdienstes) zwischen SMB und TCP.[21] Windows Server 2003 und Vermächtnis Nas Geräte verwenden smb1 nativ.

SMB1 ist ein extrem gesprächiges Protokoll, das auf a kein Problem mit einem Problem darstellt lokales Netzwerk (LAN) mit geringer Latenz. Es wird sehr langsam an Weite Flächennetzwerke (WAN) Wenn das Hin- und Her -Händedruck des Protokolls die inhärente hohe Latenz eines solchen Netzwerks vergrößert. Spätere Versionen des Protokolls reduzierten die hohe Anzahl von Handshake -Börsen. Ein Ansatz zur Minderung der Ineffizienzen im Protokoll ist die Verwendung WAN -Optimierung Produkte wie die zur Verfügung gestellten von Flussbett, Silberpeak, oder Cisco. Ein besserer Ansatz ist das Upgrade auf eine spätere Version von SMB. Dies beinhaltet das Upgrade sowohl NAS -Geräte als auch Windows Server 2003. Die effektivste Methode zur Identifizierung des SMB1 -Datenverkehrs ist ein Netzwerkanalysator -Tool wie z. B. Wireshark. Microsoft bietet auch ein Prüftool in Windows Server 2016 Geräte aufspüren, die SMB1 verwenden.[22]

Microsoft hat SMB1 als markiert veraltet Im Juni 2013.[23] Windows Server 2016 und Windows 10 Version 1709 Lassen Sie sich standardmäßig nicht mit SMB1 installiert.[24]

CIFs

1996, als Sun Microsystems angekündigt wurde Webnfs,[25] Microsoft hat eine Initiative zum Umbenennen von SMB in das Common Internet Dateisystem (CIFS) gestartet, um umzubenennen.[2] und weitere Funktionen hinzugefügt, einschließlich der Unterstützung für Symbolische Links, harte Links, größere Dateigrößen und ein erster Versuch, direkte Verbindungen über TCP -Port 445 zu unterstützen, ohne dies zu verlangen Netbios als Transport (ein weitgehend experimenteller Anstrengung, der eine weitere Verfeinerung erforderte). Microsoft hat einige Teilspezifikationen als eingereicht Internetentwürfe zum Ietf.[6] Diese Einreichungen sind seitdem abgelaufen.

SMB 2.0

Microsoft führte 2006 eine neue Version des Protokolls (SMB 2.0 oder SMB2) mit Windows Vista und Windows Server 2008.[26] Obwohl das Protokoll proprietär ist, wurde seine Spezifikation veröffentlicht, damit andere Systeme mit Microsoft -Betriebssystemen zusammenarbeiten können, die das neue Protokoll verwenden.[27]

SMB2 reduziert das „Zusammenhang“ des SMB 1.0 -Protokolls, indem die Anzahl der Befehle und Unterbefehle von über hundert auf nur neunzehn reduziert wird.[13] Es hat Mechanismen für PipeliningDas heißt, das Senden zusätzlicher Anfragen, bevor die Antwort auf eine frühere Anfrage eintrifft und so die Leistung über hoch-Latenz Links. Es fügt die Fähigkeit hinzu, mehrere Aktionen in eine einzelne Anforderung zu verschärfen, was die Anzahl der Anzahl erheblich reduziert Rundfahrten Der Client muss an den Server hergestellt werden und die Leistung dadurch verbessert.[13] SMB1 hat auch einen zusammengesetzten Mechanismus, der als ANDX bekannt ist, um mehrere Aktionen zu verschärfen, aber Microsoft -Clients verwenden selten ANDX. Es wird auch den Begriff "dauerhafte Dateigriffe" eingeführt: Diese ermöglichen eine Verbindung zu einem SMB-Server, um kurze Netzwerkausfälle zu überleben, ebenso wie in einem drahtlosen Netzwerk typisch, ohne den Overhead der Neuverhandlung einer neuen Sitzung zu verhandeln zu müssen.

SMB2 beinhaltet Unterstützung für Symbolische Links. Weitere Verbesserungen umfassen das Absetzen von Dateieigenschaften, eine verbesserte Nachrichtenunterzeichnung mit HMAC SHA-256 Hashing -Algorithmus und bessere Skalierbarkeit durch Erhöhen der Anzahl der Benutzer, Shares und Öffnen von Dateien pro Server.[13] Das SMB1-Protokoll verwendet 16-Bit-Datengrößen, was unter anderem die maximale Blockgröße auf 64.000 begrenzt. SMB2 verwendet 32- oder 64-Bit-breite Speicherfelder und 128 Bit im Fall von DateigriffeDadurch werden frühere Einschränkungen für Blockgrößen entfernt, wodurch die Leistung mit großen Dateiübertragungen über schnelle Netzwerke verbessert wird.[13]

Windows Vista/Server 2008 und spätere Betriebssysteme verwenden SMB2 bei der Kommunikation mit anderen Maschinen, die auch SMB2 verwenden können. SMB1 wird weiterhin für Verbindungen mit älteren Versionen von Windows und verschiedenen Anbietern verwendet. Nas Lösungen. SAMBA 3.5 enthält auch experimentelle Unterstützung für SMB2.[28] SAMBA 3.6 unterstützt SMB2 vollständig, mit Ausnahme der Änderung der Benutzerquoten mithilfe der Windows Quota Management Tools.[29]

Als SMB2 eingeführt wurde, brachte es für SMB1 -Implementierer von SMB -Protokollen eine Reihe von Vorteilen gegenüber SMB1. Smb1, ursprünglich entworfen von IBM, war dekompiliertund später Teil einer Vielzahl von Nicht-Windows-Betriebssystemen wie z. Xenix, OS/2 und VMs (Pathworks). X/offen standardisiert es teilweise; Microsoft hatte Internet-Enttätigkeiten eingereicht, die SMB2 an die beschrieben haben Ietfteilweise als Reaktion auf die formale IETF -Standardisierung von Version 4 der Netzwerkdateisystem Im Dezember 2000 als IETF RFC 3010.[30]; Diese SMB-bezogenen Internet-Enttätigkeiten sind jedoch abgelaufen, ohne eine IETF-Standards-Genehmigung oder eine andere IETF-Bestätigung zu erreichen. (Sehen http://ubiqx.org/cifs/intro.html Für historische Details.) SMB2 ist auch eine relativ saubere Pause mit der Vergangenheit. Der SMB1 -Code von Microsoft muss mit einer Vielzahl von SMB -Clients und Servern zusammenarbeiten. SMB1 bietet viele Versionen von Informationen für Befehle (auswählen, welche Struktur für eine bestimmte Anfrage zurückgegeben werden soll), da Funktionen wie z. Unicode Die Unterstützung wurde zu einem späteren Zeitpunkt retro eingebaut. SMB2 beinhaltet signifikant reduzierte Kompatibilitätstests für Implementierer des Protokolls. Der SMB2-Code hat erheblich weniger Komplexität, da weit weniger Variabilität vorhanden ist (z. B. werden nicht-Unicode-Codepfade redundant, da SMB2 Unicode-Unterstützung erfordert).

Apple wanderte zu SMB2 (von seinen eigenen aus Apple -Einreichungsprotokoll, jetzt Vermächtnis) beginnend mit OS X 10.9 "Mavericks".[31] Dieser Übergang war jedoch mit Kompatibilitätsproblemen behaftet.[32][33] Die Nicht-Default-Unterstützung für SMB2 erschien tatsächlich in OS X 10.7, als Apple Samba zugunsten einer eigenen SMB-Implementierung namens SMBX aufgab.[31] Apple wechselte zu einer eigenen SMBX -Implementierung, nachdem Samba angenommen wurde GPLV3.[34][35] MacOS hat auch das IETF -Netzwerkdateisystem (NFS) seit vielen Jahren unterstützt (und dies auch ab 2021).

Das Linux KernelDas CIFS -Client -Dateisystem bietet seit Version 3.7 SMB2 -Unterstützung.[36]

SMB 2.1

SMB 2.1, eingeführt mit Windows 7 und Server 2008 R2, führte geringfügige Leistungsverbesserungen mit einem neuen opportunistischen Verriegelungsmechanismus ein.[37]

SMB 3.0

SMB 3.0 (zuvor als SMB 2.2 bezeichnet)[38] wurde vorgestellt mit Windows 8[38] und Windows Server 2012.[38] Es brachte mehrere signifikante Änderungen mit, die die Funktionalität hinzufügen und die SMB2 -Leistung verbessern sollen.[39] insbesondere virtualisiert Daten Center:

Es führt auch mehrere Sicherheitsverbesserungen ein, wie z. End-to-End-Verschlüsselung und ein neues AES basierter Signalalgorithmus.[44][45]

SMB 3.0.2

SMB 3.0.2 (zu diesem Zeitpunkt als 3.02 bezeichnet) wurde mit Windows 8.1 und Windows Server 2012 R2 eingeführt.[46][47] In diesen und späteren Veröffentlichungen kann das frühere SMB Version 1 optional deaktiviert werden, um die Sicherheit zu erhöhen.[48][49]

SMB 3.1.1

SMB 3.1.1 wurde mit eingeführt mit Windows 10 und Windows Server 2016.[50] Diese Version unterstützt AES-128 GCM Verschlüsselung zusätzlich zu AES-128 CCM In SMB3 hinzugefügt und implementiert die Integritätsprüfung vor der Authentifizierung mithilfe der Vorauthentifizierung SHA-512 Hash. SMB 3.1.1 macht auch die sicheren Verhandlungen obligatorisch, wenn sie sich mit SMB 2.x und höher verbinden.

Spezifikationen

Die Spezifikationen für das SMB sind proprietär und wurden zunächst geschlossen, wodurch andere Anbieter und Projekte gezwungen wurden, das Protokoll umzukehren, um damit zu interoperieren. Das SMB 1.0 -Protokoll wurde schließlich einige Zeit nach seiner Umkehrung veröffentlicht, während das SMB 2.0 -Protokoll von Anfang an aus Microsoft Open Specialations Developer Center zur Verfügung gestellt wurde.[51]

Implementierungen von Drittanbietern

Samba

1991, Andrew Tridgell begann die Entwicklung von Samba, a gratis Software Neuauflagen (Verwendung Reverse Engineering) des SMB/CIFS -Netzwerkprotokolls für Unix-artig Systeme, die zunächst einen SMB -Server implementieren, damit PC -Clients das ausgeführt werden können Dez Pathworks Client zum Zugriff auf Dateien auf Sonnenos Maschinen.[2][52] Wegen der Bedeutung des SMB -Protokolls bei der Interaktion mit dem weit verbreiteten Microsoft Windows Plattform wurde Samba beliebt gratis Software Implementierung eines kompatiblen SMB-Clients und Servers, um Nicht-Windows-Betriebssysteme wie z. Unix-artig Betriebssysteme, um mit Windows zu interoperieren.

Ab Version 3 (2003) bietet Samba Datei- und Druckdienste für Microsoft Windows -Clients an und kann in a integrieren Windows NT 4.0 Serverdomäne entweder als a Primärdomänencontroller (PDC) oder als Domain -Mitglied. SAMBA4 -Installationen können als Active Directory Domänencontroller oder Mitgliedserver, bei Windows 2008 Domain und Wald Funktionale Ebenen.[53]

Paketmanager in Linux -Verteilungen können nach dem suchen CIFS-Utils Paket. Das Paket stammt von den Samba -Betreuern.

Netsmb

NSMB (NetsMB und SMBFS) ist eine Familie des Kernel-SMB-Clients und Servers[54] Implementierungen in BSD -Betriebssystemen. Es wurde zunächst von Boris Popov zu FreeBSD 4.4 beigetragen und ist jetzt in einer Vielzahl anderer BSD -Systeme einschließlich der Netbsd und Mac OS.[55] Die Implementierungen sind seitdem erheblich abgewiesen.[56]

Die MacOS-Version von NSMB ist bemerkenswert für sein derzeitiges Schema, Symlinks zu repräsentieren. Dieses "minshall-französische" Format zeigt Symlinks als Textdateien mit a .symlink Erweiterung und a Xsym\n Zaubernummer, immer 1067 Bytes lang. Dieses Format wird auch zum Speichern von Symlinks auf naiven SMB -Servern oder nicht unterstützten Dateisystemen verwendet. Samba unterstützt dieses Format mit einem mfsymlink Möglichkeit.[57] Docker unter Windows scheint es auch zu verwenden.

Nq

NQ ist eine Familie tragbarer SMB -Client- und Server -Implementierungen, die von entwickelt wurden, Visualitätssysteme, ein in Israel ansässiges Unternehmen, das 1998 von Sam Widerman gegründet wurde, ehemals CEO von Siemens Datenkommunikation. Die NQ -Familie umfasst einen eingebetteten SMB -Stack (geschrieben in C), einen reinen Java -SMB -Client und eine Speicher -SMB -Server -Implementierung. Alle Lösungen unterstützen den neuesten SMB 3.1.1 -Dialekt. NQ für Linux, NQ für zusammenzucken, iOS, Android, VXWorks und andere Echtzeit-Betriebssysteme werden von der konfigurierbaren NQ-Lösung unterstützt.

MOSMB

MOSMB ist eine proprietäre SMB -Implementierung für Linux und andere Unix-artig Systeme, entwickelt von Ryussi Technologies. Es unterstützt nur SMB 2.x und SMB 3.x.[58]

Fusionsdateifreigabe von Tuxera

Fusion -Dateifreigabe durch Tuxera ist eine proprietäre SMB -Server -Implementierung, die von entwickelt wurde, Tuxera das kann entweder im Kernel oder in Kernel ausgeführt werden Benutzerraum.[59] Es unterstützt SMB 3.1.1 und alle früheren Versionen, zusätzlich erweiterte SMB-Funktionen wie Continuous Availability (Persistent Handles) Scale-Out, RDMA (SMB Direct), SMB Multichannel, transparente Komprimierung, Schattenkopie.

Ebenfalls

Ebenso entwickelte 2009 eine CIFS/SMB OEM Speicherprodukte, die auf Linux/Unix -basierten Geräten basieren. Die Plattform kann für herkömmliche Geräte für NAS, Cloud Gateway und Cloud Caching verwendet werden, um sicheren Zugriff auf Dateien in einem Netzwerk zu gewährleisten. Ebenfalls wurde von gekauft von EMC ISILON in 2012.

CIFSD

CIFSD ist eine Open-Source-In-Kernel-CIFS/SMB-Server-Implementierung für den Linux-Kernel. Es hat die folgenden Vorteile gegenüber User-Space-Implementierungen: Es bietet eine bessere Leistung und erleichtert die Implementierung einiger Funktionen wie SMB Direct. Es unterstützt SMB 3.1.1 und frühere Versionen.

Sicherheit

Im Laufe der Jahre gab es viele Sicherheitslücken in der Implementierung des Protokolls oder der Komponenten durch Microsoft, auf die es direkt stützt.[60][61] Sicherheitslücken anderer Anbieter sind hauptsächlich in mangelnder Unterstützung für neuere Unterstützung Authentifizierungsprotokolle wie NTLMV2 und Kerberos zugunsten von Protokollen wie NTLMV1, Lanman, oder Klartext Passwörter. Echtzeit-Angriffsverfolgung[62] zeigt, dass SMB einer der primären Angriffsvektoren für Intrusionsversuche ist,[63] Zum Beispiel die 2014 Sony Pictures Angriff,[64] und die WannaCry Ransomware -Angriff von 2017.[65] Im Jahr 2020 wurden zwei SMB-Hochscheiben-Schwachstellen offenbart und als genannt als als genannt Smbghost (CVE-2020-0796) und Smbleed (CVE-2020-1206), was bei zusammenem Ketten liefern kann RCE (Remote -Code -Ausführung) Privileg für den Angreifer.[66]

Siehe auch

Verweise

  1. ^ "Microsoft SMB -Protokoll- und CIFS -Protokollübersicht". Microsoft. 22. Oktober 2009. Archiviert Aus dem Original am 2. August 2016. Abgerufen 10. April, 2019.
  2. ^ a b c d Tridgell, Andrew. "Mythen über Samba". Archiviert Aus dem Original am 20. Oktober 2017. Abgerufen 3. Januar, 2016.
  3. ^ a b "LAN Manager Networking -Konzepte". Die Unterstützung. Microsoft. Archiviert von das Original am 30. Dezember 2012. Abgerufen 18. September, 2014.
  4. ^ a b c "Gemeinsames Internetdateisystem". Windows 2000 Web- und Anwendungsdienste Technischer Überblick. Microsoft. 18. Juli 2012 - via Microsoft Docs.
  5. ^ Coulter, David; Satran, Michael; Batchelor, Drew (8. Januar 2021). "Microsoft SMB -Protokoll- und CIFS -Protokollübersicht". Windows App -Entwicklung. Microsoft - via Microsoft Docs.
  6. ^ a b Sehen:
  7. ^ "Übersicht über die Signierung des Server -Nachrichtenblocks". Windows Server -Fehlerbehebung. Microsoft. 24. November 2021 - via Microsoft Docs.
  8. ^ a b Johansson, Jesper M. (20. Mai 2005). "Wie man sich mit Sicherheit in den Fuß schießt, Teil 1". Sicherheitsanleitung. Microsoft - via Microsoft Docs. Dieser Artikel behandelt [...] Server Message Block (SMB) Nachrichtensignalisierung.
  9. ^ Barreto, Jose (1. Dezember 2010). "Die Grundlagen der SMB -Unterzeichnung (Abdeckung sowohl SMB1 als auch SMB2)". Jose Barretos Blog -Archiv. Microsoft. Archiviert Aus dem Original am 2. Dezember 2012 - via Microsoft Docs. Dieser Sicherheitsmechanismus im SMB -Protokoll hilft dabei, Probleme wie Manipulationen von Paketen und "Mann in der mittleren" Angriffen zu vermeiden. [...] SMB -Unterzeichnung ist in allen derzeit unterstützten Versionen von Windows verfügbar, ist jedoch nur standardmäßig bei Domänencontrollern aktiviert. Dies wird für Domänencontroller empfohlen, da SMB das Protokoll ist, das von Clients zum Herunterladen von Gruppenrichtlinieninformationen verwendet wird. Die SMB -Unterzeichnung bietet eine Möglichkeit, sicherzustellen, dass der Kunde echte Gruppenrichtlinien erhält.
  10. ^ "MSKB887429: Übersicht über die Signierung des Server -Nachrichtenblocks". Microsoft. 30. November 2007. Archiviert Aus dem Original am 20. November 2010. Abgerufen 24. Oktober, 2012. Standardmäßig ist die SMB-Unterzeichnung für eingehende SMB-Sitzungen auf Windows Server 2003-basierten Domänencontrollern erforderlich.
  11. ^ "Opportunistische Schlösser". Microsoft. 31. Mai 2018. Abgerufen 19. August, 2021.
  12. ^ "Alles über opportunistisches Sperren". Sphere es. 2014. Abgerufen 19. August, 2021.
  13. ^ a b c d e Jose Barreto (9. Dezember 2008). "SMB2, eine vollständige Neugestaltung des Hauptdateiprotokolls für Windows". Microsoft Server & Management -Blogs. Archiviert von das Original am 12. Januar 2013. Abgerufen 1. November, 2009.
  14. ^ Neil Carpenter (26. Oktober 2004). "SMB/CIFS -Leistung über WAN -Links". Microsoft. Archiviert vom Original am 13. Februar 2020. Abgerufen 13. Februar, 2020.
  15. ^ "Was ist neu in SMB in Windows Server". Microsoft. Archiviert Aus dem Original am 11. Februar 2017. Abgerufen 6. Februar 2017.
  16. ^ Mark Rabinovich, Igor Gokhman. "CIFs Beschleunigungstechniken" (PDF). Lagerentwicklerkonferenz, Snia, Santa Clara 2009. Abgerufen 6. Juli, 2020.
  17. ^ Mark Rabinovich. "Beschleunigung von SMB2" (PDF). Lagerentwicklerkonferenz, Snia, Santa Clara 2011. Abgerufen 6. Juli, 2020.
  18. ^ Christopher Hertel (1999). "SMB: Das Server -Nachrichtenblockprotokoll". Archiviert Aus dem Original am 10. März 2010. Abgerufen 1. November, 2009.
  19. ^ "Beschreibung von Microsoft Windows Encryption Pack 1". Microsoft. 1. November 2006. Archiviert Aus dem Original am 2. Oktober 2009. Abgerufen 1. November, 2009.
  20. ^ "US -Executive Order 13026" (PDF). Regierung der Vereinigten Staaten. 1996. Archiviert (PDF) Aus dem Original am 10. Oktober 2009. Abgerufen 1. November, 2009.
  21. ^ a b "Direktes Hosting von SMB über TCP/IP". Microsoft. 11. Oktober 2007. Archiviert Aus dem Original am 26. März 2011. Abgerufen 1. November, 2009.
  22. ^ Kyttle, Ralph (13. Mai 2017). "SMB1 - Wirtschaftliche Verwendung mit dem Message Analyzer" Audit. ". Microsoft Technet. Microsoft. Archiviert Aus dem Original am 28. März 2019. Abgerufen 28. März 2019.
  23. ^ "Die Abwertung von SMB1 - Sie sollten planen, diesen alten SMB -Dialekt loszuwerden - Jose Barretos Blog". blogs.technet.microsoft.com. Archiviert Aus dem Original am 21. Mai 2017. Abgerufen 2019-10-09.
  24. ^ "SMBV1 ist nicht standardmäßig in Windows 10 Fall Creators Update und Windows Server, Version 1709 und späteren Versionen installiert.". Support.microsoft.com. Archiviert Aus dem Original am 10. Oktober 2019. Abgerufen 2019-10-09.
  25. ^ "WebNFS - Technischer Überblick". Archiviert von das Original am 2007-05-18.
  26. ^ Navjot Virk und Prashanth Prahalad (10. März 2006). "Was ist neu in SMB in Windows Vista". Chk deine dsks. Microsoft. Archiviert von das Original am 5. Mai 2006. Abgerufen 1. Mai, 2006.
  27. ^ Server Message Block (SMB) Protokollversionen 2 und 3. Windows -Protokolle. Offene Spezifikationen (Technischer Bericht). Microsoft Docs. Microsoft. Ms-smb2. Abgerufen 2020-11-29.
  28. ^ "Samba 3.5.0 zum Download verfügbar". Archiviert Aus dem Original am 24. Juli 2011. Abgerufen 8. Juli, 2011.
  29. ^ "Samba 3.6.0 zum Download verfügbar". Archiviert Aus dem Original am 24. September 2011. Abgerufen 10. August, 2011.
  30. ^ "http://www.ietf.org/rfc/rfc3010.txt"
  31. ^ a b Eran, Daniel (11. Juni 2013). "Apple verschiebt sich von der AFP -Dateifreigabe zu SMB2 in OS X 10.9 Mavericks". AppleInsider.com. Archiviert Aus dem Original am 12. Februar 2017. Abgerufen 12. Januar, 2014.
  32. ^ Vaughan, Steven J. (28. Oktober 2013). "SMB2 -Problem von Mavericks und behebt". ZDNET. Archiviert Aus dem Original am 5. Januar 2014. Abgerufen 12. Januar, 2014.
  33. ^ MacParc. "10.9: Wechseln Sie den SMB -Stack, um SMB1 als Standard zu verwenden.". Mac OS X Hinweise. macworld.com. Archiviert Aus dem Original am 12. Januar 2014. Abgerufen 12. Januar, 2014.
  34. ^ Topher Kessler (23. März 2011). "Sag Adios zu Samba in OS X". CNET. Archiviert Aus dem Original am 15. Januar 2014. Abgerufen 12. Januar, 2014.
  35. ^ Thom Holwerda (26. März 2011). "Apple greift Samba zugunsten des einheimischen Ersatzes auf". Archiviert Aus dem Original am 2. November 2013. Abgerufen 12. Januar, 2014.
  36. ^ "Linux 3.7 - Linux -Kernel -Neulinge". Archiviert Aus dem Original am 11. September 2016. Abgerufen 4. September, 2016.
  37. ^ "Implementierung einer Endbenutzerdaten-Zentralisierungslösung". Microsoft. 21. Oktober 2009. S. 10–11. Archiviert Aus dem Original am 6. September 2010. Abgerufen 2. November, 2009.
  38. ^ a b c Jeffrey Snover (19. April 2012). "SMB 2.2 ist jetzt SMB 3.0". Windows Server -Blog. Abgerufen 6. Juli, 2020.
  39. ^ Chelsio Communications. "40G SMB Direkt". Archiviert Aus dem Original am 7. September 2013. Abgerufen 18. Juni, 2013.
  40. ^ Jose Barreto (19. Oktober 2012). "Snia -Tutorial zum SMB -Protokoll" (PDF). Association der Speicher -Netzwerkindustrie. Archiviert (PDF) Aus dem Original am 3. Juni 2013. Abgerufen 28. November, 2012.
  41. ^ Thomas Pfenning. "Die Zukunft von Dateiprotokollen: SMB 2.2 im Rechenzentrum" (PDF). Archiviert von das Original (PDF) Am 2012-07-20.
  42. ^ Joergensen, Claus (2012-06-07). "SMB transparentes Failover - Dateifreigaben ständig verfügbar machen". Microsoft Technet. Archiviert Aus dem Original am 11. Januar 2019. Abgerufen 1. Februar, 2017.
  43. ^ Savill, John (2012-08-21). "Neue Möglichkeiten, um eine hohe Verfügbarkeit für Dateifreigaben zu ermöglichen". Windows it Pro. Archiviert Aus dem Original am 27. November 2016. Abgerufen 1. Februar, 2017.
  44. ^ "SMB -Sicherheitsverbesserungen". Microsoft Technet. 15. Januar 2014. Archiviert Aus dem Original am 9. Oktober 2014. Abgerufen 18. Juni, 2014.
  45. ^ Jose Barreto (5. Mai 2013). "Aktualisierte Links auf Windows Server 2012 -Dateiserver und SMB 3.0". Microsoft Technet Server & Management -Blogs. Archiviert Aus dem Original am 3. August 2016. Abgerufen 14. August, 2016.
  46. ^ Jose Barreto (7. Juli 2014). "Aktualisierte Links auf Windows Server 2012 R2 -Dateiserver und SMB 3.02". Microsoft Technet Server & Management -Blogs. Archiviert Aus dem Original am 26. August 2016. Abgerufen 14. August, 2016.
  47. ^ Jose Barreto (12. Dezember 2013). "Storage Developer Conference - SDC 2013 Folien jetzt öffentlich verfügbar. Hier sind die Links zu Microsoft -Folien ...". Microsoft Technet Server & Management -Blogs. Archiviert Aus dem Original am 26. August 2016. Abgerufen 14. August, 2016.
  48. ^ Eric Geier (5. Dezember 2013). "WindowsNetworking.com: Verbesserungen in den Protokoll -Updates SMB 3.0 und 3.02". WindowsNetworking.com. Archiviert Aus dem Original am 9. April 2015. Abgerufen 6. April, 2015.
  49. ^ Jose Barreto (5. Mai 2015). "Was ist neu in SMB 3.1.1 im Windows Server 2016 Technical Preview 2". Microsoft Technet Server & Management -Blogs. Archiviert Aus dem Original am 8. Oktober 2016. Abgerufen 14. August, 2016.
  50. ^ "Windows -Protokolle". Archiviert Aus dem Original am 26. September 2009. Abgerufen 13. Oktober, 2009.
  51. ^ Tridgell, Andrew (27. Juni 1997). "Ein bisschen Geschichte und ein bisschen Spaß". Archiviert Aus dem Original am 17. Juli 2011. Abgerufen 26. Juli, 2011.
  52. ^ "SAMBA 4 Funktionsstufen". 25. Februar 2011. Archiviert Aus dem Original am 29. Juli 2014. Abgerufen 12. Januar, 2014.
  53. ^ "SMB (Server -Nachrichtenblock): Definitionen, Aufgaben und Anwendungen". Ionos digitalguide. Abgerufen 2022-04-27.
  54. ^ "Netsmb (4)". NETBSD 8.0 Schaltseiten. Abgerufen 5. Januar 2020.
  55. ^ nbsd.conf (5)- -Freebsd Dateiformate Handbuch. nbsd.conf (5)- Handbuch für Darwin und MacOS -Dateiformate.
  56. ^ "Unix -Erweiterungen". Sambawiki. Archiviert vom Original am 12. Juni 2020. Abgerufen 15. März, 2020.
  57. ^ Dr. Sunu Engineer. "Erstellen eines hoch skalierbaren und performanten SMB -Protokollservers" (PDF). Archiviert (PDF) Aus dem Original am 27. September 2016. Abgerufen 25. September, 2016.
  58. ^ "Microsoft und Tuxera stärken die Partnerschaft über Tuxera SMB Server". Microsoft. Microsoft News Center. 14. September 2016. Archiviert Aus dem Original am 17. November 2016. Abgerufen 6. Februar 2017.
  59. ^ "MS02-070: Fehler bei der SMB-Unterzeichnung kann es den Gruppenrichtlinien ermöglichen, zu ändern". Microsoft. 1. Dezember 2007. Archiviert Aus dem Original am 8. Oktober 2009. Abgerufen 1. November, 2009.
  60. ^ "MS09-001: Schwachstellen in SMB könnten die Ausführung der Remote-Code ermöglichen". Microsoft. 13. Januar 2009. Archiviert Aus dem Original am 5. Oktober 2009. Abgerufen 1. November, 2009.,
  61. ^ "Sicherheitstacho.eu" ". Deutsche Telekom. 7. März 2013. Archiviert Aus dem Original am 8. März 2013. Abgerufen 7. März, 2013.
  62. ^ "Alarm (TA14-353A) zielte auf zerstörerische Malware ab". US-Cert. Archiviert Aus dem Original am 20. Dezember 2014. Abgerufen 20. Dezember, 2014.
  63. ^ "Sony Hacker verwendeten Server Message Block (SMB) Worm Tool". Archiviert Aus dem Original am 20. Dezember 2014. Abgerufen 20. Dezember, 2014.
  64. ^ "WannaCry Ransomware Attack trifft Opfer mit Microsoft SMB Exploit". Eweek. Abgerufen 13. Mai 2017.
  65. ^ "SMBLEEGINGGHOST-Schreiben: Kettung von SMbleed (CVE-2020-1206) mit SMBGHOST". Zecops Blog. 2020-06-09. Abgerufen 2020-11-19.

Weitere Lektüre

SMB -Spezifikationen

Sonstig

Externe Links