it-themen:grundlagen:netzwerkdienste:smb_cifs_samba
**Dies ist eine alte Version des Dokuments!**
Inhaltsverzeichnis
SMB / CIFS / Samba – Grundlagen
SMB (Server Message Block) ist ein Dateifreigabe- und Kommunikationsprotokoll
von Microsoft Windows.
Es ermöglicht:
- Datei- und Ordnerfreigaben
- Druckerfreigaben
- Benutzer- und Rechteverwaltung
- Netzwerkanmeldungen
- Kommunikation im Windows-Netzwerk
Unter Linux wird SMB ĂĽber die Samba-Software bereitgestellt.
1. SMB vs. CIFS
Viele verwechseln diese Begriffe:
- SMB ist das grundlegende Protokoll (besteht seit den 1980ern)
- CIFS ist eine alte Implementierung von SMB aus Windows NT-Zeiten
- Heute nutzt man SMB2 oder SMB3, nicht CIFS
Moderne Netzwerke:
- SMB3 Standard
- CIFS gilt als veraltet und unsicher
2. SMB – Ports
| Port | Protokoll | Beschreibung |
|---|---|---|
| 445/TCP | SMB | aktueller Standard |
| 137/UDP | NetBIOS Name Service | Legacy |
| 138/UDP | NetBIOS Datagram | Legacy |
| 139/TCP | NetBIOS Session | Legacy |
Moderne Systeme nutzen primär 445/TCP.
3. Samba – SMB unter Linux
Samba ist eine freie Implementierung von SMB und bietet:
- Datei- und Ordnerfreigaben
- Active Directory kompatible Domain Controller (AD DC)
- Integration in LDAP, Kerberos, AD
- NTFS-ähnliche Berechtigungen
- Druckservices (historisch)
Wichtige Dienste in Samba:
- smbd → Datei- und Druckdienste
- nmbd → NetBIOS (legacy)
- winbind → AD/LDAP-Integration
- samba → AD DC Dienst
4. Aufbau eines SMB-Netzes
Schema:
5. Konfigurationsdatei (Linux)
/etc/samba/smb.conf
Struktur:
[global]
... globale Einstellungen ...
[share-name]
path = /data/share
browsable = yes
read only = no
valid users = @gruppe
6. Benutzer & Authentifizierung
Samba kann Benutzer verwalten ĂĽber:
- lokale Linux-Benutzer
- LDAP-Datenbanken
- Active Directory
- Passwörter in
smbpasswd tdbsamoderldapsam
Moderne Setups:
- Samba greift vollständig auf LDAP-Benutzer zu
- keine lokalen Benutzer nötig
- Authentifizierung via Kerberos oder LDAP Bind
7. Rechte & Berechtigungen
SMB unterstĂĽtzt:
- klassische Linux-Rechte (rwx)
- ACLs (Access Control Lists)
- Windows-kompatible NTFS-Rechte
Beispiel:
valid users = alice bob @admins read only = no force group = smbgroup create mask = 0660 directory mask = 0770
8. Beispiel einer einfachen Freigabe
[public] path = /srv/samba/public read only = no guest ok = yes
9. Beispiel mit Benutzerzugriff
[projekt] path = /srv/samba/projekt valid users = @projektteam read only = no create mask = 0640 directory mask = 0750
10. Druckerfreigabe (legacy)
[printers] printable = yes path = /var/spool/samba
→ wird heute kaum noch genutzt.
11. Samba als Active Directory Domain Controller
Samba kann eine Windows-Domäne bereitstellen:
- Kerberos
- LDAP
* DNS
* GPO-Kompatibilität
* Roaming Profiles
Beispiel fĂĽr Provisionierung:
samba-tool domain provision
12. Performance – Achtung bei SMB!
Wichtig fĂĽr reale Netzwerke:
- SMB ist sehr chatty → viele kleine Anfragen
- Latenz kann SMB extrem bremsen
* Hohe Performance hängt ab von:
- Netzwerk-Latenz
- MTU
- Caching
- Server-Hardware (SSD/NVMe)
- Protokollversion (SMB3 bevorzugen)
13. SMB & Docker
In Docker-Containern:
- Volumes ĂĽber SMB mounten
* Samba Container im eigenen VLAN
* Integration mit LDAP/Winbind möglich
* Achtung: Rechte korrekt abbilden
14. Sicherheit bei SMB
- SMBv1 unbedingt deaktivieren (WannaCry lässt grüßen)
- SMBv2/3 nutzen
- VerschlĂĽsselung optional einschalten:
<code> smb encrypt = required </code>
- eigene Benutzergruppen
- Firewall-Port 445 nur intern erlauben
* richtige Masken/ACLs setzen
* keine anonymen Freigaben in produktiven Netzen
* Auditing aktivieren bei kritischen Shares
15. Wichtige SMB-Befehle
SMB-Client (Linux)
smbclient -L //server/ smbclient //server/share -U user
Mounten
mount -t cifs //server/share /mnt \ -o username=user,vers=3.1.1
16. SMB-VersionsĂĽbersicht
| Version | Jahr | Merkmale |
| ——— | —— | ———– |
| SMB1 | 1980er | sehr unsicher, veraltet |
| SMB2 | 2006 | schneller, weniger Chatty |
| SMB3 | 2012+ | VerschlĂĽsselung, Sicherheit, moderne Features |
Zusammenfassung
- SMB = Windows-Dateifreigabeprotokoll
- CIFS = alte SMB-Version, heute veraltet
* Samba = SMB-Server unter Linux
* moderne Systeme nutzen SMB3
* Ports: 445 (modern), 137–139 (legacy)
* Benutzer & Rechte ĂĽber Linux, LDAP oder AD
* hohe Sicherheit durch SMB3 + ACLs + Firewalls
* SMBv1 immer deaktivieren
it-themen/grundlagen/netzwerkdienste/smb_cifs_samba.1764773377.txt.gz · Zuletzt geändert: von lars