Nakon 6 meseci razvoja, predstavljeno je izdanje Samba 4.24.0, koje nastavlja razvoj grane Samba 4 s punom implementacijom kontrolera domena i Active Directory usluge, koja je kompatibilna s Windows Server implementacijom i može podržavati sve verzije Windows klijenata koje Microsoft podržava, uključujući Windows 11. Samba 4 je višenamensko serversko rešenje koje takođe pruža implementaciju serverskog prostora za datoteke, uslugu štampe i serversku identifikaciju (winbind). Kod projekta je napisan na programskom jeziku C i distribuiran je pod GPLv3 licencom.
Ključne promene u Samba 4.24:
- Dodata je nova VFS modul vfs_aio_ratelimit za ograničavanje intenziteta (rate-limit) operacija asinhronog ulaza/izlaza (AIO). Ograničenja mogu biti postavljena u bajtovima po sekundi ili operacijama po sekundi. Kada se prekorači postavljeni limit, modul počinje da ubacuje veštačka kašnjenja u asinhrone operacije kako bi održao zadati gornji prag.
- U VFS modul vfs_ceph_new dodata je podrška za RPC protokol Keybridge i FSCrypt režim za enkripciju podataka i imena datoteka u CephFS datotečnom sistemu. Mogućnost uključivanja enkripcije na nivou pojedinačnih direktorijuma.
- U VFS modul vfs_streams_xattr, koji omogućava čuvanje alternativnih NTFS skupova podataka (NTFS alternate data stream) u proširenim atributima datoteka (xattr) u Linuxu, dodata je opcija 'streams_xattr:max xattrs per stream', koja definiše dozvoljeni broj xattr koji se koriste za čuvanje podataka. U Linuxu je veličina xattr ograničena na 65536 bajtova, ali XFS datotečni sistem omogućava vezivanje više od jednog xattr za jedinu datoteku, što omogućava korišćenje više xattr za skladištenje do 1 MB alternativnih podataka.
- Implementirana je podrška za audit informacije vezane za autentifikaciju. Dodate su klase za debagovanje 'dsdb_password_audit' i 'dsdb_password_json_audit' za registrovanje u dnevnik promena atributa Active Directory: altSecurityIdentities, dNSHostName, msDS-AdditionalDnsHostName, msDS-KeyCredentialLink i servicePrincipalName.
- Dodata je podrška za spoljne sisteme upravljanja lozinkama Microsoft Entra ID i Keycloak, koji koriste operaciju resetovanja lozinke (SSPR, password reset) bez slanja stare lozinke kontroleru. domene. Da bi se poštovali propisi koji regulišu vreme trajanja lozinki, tokom resetovanja lozinke prenose se dodatni parametri ("smernice politike lozinki"), koji omogućavaju da se operacija obradi kao obična promena lozinke. Sada Samba uzima u obzir ove parametre prilikom primene lokalnih politika vezanih za lozinke.
- Dodata je podrška za mehanizam autentifikacije Kerberos PKINIT KeyTrust, koji omogućava kontrolerima domena zasnovanim na Sambi i Heimdal KDC-u da koriste metodu "Windows Hello for Business Key-Trust logons" za primenu mehanizma autentifikacije PKINIT sa samopotpisanim ključevima. Za dodavanje i pregled javnog ključa u alatki samba-tool dodata je komanda "user|computer keytrust". Informacije o javnom ključu čuvaju se u nalogu pomoću atributa msDS-KeyCredentialLink.
- Kontrolerima domena zasnovanim na Sambi i Heimdal KDC-u dodata je podrška za proširenje protokola Kerberos PKINIT za mapiranje ključeva ("Windows Strong and Flexible key mappings"), koji se koristi prilikom autentifikacije pomoću javnih ključeva. Po defaultu je dozvoljeno samo tačno usklađivanje sertifikata ("strong certificate binding enforcement = full"), ali je moguće i fleksibilno usklađivanje ("strong certificate binding enforcement = compatibility"), koje dozvoljava sertifikate novije od korisničkog naloga. Podaci o mapiranju sertifikata za nalog čuvaju se u atributu altSecurityIdentities.
- Dodata je podrška za proširenje protokola "Kerberos PKINIT SID", koje omogućava korišćenje sertifikata sa identifikatorom Object SID prilikom autentifikacije. Za potpisivanje sertifikata u alatki samba-tool dodata je komanda "user|computer generate-csr".
- U implementaciji KDC (Center za distribuciju ključeva) po defaultu je obezbeđeno vraćanje strukture PAC (Privilege Attribute Certificate), koja sadrži podatke o ovlašćenjima korisnika, bez obzira na to da li je polje PA-PAC-REQUEST navedeno u klijentovom zahtevu. Za vraćanje starog ponašanja predviđena je konfiguracija "kdc always generate pac = no".
- U KDC dodata je konfiguracija "kdc require canonicalization", kojom se, ako je postavljena na "yes", od klijenta zahteva da zatraži izvršenje kanonizacije korisničkog imena prilikom pristupa strežniku autentifikaciji (AS_REQ). Ako kanonizacija nije zatražena, server će vratiti grešku "korisnik nije poznat". U mrežama sa korisnicima koji koriste operativni sistem Windows, aktivacija nove konfiguracije ne bi trebala da izazove probleme, jer Windows klijenti po defaultu uvek zahtevaju kanonizaciju.
Obvezna kanonizacija omogoča zaščito pred napadi razreda 'dollar ticket', ki manipulirajo s tem, da se lahko imena uporabnikov določijo na različne načine ('user' in 'user$') in se različno obravnavajo v kanonizirani in običajni predstavitvi. Bistvo napada je v tem, da bi lahko napadalec, na primer, ustvaril v AD uporabniški račun računalnika z imenom 'root$' in ga uporabil za pridobitev mandata (ticket) pri KDC, tako da bi v zahtevi poslal ime uporabnika 'root' namesto 'root$'. KDC, če ne bi našel uporabnika 'root', bi obravnaval zahtevo v kontekstu uporabnika 'root$' in izdal mandat, ki bi se lahko uporabil za povezovanje kot uporabnik root prek SSH ali NFS do Linux strežnika s SSSD.
- V KDC je bila dodana obvozna možnost zaščite pred napadi 'dollar ticket' za konfiguracije z izključenimi obveznimi zahtevami kanonizacije imen ('kdc require canonicalization = no', kar je privzeto). Privzeto, če odjemalec ni zahteval izvajanja kanonizacije in preverjeno ime ni bilo najdeno, strežnik izvede dodatno preverjanje, tako da doda znak '$' k imenu. S pomočjo nove nastavitve 'kdc name match implicit dollar without canonicalization = no' je mogoče onemogočiti to vedenje in izvajati samo natančna preverjanja (v kontekstu zgoraj omenjenega napada strežnik ne bo preverjal imena 'root$' pri zahtevi 'root').
- V Heimdal KDC je privzeto omogočeno pošiljanje samo kanoniziranih imen storitvam Kerberos (sAMAccountName iz PAC) namesto izvirne vrednosti cname. Za vrnitev starega vedenja je na voljo nastavitev 'krb5 acceptor report canonical client name = no'.
- Za popolno zaščito pred napadi 'dollar ticket' priporočamo nastavitve: strong certificate binding enforcement full kdc always include pac yes kdc require canonicalization yes
- Za blokiranje ranljivosti CVE-2026-20833 je bila metoda šifriranja domene v nastavitvah KDC privzeto spremenjena na AES (nastavitev 'kdc default domain supported enctypes' je nastavljena na 'aes128-cts-hmac-sha1-96 aes256-cts-hmac-sha1-96').
Izvor: opennet.ru
