Efter 6 måneder med udvikling er Samba 4.24.0 blevet frigivet, som fortsætter udviklingen af Samba 4 med en fuld implementering af domænekontroller og Active Directory-tjeneste, der er kompatibel med Windows Server-implementeringen og kan betjene alle understøttede versioner af Windows-klienter, herunder Windows 11. Samba 4 er et multifunktionelt serverprodukt, der også tilbyder en filserver, printtjeneste og identifikationstjeneste (winbind). Projektkoden er skrevet i C og distribueres under GPLv3-licensen.
Nøgleændringer i Samba 4.24:
- Den nye VFS-modul vfs_aio_ratelimit er blevet tilføjet for at begrænse intensiteten (rate-limit) af asynkrone input/output-operationer (AIO). Begrænsninger kan angives i bytes per sekund eller operationer per sekund. Ved overskridelse af den angivne grænse begynder modulet at indføre kunstige forsinkelser i asynkrone operationer for at opretholde den angivne øvre grænse.
- I VFS-modulet vfs_ceph_new er der blevet tilføjet støtte til RPC-protokollen Keybridge og FSCrypt-tilstand til kryptering af data og filnavne i filsystemet CephFS. Kryptering kan aktiveres på niveauet for enkeltkataloger.
- I VFS-modulet vfs_streams_xattr, som gør det muligt at gemme alternative datasæt NTFS (NTFS alternate data stream) i udvidede filattributter (xattr) i Linux, er der blevet tilføjet en indstilling "streams_xattr:max xattrs per stream", som definerer det tilladte antal xattr, der anvendes til at lagre data. I Linux er størrelsen af xattr begrænset til 65536 bytes, men XFS-filsystemet giver mulighed for at knytte mere end én xattr til én fil, hvilket gør det muligt at bruge flere xattr til at gemme op til 1 MB alternative data.
- Understøttelse af revision af oplysninger relateret til autentifikation er blevet implementeret. Der er blevet tilføjet fejlsøgningsklasser "dsdb_password_audit" og "dsdb_password_json_audit" for at registrere ændringer i Active Directory-attributter i loggen: altSecurityIdentities, dNSHostName, msDS-AdditionalDnsHostName, msDS-KeyCredentialLink og servicePrincipalName.
- Understøttelse af eksterne systemer til passwordstyring Microsoft Entra ID og Keycloak, der anvender password reset operationen (SSPR, password reset) uden at overføre det gamle password til kontrolleren, er blevet tilføjet. domænet. For compliance with policies governing password validity, additional parameters ("password policy hints") are now transmitted during password resets, allowing the operation to be processed like a regular password change. Samba now takes these parameters into account when applying local password-related policies.
- Support for the Kerberos PKINIT KeyTrust authentication mechanism has been added, enabling domain controllers based on Samba and Heimdal KDC to use the "Windows Hello for Business Key-Trust logons" method for applying the PKINIT authentication mechanism using self-signed keys. The command "user|computer keytrust" has been added to the samba-tool utility for adding and viewing the public key. Information about the public key is stored in the account using the msDS-KeyCredentialLink attribute.
- Support for the Kerberos PKINIT protocol extension for key mapping ("Windows Strong and Flexible key mappings") has been added to Samba and Heimdal KDC domain controllers. By default, only exact certificate matching is allowed ("strong certificate binding enforcement = full"), but flexible matching is also possible ("strong certificate binding enforcement = compatibility"), which allows certificates newer than the user's account. Mapping data for the account is stored in the altSecurityIdentities attribute.
- Support for the "Kerberos PKINIT SID" protocol extension has been added, allowing the use of certificates with Object SID for authentication. A command "user|computer generate-csr" has been added to the samba-tool utility for signing certificates.
- The KDC (Key Distribution Center) implementation now defaults to returning the PAC (Privilege Attribute Certificate) structure containing user capability data, regardless of whether the PA-PAC-REQUEST field is specified in the client's request. A setting "kdc always generate pac = no" has been provided to return to the old behavior.
- A setting "kdc require canonicalization" has been added to the KDC, which, when set to "yes", requires the client to request user name canonicalization when accessing authentication (AS_REQ). If canonicalization is not requested, the server will return an error "user unknown". In networks with users using Windows OS, enabling this new setting should not cause issues, as Windows clients always request canonicalization by default. server autentificering (AS_REQ). Hvis kanonisering ikke er anmodet, vil serveren returnere en fejlmeddelelse "bruger ukendt". I netværk med brugere, der anvender Windows OS, bør aktivering af den nye indstilling ikke forårsage problemer, da Windows-klienter som standard altid anmoder om kanonisering.
Obligatorisk kanonisering beskytter mod "dollar ticket"-angreb, som manipulerer ved, at brugernavne kan angives forskelligt ("user" og "user$") og behandles på en anden måde i kanoniseret og almindelig visning. Angrebets kerne er, at en ondsindet aktør for eksempel kunne have oprettet en computerbrugerkonto i AD med navnet "root$" og bruge den til at få et mandat (ticket) fra KDC ved at sende brugernavnet "root" i stedet for "root$" i anmodningen. KDC, der ikke finder brugeren "root", ville behandle anmodningen i konteksten af brugeren "root$" og udstede et mandat, som kan bruges til at logge ind som root via SSH eller NFS på en Linux-server med SSSD.
- KDC har fået en alternativ beskyttelsesmetode mod "dollar ticket"-angreb for konfigurationer, hvor obligatorisk navnescanonisering er deaktiveret ("kdc require canonicalization = no", som anvendes som standard). Som standard, hvis klienten ikke har bedt om kanonisering, og det kontrollerede navn ikke er fundet, udfører serveren en ekstra kontrol ved at tilføje symbolet "$" til navnet. Med den nye indstilling "kdc name match implicit dollar without canonicalization = no" kan denne adfærd deaktiveres, så der kun udføres præcise kontroller (i konteksten af angrebet nævnt ovenfor, vil serveren ikke kontrollere navnet "root$" ved anmodning om "root").
- I Heimdal KDC er det som standard aktiveret at sende kun kanoniserede navne (sAMAccountName fra PAC) til Kerberos-tjenester i stedet for den oprindelige cname-værdi. For at genindføre den gamle adfærd er der en indstilling "krb5 acceptor report canonical client name = no".
- For at sikre fuld beskyttelse mod "dollar ticket"-angreb anbefales det at indstille: strong certificate binding enforcement full kdc always include pac yes kdc require canonicalization yes
- For at blokere sårbarheden CVE-2026-20833 er krypteringsmetoden for domænet i KDC-indstillinger ændret til AES som standard (indstillingen "kdc default domain supported enctypes" er sat til "aes128-cts-hmac-sha1-96 aes256-cts-hmac-sha1-96").
Kilde: opennet.ru
