Auf der Samba-XP-Konferenz 2016 waren noch die Nachwirkungen der Sicherheitsprobleme rund um den Badlock-Bug zu spüren. Das Projekt will sich nun intensiver mit der Sicherheit beschäftigen.
Sicherheit sei ein hartes Problem und Samba in einige der damit verbundenen Fallen gelaufen, gab Samba-Entwickler Jeremy Allison in seiner Begrüßungsansprache Mitte Mai auf der Samba-XP-Konferenz 2016 [1] zu. Das Projekt hatte im April 2016 nach monatelanger Arbeit an einer Reihe von Sicherheitslücken – am bekanntesten Badlock [2] – umfangreiche Patches ausgeliefert.
Dass Samba die Programmiersprache C verwendet, helfe nicht gerade, so Allison. Für externe Features könnte das Projekt künftig stärker auf Go, Rust oder andere auf Sicherheit fokussierte Sprachen setzen. Zugleich überlegte er laut, eine Security-Best-Practices-Zertifizierung der Linux-Foundation anzustreben.
C geht nicht weg
Johannes Loxen, Chef und Gründer des Hauptsponsors Sernet [3], gab zu bedenken, dass C nicht weggehen werde. Es gebe keine Möglichkeit, den Kern von Samba in einer anderen Sprache zu programmieren, das sei nur für einbindbare Programmteile eine Lösung. Sicherheit, so Loxen, sei ohnehin nur eine der drei Schrauben, an denen das Samba-Projekt permanent drehen müsse. Wenn die Kompatibilität oder die Performance nachlassen, weil man sich nur auf eine Baustelle konzentriere, honorieren die Kunden das auch wieder nicht.
Tatsächlich litt die Arbeit an den Features der nächsten Samba-Release offenbar unter dem Badlock-Wirbel. Das jedenfalls konstatierte der Samba-Entwickler Steve French in seinem Vortrag über SMB3 und Linux am zweiten Konferenztag.
Fefe-Keynote
Dass die Sicherheit zurzeit Priorität im Samba-Projekt hat, demonstrierte neben der Rede von Allison auch die Einladung des Sicherheitsforschers Felix von Leitner als Keynote-Redner, vielen nur als Fefe [4] bekannt. Er zeigte am Beispiel des in den 80er Jahren entwickelten Konzepts der Trusted Computing Base (TCB, [5]), dass Sicherheit ein nur schwer lösbares Problem ist. Es genüge nicht, zentrale Dienste mit eigens dafür angelegten Benutzern auszuführen. Vielmehr müssten sichere Anwendungen die Security-Features der Betriebssysteme möglichst intelligent nutzen und sollten nicht versuchen die harten Sicherheitsprobleme selbst zu lösen. Er empfahl dem Projekt, auf kurzlebige Prozesse und eine minimale Rechtevergabe zu setzen.
Eine ungefähre Vorstellung der Sicherheitsprobleme, mit denen das Projekt seit letztem Jahr konfrontiert ist, ließ sich dann den Schilderungen von Stefan Metzmacher entnehmen. Er schilderte stoisch, wie er von einer gefundenen Sicherheitslücke ausgehend auf immer mehr Sicherheitsprobleme stieß, die unter anderem das recht betagte DCE-RPC-Protokoll verursachte. So ließen sich etwa verschlüsselte »ldaps://« – sowie »https://« -Verbindungen downgraden, was MITM-Attacken im Netzwerk ermögliche. Auch eine fehlende Zertifikatsvalidierung mache es Angreifern zu einfach.
Patchday
Nach monatelanger Arbeit fielen die Sicherheitspatches vom 12. April 2016 entsprechend umfangreich aus – mit insgesamt Tausenden von Änderungen an Hunderten von Dateien. Im Vorfeld hatte Sernet, ein kommerzieller Anbieter von Samba-Paketen, viele Kunden bereits kontaktiert und mit Patches versorgt. Die Kommunikation über die Sicherheitslücken fand verschlüsselt statt, es gab keine Einträge im Bugtracker.
Für die Zukunft stehen laut Metzmacher weitere Änderungen an der Codebasis ins Haus, um die Sicherheitsprobleme nachhaltig anzugehen. So will man mit Microsoft verschiedene Security-Verbesserungen für DCE-RPC diskutieren. Das Projekt möchte das Samba-Protokoll härten und das veraltete Authentifizierungsverfahren NTLMv1 in der nächsten Major-Release deaktivieren. IPC-Requests sollen bei authentifizierten Clients zudem nur noch signiert möglich sein.
Cluster im Koffer
Die Sicherheit blieb zum Glück nicht das einzige Thema der Konferenz, die Rolle und Konfiguration von Clustern nahm ebenfalls viel Raum ein. Samba-Buchautor Stefan Kania referierte über den Einsatz von Gluster-FS als Dateisystem für CTDB, die Clusterimplementierung von Sambas TDB-Datenbank. Mikrobiologe und Samba-Contributor Kai Blin zeigte das Ganze dann in der Praxis – anhand einiger Raspis. Sein Minicluster aus drei Raspberry-Pi-2-Platinen passt in einen Koffer und bewährte sich auch in der Live-Demo (Abbildung 1).
Das Setup koste insgesamt keine 200 Euro, erklärte Blin, und bestehe im Wesentlichen aus einem 4-Port-Switch, einer 4-Port-USB-PSU (Power Supply Unit) sowie drei USB-Sticks, die er an die Raspis steckte. Auf ihnen lief Btr-FS, darauf ein Gluster-FS. Als Distribution griff Blin zu Arch Linux, das er besonders für das einfache Buildsystem lobte. Dank des Arbeitsspeichers von 1 GByte in der Raspberry-Pi-2-Generation könne man Samba auch auf den Geräten selbst kompilieren. Er setzte es in Version 4.4.2 ein, in seinem Github-Repository [6] finden sich einige der von ihm verwendeten Skripte.
Soll der Cluster etwas größer werden, ließe sich problemlos auch Ceph-FS [7] verwenden – ginge es jedenfalls nach Ira Cooper. Er forderte in seinem Vortrag jedoch, Ceph-FS noch besser in Samba zu integrieren, und referierte über den aktuellen Stand der Dinge beim Ceph-Support.
Samba einfach machen
Red Hats Simo Sorce, Sumit Bose und Alexander Bokovoy forderten, Samba für die Benutzer sinnvoll und transparent in den Desktop zu integrieren. Samba müsse auf dem Desktop funktionieren, sonst nutzen die Leute auch den Server nicht, erklärte Bokovoy und demonstrierte eine Integration mit Free IPA [8] für Unternehmensdesktops (Abbildung 2). Anstelle von vier oder noch mehr Passwörtern könne sich der User in seiner Arbeitsumgebung mit nur einem Passwort und unter Einsatz einer Zwei-Faktor-Authentifizierung anmelden. Das helfe insbesondere älteren Nutzern wie ihm, scherzte er.
“Make it simple!”, rief Simo Sorce den Zuhörern zu und schlug damit in eine ähnliche Kerbe wie Bokovoy. Eine schlechte, aber funktionierende Implementierung sei immer noch besser als eine gut gemeinte, aber fehlerhafte, argumentierte er. User könnten im ersten Fall mit Samba arbeiten und würden erst bei aufwändigeren Setups auf die Fehler stoßen und um diese herumarbeiten. Funktioniere Samba hingegen aufgrund von Konfigurationshürden nicht auf Anhieb, schrecke das potenzielle Nutzer eher ab.
Nicht zuletzt versuchte Sumit Bose, Werbung für den Einsatz von SSSD zu machen, das Red Hat in Fedora anstelle von Winbind verwendet. Beide Technologien dienen zur LDAP-Authentifizierung, unterscheiden sich aber Feature-weise in einigen Belangen voneinander, etwa beim Umgang mit ID-Mappings. Bose versuchte nun einen Ansatz vorzustellen, der SSSD ein wenig näher an Winbind bringt und etwa automatische ID-Mappings erlaubt.
Infos
- Samba XP 2016: https://sambaxp.org
- Badlock: http://badlock.org
- Sernet: https://www.sernet.de/en/
- Fefes Blog: https://blog.fefe.de
- TCB: https://en.wikipedia.org/wiki/Trusted_computing_base
- Kai Blin auf Github: https://github.com/kblin
- Ceph-FS: http://docs.ceph.com/docs/master/cephfs/
- Free-IPA: https://www.freeipa.org








