Etter 6 måneder med utvikling er Samba 4.24.0 nå ute, og den fortsetter utviklingen av Samba 4 med en fullstendig implementering av domenekontrolleren og Active Directory-tjenesten, som er kompatibel med Windows Server-implementeringen og kan betjene alle støttede Microsoft-versjoner av Windows-klienter, inkludert Windows 11. Samba 4 er et multifunksjonelt serverprodukt som også tilbyr implementering av filserver, utskriftstjeneste og identitetstjener (winbind). Prosjektkoden er skrevet i C og distribueres under GPLv3-lisensen.
Nøkkelendringer i Samba 4.24:
- En ny VFS-modul vfs_aio_ratelimit er lagt til for å begrense intensiteten (rate-limit) av asynkrone I/O-operasjoner (AIO). Begrensninger kan settes i bytes per sekund eller i operasjoner per sekund. Når den angitte grensen overskrides, begynner modulen å legge inn kunstige forsinkelser i asynkrone operasjoner for å opprettholde det angitte øvre grense.
- VFS-modulen vfs_ceph_new har fått støtte for RPC-protokollen Keybridge og FSCrypt-modusen for kryptering av data og filnavn i CephFS-filsystemet. Kryptering på nivået av individuelle kataloger kan aktiveres.
- I VFS-modulen vfs_streams_xattr, som gjør det mulig å lagre alternative datasett fra NTFS (NTFS alternate data stream) i utvidede filattributter (xattr) i Linux, er det lagt til en innstilling «streams_xattr:max xattrs per stream», som definerer maksimal antall xattr som brukes til å lagre data. I Linux er størrelsen på xattr begrenset til 65536 bytes, men XFS-filsystemet gir mulighet for å binde mer enn én xattr til en fil, noe som tillater bruk av flere xattr for å lagre opptil 1 MB alternative data.
- Støtte for audit av informasjon relatert til autentisering er implementert. Det er lagt til debuggingsklasser «dsdb_password_audit» og «dsdb_password_json_audit» for å logge endringer i attributtene Active Directory: altSecurityIdentities, dNSHostName, msDS-AdditionalDnsHostName, msDS-KeyCredentialLink og servicePrincipalName.
- Støtte for eksterne passordhåndteringssystemer Microsoft Entra ID og Keycloak, som bruker passordtilbakestilling (SSPR, password reset) uten å overføre det gamle passordet til kontrolleren, er lagt til. domenet. For compliance with policies controlling password expiration, additional parameters ("password policy hints") are passed during password resets, allowing the operation to be handled as a standard password change. Samba now considers such parameters when applying local password-related policies.
- Support for the Kerberos PKINIT KeyTrust authentication mechanism has been added, enabling Samba and Heimdal KDC domain controllers to use the "Windows Hello for Business Key-Trust logons" method for PKINIT authentication with self-signed keys. A new 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, used during public key authentication. By default, only exact certificate matching is allowed ("strong certificate binding enforcement = full"), but flexible matching is also possible ("strong certificate binding enforcement = compatibility"), allowing certificates newer than the user account. Certificate mapping data for the account is saved in the altSecurityIdentities attribute.
- Support for the "Kerberos PKINIT SID" protocol extension has been added, allowing the use of certificates with Object SID identifiers during authentication. A new command "user|computer generate-csr" has been added to the samba-tool utility for signing certificates.
- In the KDC (Key Distribution Center) implementation, PAC (Privilege Attribute Certificate) structure return is ensured by default, containing user privilege data, regardless of whether the PA-PAC-REQUEST field is specified in the client request. The configuration "kdc always generate pac = no" is provided to revert to old behavior.
- In the KDC, the setting "kdc require canonicalization" has been added, which when set to "yes," requires the client to request user name canonicalization when addressing server authentication (AS_REQ). If canonicalization is not requested, the server will return an error "user unknown." In networks with users using Windows OS, activating the new setting should not cause issues, as Windows clients by default always request canonicalization.
Obligatorisk kanonisering beskytter mot «dollar ticket»-angrep som manipulerer med det faktum at brukernavn kan skrives forskjellig («user» og «user$»), og behandles ulikt i kanonisk og vanlig representasjon. Angrepets essens er at en angriper for eksempel kan ha opprettet en datamaskinbruker i AD med navnet «root$» og bruke dette til å få et mandag (ticket) fra KDC, ved å sende brukernavnet «root» i stedet for «root$». Siden KDC ikke finner brukeren «root», ville den ha behandlet forespørselen i konteksten til brukeren «root$» og utstedt et mandag som kan brukes til å logge inn som root via SSH eller NFS til en Linux-server med SSSD.
- KDC har fått en alternativ beskyttelse mot «dollar ticket»-angrep for konfigurasjoner med obligatoriske kanoniseringsforespørsel deaktivert («kdc require canonicalization = no», som er standard). Som standard, hvis klienten ikke har bedt om å utføre kanonisering og det verifiserte navnet ikke finnes, utfører serveren en ekstra sjekk, ved å legge til symbolet «$» til navnet. Med den nye innstillingen «kdc name match implicit dollar without canonicalization = no» kan dette atferden deaktiveres, og man kan utføre bare nøyaktige sjekker (i konteksten av det nevnte angrepet vil serveren ikke sjekke navnet «root$» ved forespørsel om «root»).
- I Heimdal KDC er sending av kun kanoniserte navn (sAMAccountName fra PAC) til Kerberos-tjenester aktivert som standard, i stedet for den opprinnelige verdien cname. For å gjenopprette den gamle atferden finnes det innstillingen «krb5 acceptor report canonical client name = no».
- For full beskyttelse mot «dollar ticket»-angrep anbefales følgende innstillinger: strong certificate binding enforcement full kdc always include pac yes kdc require canonicalization yes
- For å blokkere sårbarheten CVE-2026-20833 er metoden for domene-kryptering i KDC-innstillingene endret til AES som standard (innstillingen «kdc default domain supported enctypes» er satt til «aes128-cts-hmac-sha1-96 aes256-cts-hmac-sha1-96»).
Kilde: opennet.ru
