Dopo 6 mesi di sviluppo, è stata rilasciata la versione 4.24.0 di Samba, che prosegue lo sviluppo del ramo Samba 4 con una completa implementazione di un controller di dominio e di un servizio Active Directory compatibile con l'implementazione. Windows Server e in grado di supportare tutte le versioni supportate da Microsoft Windows-clienti, tra cui Windows Samba 4 è un prodotto server multifunzionale che fornisce anche un server di file, un servizio di stampa e un server di autenticazione (winbind). Il codice del progetto è scritto in C ed è distribuito con licenza GPLv3.
Cambiamenti chiave in Samba 4.24:
- È stato aggiunto un nuovo modulo VFS, vfs_aio_ratelimit, per limitare la frequenza delle operazioni di input/output asincrone (AIO). I limiti possono essere specificati in byte al secondo o operazioni al secondo. Quando il limite specificato viene superato, il modulo introduce dei ritardi artificiali nelle operazioni asincrone per mantenere il limite superiore specificato.
- Il modulo VFS vfs_ceph_new ora supporta il protocollo RPC Keybridge e la modalità FSCrypt per la crittografia di dati e nomi di file nel file system CephFS. La crittografia può essere abilitata per singola directory.
- Nel modulo VFS vfs_streams_xattr, che consente di salvare flussi di dati alternativi NTFS in attributi di file estesi (xattr) in LinuxÈ stata aggiunta l'impostazione "streams_xattr:max xattrs per stream", che determina il numero massimo di attributi estesi (xattr) consentiti per l'archiviazione dei dati. Linux La dimensione degli attributi estesi (xattr) è limitata a 65536 byte, ma XFS consente di associare più di un attributo esteso a un singolo file, permettendo così di utilizzare più attributi estesi per memorizzare fino a 1 MB di dati alternativi.
- È stato implementato il supporto per la verifica delle informazioni relative all'autenticazione. Sono state aggiunte le classi di debug "dsdb_password_audit" e "dsdb_password_json_audit" per riflettere le modifiche agli attributi di Active Directory altSecurityIdentities, dNSHostName, msDS-AdditionalDnsHostName, msDS-KeyCredentialLink e servicePrincipalName nel log.
- Aggiunto il supporto per i sistemi di gestione delle password esterni Microsoft Entra ID e Keycloak, che utilizzano l'operazione di reimpostazione della password (SSPR, reimpostazione password) quando si modifica una password senza trasmettere la vecchia password al controller dominioPer applicare le policy che controllano la scadenza delle password, durante il ripristino delle password vengono passati parametri aggiuntivi ("suggerimenti per le policy delle password"), consentendo di trattare l'operazione come un normale cambio di password. Samba ora tiene conto di questi parametri quando applica le policy locali relative alle password.
- Aggiunto il supporto per il meccanismo di autenticazione Kerberos PKINIT KeyTrust, che consente l'utilizzo del metodo " nei controller di dominio basati su Samba e Heimdal KDC.Windows Ciao per gli accessi Business Key-Trust" per utilizzare il meccanismo di autenticazione PKINIT con chiavi autofirmate. Il comando "user|computer keytrust" è stato aggiunto all'utilità samba-tool per aggiungere e visualizzare la chiave pubblica. Le informazioni sulla chiave pubblica vengono memorizzate nell'account utilizzando l'attributo msDS-KeyCredentialLink.
- È stato aggiunto il supporto per l'estensione del protocollo Kerberos PKINIT per la mappatura delle chiavi ai controller di dominio KDC basati su Samba e Heimdal.Windows Mappature delle chiavi forti e flessibili, utilizzate per l'autenticazione tramite chiave pubblica. Per impostazione predefinita, è consentita solo la mappatura esatta dei certificati ("strong certificate binding enforcement = full"), ma è possibile anche la mappatura flessibile ("strong certificate binding enforcement = compatibility"), che consente l'utilizzo di certificati più recenti rispetto a quelli dell'account utente. I dati di mappatura dei certificati per un account sono memorizzati nell'attributo altSecurityIdentities.
- È stato aggiunto il supporto per l'estensione del protocollo "Kerberos PKINIT SID", che consente l'utilizzo di certificati con Object SID per l'autenticazione. Il comando "user|computer generate-csr" è stato aggiunto all'utilità samba-tool per la firma dei certificati.
- L'implementazione predefinita del KDC (Key Distribution Center) restituisce una struttura PAC (Privilege Attribute Certificate) contenente i dati relativi ai privilegi dell'utente, indipendentemente dal fatto che il campo PA-PAC-REQUEST sia specificato nella richiesta del client. Per ripristinare il comportamento precedente, è disponibile l'impostazione "kdc always generate pac = no".
- Il KDC ha una nuova impostazione chiamata "kdc require canonicalization", che quando è impostata su "yes" richiede al client di richiedere la canonizzazione del nome utente quando accede al server autenticazione (AS_REQ). Se la canonizzazione non è richiesta, il server restituirà l'errore "utente sconosciuto". Nelle reti con utenti che utilizzano il sistema operativo Windows, l'attivazione della nuova impostazione non dovrebbe causare alcun problema, poiché Windows-I client richiedono sempre la canonizzazione per impostazione predefinita.
La canonizzazione obbligatoria aiuta a proteggere dagli attacchi "dollar ticket", che sfruttano il fatto che i nomi utente possono essere specificati in modo diverso ("user" e "user$") ed elaborati in modo diverso nelle rappresentazioni canoniche e non canoniche. L'essenza dell'attacco è che un attaccante potrebbe, ad esempio, creare un account computer denominato "root$" in AD e usarlo per ottenere un ticket dal KDC inviando il nome utente "root" invece di "root$" nella richiesta. Il KDC, non trovando l'utente "root", elaborerebbe la richiesta nel contesto dell'utente "root$" ed emetterebbe un ticket che potrebbe essere utilizzato per connettersi come utente root tramite SSH o NFS a Linux-server con SSSD.
- È stata aggiunta una soluzione alternativa per gli attacchi "dollar ticket" al KDC per le configurazioni con richieste di canonizzazione obbligatoria del nome disabilitate (l'impostazione predefinita è "kdc require canonicalization = no"). Di default, se il client non ha richiesto la canonizzazione e il nome controllato non viene trovato, il server esegue un controllo aggiuntivo aggiungendo il carattere "$" al nome. La nuova impostazione "kdc name match implicit dollar without canonicalization = no" consente di disabilitare questo comportamento ed eseguire solo controlli espliciti (nel contesto dell'attacco sopra menzionato, il server non controllerà il nome "root$" quando richiede "root").
- Per impostazione predefinita, il KDC Heimdal invia ai servizi Kerberos solo i nomi canonizzati (sAMAccountName dal PAC) anziché il valore cname originale. Per ripristinare il comportamento precedente, utilizzare l'impostazione "krb5 acceptor report canonical client name = no".
- Per una protezione completa contro gli attacchi con ticket in dollari, consigliamo di impostare le seguenti opzioni: applicazione rigorosa del binding del certificato, KDC completo, includi sempre PAC, sì, KDC, richiedi canonizzazione, sì.
- Per bloccare la vulnerabilità CVE-2026-20833, il metodo di crittografia del dominio nelle impostazioni KDC predefinite è stato modificato in AES (l'impostazione "kdc default domain supported enctypes" è impostata su "aes128-cts-hmac-sha1-96 aes256-cts-hmac-sha1-96").
Fonte: opennet.ru
