Samba 4.12 beschleunigt Verschlüsselung und Datentransfer

Die neue Samba-Version 4.12 nutzt als Krypto-Bibliothek GnuTLS. Das verbessert vor allem die Performance.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 4 Beiträge

(Bild: samba.org)

Von

Knapp ein halbes Jahr nach der vorigen Version des freien Programmpakets Samba ist nun der Nachfolger Samba 4.12 erschienen.

Eine grundlegende Änderung der neuen Version bringt in der Praxis erhebliche Geschwindigkeitsvorteile mit sich: Die Entwickler haben maßgebliche Kryptofunktionen aus dem Quellcode entfernt und setzen dafür ab jetzt auf die Bibliothek GnuTLS. Für das Samba-Team bedeutet die Veränderung eine deutliche Entlastung bei der Entwicklung.

Eine weitere wichtige Neuerung mit positiven Auswirkungen auf die Geschwindigkeit: Über ein neues VFS-Modul kann Samba die Datenträgerzugriffe jetzt über "io_uring" durchführen. Dabei handelt es sich um eine von Linux 5.1 und neuer unterstützte Technik für asynchrones I/O (AIO/Asynchronous I/O), die den Overhead bei der Interaktion mit dem Kernel reduziert. Gerade bei besonders schnellen Datenträgern kann das den Datendurchsatz vielfach erhöhen und Latenzen beim Schreiben oder Lesen von Daten reduzieren.

Zwar konnte Samba 4.11 auch schon GnuTLS nutzen und verlangte diese Bibliothek bereits, wenn Samba als Active-Directory-Server unter Nutzung von MIT Kerberos kompiliert wurde. Nun ist die bislang optionale Abhängigkeit von GnuTLS aber fix.

GnuTLS nutzt die Befehlserweiterung von CPUs für hardwarebeschleunigte Kryptofunktionen und verschafft Samba bei verschlüsselten SMB3-Verbindungen damit einen ordentlichen Leistungsschub. Bis zu dreimal schneller laufen Schreibaktionen im Netzwerk mit dem CIFS-Kernel-Modul aus Linux 5.3 laut Release Notes zu Samba 4.12. Leseoperationen sind demnach mehr als zweimal flotter.

Die Messungen gelten für die Verschlüsselung mittels AES-GCM (AES mit Galois/Counter Mode), die bisher unter Samba vergleichsweise langsam war. Für SMB3-Verbindungen bevorzugte Samba bis 4.11 deshalb das langsamere AES-CCM, das sich auf Mehrkern-CPUs aber nicht elegant parallelisieren lässt.

Bislang war das rund 20-köpfige Samba-Team gezwungen, im eigenen Code alle Kryptofunktionen für das SMB/CIFS-Protokoll in all seinen Ausprägungen selbst zu pflegen. Der Grund hierfür war, dass sich Windows-Clients und SMB/CIFS-Server in früheren Versionen des Protokolls kaum an Verschlüsselungsstandards hielten oder undurchsichtige Ciphers von Microsoft nutzen. Mit SMB3 entschärfte sich die Situation, nachdem Microsoft das Protokoll mit der Veröffentlichung von Windows Server 2012 auf das standardisierte, lange etablierte AES-Verfahren (AES-CCM) aktualisierte.

Ganz vorbei ist es mit eigenen Ciphers aber noch nicht: Samba 4.12 hat aus Kompatibilitätsgründen weiterhin eine Implementierung von MD4-Hashes für die Kerberos-Authentifizierung mittels Heimdal im Quellcode. Heimdal ist ein freier Kerberos-Authentifizierungsdienst, den Samba seit Version 4.0 nutzen kann.

Die jetzt stärkere Rolle von soliden Ciphers und der Verlass auf das gut gepflegte GnuTLS erlaubt Samba einen weiteren Schritt Richtung FIPS-Compliance. Der "Federal Information Processing Standard" (FIPS) ist eine Voraussetzung für Zertifizierungen von Computersystemen in zivilen Regierungseinrichtungen in den USA. Das Samba-Team will nun darauf hinarbeiten, zukünftige Samba-Versionen fit für diesen Einsatzzweck zu machen, was laut Samba-Entwickler Andreas Schneider aber noch länger als bis zur nächsten Samba-Version dauern wird.

Neben GnuTLS ab Version 3.4.7 verlangt das neue Samba auch zwingend Python ab 3.5, nachdem die Entwicklungspipeline von Samba keine älteren Python-Interpreter mehr testen kann. Weder die neuen Abhängigkeiten von GnuTLS noch die von Python 3.5 stellen halbwegs aktuelle Linux-Distributionen jedoch vor das Problem großer Versionssprünge, denn GnuTLS 3.4.7 erschien bereits 2015 und Python 3.5 Anfang 2017.

Es ist zu erwarten, dass Samba 4.12 aufgrund seiner Perfomance-Verheißungen schnell in den Zweigen der tonangebenden Linux-Distributionen landen wird. Für die Aufnahme in Ubuntu 20.04 "Focal Fossa", das im April fertig sein soll, dürfte der Erscheinungstermin dagegen zu knapp sein.

Der Quellcode von Samba 4.12 steht zusammen mit den detaillierten Release Notes auf https://www.samba.org bereit. (ovw)