Samba (Software)

Samba

Basisdaten

Entwickler | Samba-Team[1]
Erscheinungsjahr | Januar 1992
Aktuelle Version | 4.21.0[2]
(2\. September 2024)
Betriebssystem | plattformübergreifend
Programmier­sprache | C, C++[3], Python[3]
Kategorie | SMB-Server und -Client
Lizenz | GPL
deutschsprachig | nein
samba.org

Samba ist ein freies Programmpaket, das es ermöglicht, Microsoft-Windows-Funktionen wie die Datei- und Druckdienste unter anderen Betriebssystemen zu nutzen und die Rolle eines Domain Controllers anzunehmen. Es implementiert hierfür unter anderem das SMB/CIFS-Protokoll.

Da die Software unter der GPL frei verfügbar ist, wird sie als Alternative zu Microsoft-Windows-Server-Betriebssystemen eingesetzt.

## Inhaltsverzeichnis

* 1 Entwicklung
* 2 Bestandteile und grafische Benutzeroberflächen
* 3 Verbreitung
* 4 Zugang zur Protokolldokumentation
* 5 Sicherheit
* 6 Literatur
* 7 Weblinks
* 8 Einzelnachweise

## Entwicklung

[Bearbeiten | Quelltext bearbeiten]

Samba wurde erstmals 1992 vom Australier Andrew Tridgell veröffentlicht, um den Datenaustausch zwischen SunOS und DOS auch ohne NFS zu ermöglichen. Später wurde Samba auch auf Linux portiert, was dem Betriebssystem eine enorme Verbreitung im Dateiserver-Segment bescherte und zu dessen weiterem Erfolg beitrug. Die nun von einer Gemeinschaft freiwilliger Programmierer entwickelte Software wurde stetig erweitert, um die Beiträge anderer Unternehmen zum Server-Message-Block-Protokoll aufzunehmen. Die Erweiterungen des SMB-Protokolls stammten unter anderem von Microsoft, SCO, Thursby, IBM, Apple und dem Samba-Team selbst, wobei Microsoft die meisten Beiträge leistete und auch als einziges Unternehmen einige Erweiterungen geheim hielt. Da aber ein reibungsloser Datenaustausch ohne diese geheimen Erweiterungen nicht immer möglich war, musste ein Teil des SMB-Protokolls durch das Auswerten des Netzwerkverkehrs (Protokoll-/Netzwerkanalyse) erschlossen werden.[4]

Nach Differenzen bezüglich der Architektur von Samba spaltete sich 2000 das Projekt Samba-TNG vom Hauptprojekt mit dem Ziel ab, einen Primary Domain Controller (PDC) für Windows-NT-Domänen zu entwickeln, eine Funktionalität, welche im Hauptzweig damals noch nicht stabil verfügbar war. Die Entwicklung von Samba-TNG schlief 2009 ein.

Zum festen Kern der Entwicklergemeinde von Samba zählen in etwa 40 Personen.[5] Einige Unternehmen, wie zum Beispiel IBM und die deutsche SerNet GmbH[6], leisten finanzielle und personelle Unterstützung bzw. sind sogar Arbeitgeber einiger Samba-Entwickler.

In der Versionsreihe Samba 3 bestand die Möglichkeit, Samba als Mitgliedsserver in einer Active-Directory-Domäne zu betreiben, nicht jedoch als deren Domain Controller. Samba 3 konnte nur Domain Controller des veralteten Windows-NT-4.0-Typs emulieren, was jedoch für viele Netzwerke überschaubarer Größe ausreicht. Darin kann ein zweiter Samba-Server auch die Rolle eines Backup Domain Controller (BDC) übernehmen. Ab Version 3.5 unterstützt Samba auch die von Microsoft mit deren Betriebssystem Windows Vista eingeführte, proprietäre neue Version des SMB-Protokolles namens SMB2.

Die größte Neuerung der aktuellen Version 4 ist die Unterstützung der Active-Directory-Domain-Controller-Rolle. Außerdem wurde das Verwaltungswerkzeug SWAT so weit verbessert, dass es auch zur Verwaltung einer Active-Directory-Domäne über das Web genutzt werden kann. Samba 4 beinhaltet eine Neuentwicklung der Domain-Controller-Funktionalität, die integrierte Dateiserver-Rolle basiert jedoch auf der bewährten Version 3 und unterstützt nun auch SMB3. Samba 4 wurde im Dezember 2012 für den Produktiveinsatz freigegeben.

