SMB steht für „Server Message Block“ und bezeichnet ein Netzwerkprotokoll zur gemeinsamen Nutzung von Dateien, Druckern und anderen Ressourcen in Rechnernetzen.
🧠 Definition
Server Message Block (SMB) ist ein Netzwerkprotokoll, das den Zugriff auf Dateien, Verzeichnisse, Druckdienste und andere Ressourcen über ein Netzwerk ermöglicht. Es wurde ursprünglich 1983 von Barry Feigenbaum bei IBM entwickelt und ist heute ein zentraler Bestandteil der Windows-Netzwerkdienste.
🏗️ Technische Eigenschaften
- Protokolltyp: Anwendungsschichtprotokoll im OSI-Modell
- Transport: Ursprünglich über NetBIOS (Ports 137–139), heute direkt über TCP/IP (Port 445)
- Dialekte: Verschiedene Versionen wie SMB 1.0 (auch bekannt als CIFS), SMB 2.0, SMB 3.0 usw.
- Authentifizierung: Unterstützt Datei-, Verzeichnis- und Freigabezugriffsrechte
- Funktionen:
- Datei- und Druckfreigabe
- Netzwerkbrowsing
- Sperrmechanismen für Dateien
- Änderungsbenachrichtigungen
- Unicode-Unterstützung
- Opportunistische Sperren zur Optimierung der Performance
🖥️ Einsatzbereiche
- Windows-Netzwerke: SMB ist das Standardprotokoll für die Dateifreigabe in Windows-Systemen.
- Samba-Projekt: Ermöglicht die Interoperabilität zwischen Windows und Unix/Linux-Systemen.
- NAS-Systeme: Viele Network Attached Storage-Geräte nutzen SMB zur Bereitstellung von Dateidiensten.
- Cloud- und Container-Umgebungen: SMB wird zunehmend auch in modernen IT-Infrastrukturen eingesetzt.
📜 Historische Entwicklung
- 1983: Erste Version bei IBM
- 1987: Integration in LAN Manager und OS/2 LAN Server
- 1996: Microsoft etabliert SMB als „Common Internet File System“ (CIFS)
- 2000er: Einführung von SMB 2.0 und später SMB 3.0 mit verbesserter Performance und Sicherheit
- 2007: Veröffentlichung technischer Spezifikationen durch Microsoft nach EU-Kartellverfahren
⚠️ Sicherheitshinweise
- SMB 1.0 gilt als veraltet und unsicher. Es wird empfohlen, moderne Versionen wie SMB 3.1.1 zu verwenden.
- Angriffsvektor: SMB wurde in der Vergangenheit für Ransomware-Angriffe (z. B. WannaCry) missbraucht.
- Empfehlung: Deaktivierung alter SMB-Versionen und Einsatz von Verschlüsselung und Authentifizierung.
🔄 Vergleich mit anderen Protokollen
| Protokoll | Zweck | Plattformübergreifend | Sicherheit |
|---|---|---|---|
| SMB | Datei- und Druckfreigabe | Ja (über Samba) | Mittel bis Hoch (je nach Version) |
| NFS | Datei-Freigabe (Unix/Linux) | Ja | Hoch |
| FTP | Dateiübertragung | Ja | Gering bis Mittel |
| WebDAV | Datei-Freigabe über HTTP | Ja | Mittel |
Installation unter Linux
Ein Samba-Server ermöglicht die Integration von Linux– und Unix-Systemen in Netzwerke, die auf dem SMB/CIFS-Protokoll basieren, wie sie von Windows verwendet werden. Samba bietet Datei- und Druckdienste sowie die Möglichkeit, als Active Directory Domain Controller oder Mitgliedsserver zu fungieren.
Installation und Einrichtung
Um Samba zu installieren, verwenden Sie den folgenden Befehl:
sudo apt-get install samba
Die Konfigurationsdatei befindet sich unter /etc/samba/smb.conf. Änderungen an dieser Datei können mit einem Texteditor vorgenommen werden, wobei Root-Rechte erforderlich sind. Nach Änderungen sollte die Datei mit
testparm
auf Syntaxfehler überprüft werden:
testparm Um die Änderungen wirksam zu machen, starten Sie den Samba-Dienst neu:
sudo systemctl restart smbd.service
Benutzerverwaltung
Samba verwendet eine eigene Benutzer-Datenbank, die mit dem Befehl smbpasswd verwaltet wird. Ein Benutzer kann wie folgt hinzugefügt werden:
sudo smbpasswd -a BENUTZERNAME
Das Passwort wird dabei verdeckt eingegeben. Benutzer müssen bereits im System existieren, bevor sie zur Samba-Datenbank hinzugefügt werden.
Freigaben
Freigaben können entweder administrativ oder persönlich eingerichtet werden. Administrative Freigaben werden direkt in der Datei /etc/samba/smb.conf definiert. Ein Beispiel:
[Fotos] Persönliche Freigaben können mit dem Befehl net usershare erstellt werden. Diese Freigaben werden in /var/lib/samba/usershares gespeichert.
path = /media/Bilder
public = yes
writeable = yes
Netzwerkprotokolle
Samba unterstützt verschiedene SMB-Protokollversionen. Seit Samba 4.11 wird SMBv1 standardmäßig nicht mehr unterstützt, da es als unsicher gilt. Die unterstützten Protokolle können in der Datei smb.conf festgelegt werden:
server min protocol = SMB2_02
server max protocol = SMB3
Gastzugang
Samba kann Gästen den Zugriff ohne Passwort erlauben. Dies wird durch den Parameter guest ok = yes in der Freigabekonfiguration aktiviert. Es wird jedoch empfohlen, den Gastzugang in Netzwerken mit sensiblen Daten zu vermeiden.
Wichtige Hinweise
Vor Änderungen an der Konfigurationsdatei sollte immer eine Sicherungskopie erstellt werden. Zudem ist es ratsam, keine Freigaben mit identischen Namen für administrative und persönliche Freigaben zu erstellen, da dies zu Konflikten führen kann.
© 2025 MaDe-Online
