Veröffentlichung von Samba 4.24.0

Nach 6 Monaten Entwicklung wurde die Version Samba 4.24.0 veröffentlicht, die die Entwicklung der Samba 4-Reihe fortsetzt und eine vollständige Realisierung des Domänencontrollers sowie des Active Directory-Dienstes bietet, der mit der Implementierung von Windows Server kompatibel ist und alle von Microsoft unterstützten Versionen von Windows-Clients, einschließlich Windows 11, bedienen kann. Samba 4 ist ein multifunktionales Serverprodukt, das auch die Implementierung eines Dateiservers, eines Druckdienstes und eines Identifizierungsservers (winbind) bereitstellt. Der Code des Projekts ist in C geschrieben und wird unter der GPLv3-Lizenz verbreitet.

Wesentliche Änderungen in Samba 4.24:

  • Ein neuer VFS-Modul vfs_aio_ratelimit wurde hinzugefügt, um die Intensität (rate-limit) von asynchronen Ein-/Ausgabeoperationen (AIO) zu begrenzen. Die Begrenzungen können in Bytes pro Sekunde oder in Operationen pro Sekunde angegeben werden. Bei Überschreitung des festgelegten Limits beginnt das Modul, künstliche Verzögerungen in asynchrone Operationen einzuführen, um den festgelegten oberen Grenzwert einzuhalten.
  • Im VFS-Modul vfs_ceph_new wurde die Unterstützung für das RPC-Protokoll Keybridge und den Modus FSCrypt zur Verschlüsselung von Daten und Dateinamen im CephFS-Dateisystem hinzugefügt. Die Verschlüsselung kann auf der Ebene einzelner Verzeichnisse aktiviert werden.
  • Im VFS-Modul vfs_streams_xattr, das es ermöglicht, alternative Datensätze NTFS (NTFS alternate data stream) in erweiterten Dateiattributen (xattr) in Linux zu speichern, wurde die Einstellung „streams_xattr:max xattrs per stream“ hinzugefügt, die die zulässige Anzahl von xattr definiert, die zur Speicherung von Daten verwendet werden. In Linux ist die Größe von xattr auf 65536 Bytes begrenzt, aber das XFS-Dateisystem ermöglicht es, mehr als ein xattr an eine Datei zu binden, was die Verwendung mehrerer xattr zur Speicherung von bis zu 1 MB alternativer Daten erlaubt.
  • Die Unterstützung für die Auditierung von Informationen im Zusammenhang mit der Authentifizierung wurde implementiert. Debugging-Klassen „dsdb_password_audit“ und „dsdb_password_json_audit“ wurden hinzugefügt, um Änderungen an den Attributen von Active Directory zu protokollieren: altSecurityIdentities, dNSHostName, msDS-AdditionalDnsHostName, msDS-KeyCredentialLink und servicePrincipalName.
  • Die Unterstützung für externe Passwortverwaltungssysteme Microsoft Entra ID und Keycloak wurde hinzugefügt, die bei einer Passwortänderung die Passwortzurücksetzoperation (SSPR, password reset) verwenden, ohne das alte Passwort an den Controller zu übermitteln. der Domain unterscheiden, gesetzt werden.. Zur Einhaltung der Richtlinien, die die Gültigkeitsdauer von Passwörtern steuern, werden beim Zurücksetzen des Passworts zusätzliche Parameter übertragen ("password policy hints"), die es ermöglichen, den Vorgang wie eine reguläre Passwortänderung zu behandeln. Jetzt berücksichtigt Samba solche Parameter bei der Anwendung von passwortbezogenen lokalen Richtlinien.
  • Unterstützung für den Authentifizierungsmechanismus Kerberos PKINIT KeyTrust wurde hinzugefügt, der es Domaincontrollern auf Basis von Samba und Heimdal KDC ermöglicht, die Methode "Windows Hello for Business Key-Trust logons" zur Anwendung des PKINIT-Authentifizierungsmechanismus mit selbstsignierten Schlüsseln zu nutzen. Um den öffentlichen Schlüssel in das Werkzeug samba-tool hinzuzufügen und anzuzeigen, wurde der Befehl "user|computer keytrust" hinzugefügt. Informationen über den öffentlichen Schlüssel werden in dem Konto mit dem Attribut msDS-KeyCredentialLink gespeichert.
  • Domaincontroller auf Basis von Samba und Heimdal KDC unterstützen jetzt die Erweiterung des Kerberos PKINIT-Protokolls für die Schlüsselzuordnung ("Windows Strong and Flexible key mappings"), die bei der Authentifizierung mit öffentlichen Schlüsseln verwendet wird. Standardmäßig ist nur eine exakte Übereinstimmung von Zertifikaten zulässig ("strong certificate binding enforcement = full"), aber es ist auch eine flexible Zuordnung möglich ("strong certificate binding enforcement = compatibility"), die neuere Zertifikate als die des Benutzerkontos zulässt. Informationen über die Zertifikatszuordnung für das Konto werden im Attribut altSecurityIdentities gespeichert.
  • Die Unterstützung für die Erweiterung des Protokolls "Kerberos PKINIT SID" wurde hinzugefügt, die es ermöglicht, Zertifikate mit der Object SID bei der Authentifizierung zu verwenden. Zum Signieren von Zertifikaten wurde der Befehl "user|computer generate-csr" zum Tool samba-tool hinzugefügt.
  • In der Implementierung des KDC (Key Distribution Center) wird standardmäßig die Struktur PAC (Privilege Attribute Certificate), die Informationen über die Berechtigungen des Benutzers enthält, unabhängig davon zurückgegeben, ob das Feld PA-PAC-REQUEST in der Anfrage des Clients angegeben wurde. Um das alte Verhalten zu reproduzieren, gibt es die Einstellung "kdc always generate pac = no".
  • Im KDC wurde die Einstellung "kdc require canonicalization" hinzugefügt. Wenn dieser auf "yes" gesetzt wird, muss der Client die Kanonisierung des Benutzernamens bei der Authentifizierung (AS_REQ) anfordern. Wenn die Kanonisierung nicht angefordert wird, gibt der Server den Fehler "Benutzer unbekannt" zurück. zu einem Server In Netzwerken mit Benutzern, die Windows-Betriebssysteme verwenden, sollte die Aktivierung der neuen Einstellung keine Probleme verursachen, da Windows-Clients standardmäßig immer die Kanonisierung anfordern.

    Die verpflichtende Kanonisierung schützt vor Angriffen der Klasse "dollar ticket", die damit manipuliere, dass Benutzername unterschiedlich angegeben werden können ("user" und "user$") und unterschiedlich im kanonisierten und normalen Format verarbeitet werden. Der Kern des Angriffs besteht darin, dass ein Angreifer beispielsweise ein Computer-Konto im AD mit dem Namen "root$" erstellen konnte und dieses verwenden kann, um beim KDC ein Ticket zu erlangen, indem er im Request den Benutzernamen "root" anstelle von "root$" sendet. Da der KDC keinen Benutzer mit dem Namen "root" findet, würde er die Anfrage im Kontext des Benutzers "root$" bearbeiten und ein Ticket ausstellen, das verwendet werden kann, um sich als Benutzer root über SSH oder NFS mit einem Linux-Server zu verbinden, der mit SSSD läuft.

  • Im KDC wurde eine Umgehungslösung zum Schutz vor "dollar ticket"-Angriffen für Konfigurationen hinzugefügt, bei denen die zwingende Kanonisierung von Namen deaktiviert ist ("kdc require canonicalization = no", Standardwert). Standardmäßig, wenn der Client keine Kanonisierung anfordert und der überprüfte Name nicht gefunden wird, führt der Server eine zusätzliche Überprüfung durch, indem er das Zeichen "$" an den Namen anhängt. Mit der neuen Einstellung "kdc name match implicit dollar without canonicalization = no" kann dieses Verhalten deaktiviert werden, sodass nur präzise Prüfungen durchgeführt werden (im Kontext des oben genannten Angriffs wird der Server den Namen "root$" bei der Anfrage "root" nicht prüfen).
  • Im Heimdal KDC ist standardmäßig die Übermittlung nur kanonisierter Namen (sAMAccountName aus PAC) an Kerberos-Dienste anstelle des ursprünglichen cName aktiviert. Um das alte Verhalten wiederherzustellen, gibt es die Einstellung "krb5 acceptor report canonical client name = no".
  • Um umfassenden Schutz gegen "dollar ticket"-Angriffe zu bieten, wird empfohlen, folgende Einstellungen vorzunehmen: strong certificate binding enforcement full, kdc always include pac yes, kdc require canonicalization yes.
  • Zum Blockieren der Schwachstelle CVE-2026-20833 wurde die Verschlüsselungsmethode für die Domäne in den KDC-Einstellungen standardmäßig auf AES geändert (die Einstellung "kdc default domain supported enctypes" ist auf "aes128-cts-hmac-sha1-96 aes256-cts-hmac-sha1-96" festgelegt).

Quelle: opennet.ru

60GB SSD 8Gb DDR4