## Bestandteile und grafische Benutzeroberflächen

[Bearbeiten | Quelltext bearbeiten]

Samba besteht aus einer Reihe von einzelnen Modulen, die der grundlegenden Funktion sowie der Konfiguration dienen.

Die Kernmodule sind die Daemons samba (Active-Directory-Emulation ab Version 4), smbd (Datei- und Druckerfreigabe), nmbd (NetBIOS-Namensauflösung) und winbindd (Benutzer-/Gruppen-Zuordnung).

Für die Konfiguration von Samba existieren eine Reihe von GUIs, beispielsweise:

* Das Samba-eigene browserbasierte Modul SWAT (Samba Web Administration Tool)
* Ein Modul für das browserbasierte Konfigurationstool Webmin
* Das Tool GSAMBAD als Teil der Sammlung GAdmintools
* Der browserbasierte LDAP Account Manager zur Verwaltung von Benutzerkonten
* Möglichkeiten zur Ordnerfreigabe in den Benutzeroberflächen des KDE\- und Gnome-Projektes
* Verwaltungsoberflächen weiterführender Produkte wie z. B. Univention Corporate Server, IServ und Zentyal

## Verbreitung

[Bearbeiten | Quelltext bearbeiten]

Fast alle Linux-Distributionen enthalten Samba und bieten damit Zugriff auf Dateifreigaben in gemischten Netzwerken, in denen z. B. auch Windows eingesetzt wird. Auch in homogenen Unix-Netzwerken wird Samba, und damit das SMB-Protokoll, häufig statt des NFS-Protokolls eingesetzt.

Zusätzlich ist Samba oft Bestandteil weiterführender Hard- (z. B. NAS) und Software-Produkte, die die Installation, Konfiguration und Verwaltung der Software erleichtern und deren Hersteller außerdem oft kommerzielle Unterstützung anbieten.[7][8]

## Zugang zur Protokolldokumentation

[Bearbeiten | Quelltext bearbeiten]

In den frühen 1990er-Jahren hatten Microsoft und das Samba-Team eine produktive Beziehung, bei der Schnittstellendaten ausgetauscht wurden.[9] Dies änderte sich jedoch mit einer neuen Schnittstellen-Politik Microsofts ab Windows 95. Am 20. Dezember 2007 jedoch wurde zwischen Microsoft und der „Protocol Freedom Information Foundation“ (PFIF) auf Anordnung der Europäischen Union ein Abkommen geschlossen, welches Microsoft verpflichtet, alle nötigen Informationen über „Microsoft Work Group Server“ bereitzustellen, um mit diesem vollständig kommunizieren zu können. Das Abkommen sieht vor, dass diese Informationen nur der PFIF und den Samba-Entwicklern zugänglich sind. Dafür erlaubt das Abkommen auch die Veröffentlichung des Quelltextes von Implementierungen dieser Schnittstellen, so dass die Schnittstellen so indirekt offengelegt werden. Patente sind von dem Abkommen allerdings nicht betroffen.

> “We are very pleased to be able to get access to the technical information necessary to continue to develop Samba as a Free Software project. Although we were disappointed the decision did not address the issue of patent claims over the protocols, it was a great achievement for the European Commission and for enforcement of antitrust laws in Europe. The agreement allows us to keep Samba up to date with recent changes in Microsoft Windows, and also helps other Free Software projects that need to interoperate with Windows.”

> „Wir sind hocherfreut, Zugang zu den technischen Informationen zu erhalten, die nötig sind, um Samba als ein freies Softwareprojekt weiterzuentwickeln. Obwohl wir enttäuscht waren, dass die Entscheidung nicht auf die Protokoll-Patentansprüche einging, stellt sie einen herausragenden Erfolg der EU-Kommission und für die Durchsetzung des Kartellrechts in Europa dar. Das Abkommen gestattet uns, Samba mit den neuesten Veränderungen von Microsoft Windows Schritt halten zu lassen, und hilft auch anderen freien Softwareprojekten, die mit Windows interagieren müssen.“

– Andrew Tridgell: 20. Dezember 2007[10]

Als Ausdruck eines inzwischen wieder entspannteren Verhältnisses zwischen Microsoft und dem Samba-Projekt kann auch gelten, dass Microsoft-Mitarbeiter sich 2011 erstmals aktiv an der Samba-Entwicklung beteiligten.[11]

## Sicherheit

[Bearbeiten | Quelltext bearbeiten]

Im Folgenden sind einige wesentliche geschlossene Sicherheitslücken von Samba angeführt:

* Im Jahr 2010 wurde bekannt, dass einige Versionen bis hin zu Samba 3.6.3 über den anonymen Gastzugriff mittels Remote Procedure Calls (RPC) Zugang zum Root-Konto erlaubten.[12]
* Im Mai 2017 wurde bekannt, dass ähnliche Sicherheitsprobleme wie bei Windows-Betriebssystemen, welche in Form von WannaCry ausgenutzt werden konnten, auch bei Samba bestanden.[13] Bei diesem Fehler, welcher in Anlehnung als SambaCry bezeichnet wird, war es möglich, injizierten Schadcode am betreffenden Samba-System auszuführen. Der Fehler betraf alle Samba-Versionen ab der Version 3.5.0 bis zu der im Mai 2017 aktuellen Version 4.6.4.[14] Dieser Fehler ist vor allem bei NAS-Systemen, welche üblicherweise auf Samba aufsetzen, kritisch. Die Problematik wird verstärkt, wenn das Samba-System von extern zugänglich ist und nicht alle Hersteller für ihre proprietären NAS-Systeme entsprechende Updates für die Fehlerbehebung anbieten oder diese Updates vom Besitzer in Unkenntnis der Problematik nicht eingespielt werden.[15]

## Literatur

[Bearbeiten | Quelltext bearbeiten]

* Stefan Kania: Samba 4: Das Handbuch für Administratoren. 1\. Auflage. Carl Hanser Verlag, 2019, ISBN 978-3-446-45591-7
* Winfried Trümper: Intranetworking mit Linux, m. CD-ROM. 2\. Auflage. Addison-Wesley, 1999, ISBN 978-3-8273-1584-7

## Weblinks

[Bearbeiten | Quelltext bearbeiten]

* Samba PDC mit OpenLDAP (Memento vom 30. Januar 2012 im Internet Archive)
* Samba eXPerience, jährliche Entwicklerkonferenz (englisch)
* Linkkatalog zum Thema Samba bei curlie.org (ehemals DMOZ)

## Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]

1. ↑ The Samba Team (englisch) – offizielle Entwicklerseite, abgerufen am 5. Juni 2012
2. ↑ [Announce] Samba 4.21.0 Available for Download. 2. September 2024 (abgerufen am 2. September 2024).
3. ↑ a b openhub.net.
4. ↑ Andrew Tridgell: Myths About Samba. Groklaw, 26. Februar 2005
5. ↑ The Samba Team. Abgerufen am 11. April 2021.
6. ↑ Jens-Christoph Brendel: Samba erhält fast 700 000 Euro Fördermittel. In: Linux-Magazin. 24. September 2024, abgerufen am 25. September 2024. „Sechs Mitglieder des internationalen Samba-Teams arbeiten bei SerNet.“
7. ↑ Samba as part of Commercial Products. Samba-Webseite, abgerufen am 1. April 2014 (englisch).
8. ↑ Samba Commercial Support Providers. Samba-Webseite, abgerufen am 1. April 2014 (englisch).
9. ↑ „We are hoping to get back to the productive relationship we had with Microsoft during the early 1990's when we shared information about these protocols.“ (Jeremy Allison, co-creator of Samba)
10. ↑ Samba and the PFIF. Pressemitteilung des Samba-Team, 20. Dezember 2007 (englisch); abgerufen am 25. Dezember 2010
11. ↑ Samba Notes Passing a Milestone. Samba-Webseite, 2. November 2011, abgerufen am 4. Dezember 2011 (englisch).
12. ↑ CVE-2012-1182 – A security announcement regarding a major issue with Samba 3.6.3 and lower.
13. ↑ SambaCry is coming. securelist.com
14. ↑ CVE-2017-7494 – Remote code execution from a writable share. Abgerufen am 23. Juli 2017.
15. ↑ SambaCry: Erste Angriffe auf Linux-NAS-Boxen gesichtet. heise.de