Efter 6 månaders utveckling har Samba 4.24.0 släppts, vilket fortsätter utvecklingen av Samba 4-grenen med en fullständig implementering av domänkontrollern och Active Directory-tjänsten, kompatibel med Windows Server-implementeringen och kapabel att betjäna alla stödda Microsoft-versioner av Windows-klienter, inklusive Windows 11. Samba 4 är en multifunktionell serverprodukt som också tillhandahåller en filserver, utskriftstjänst och identitetstjänst (winbind). Projektkoden är skriven i C och distribueras under GPLv3-licensen.
Viktiga förändringar i Samba 4.24:
- En ny VFS-modul vfs_aio_ratelimit har lagts till för att begränsa intensiteten (rate-limit) av asynkron in- och utdata (AIO) operationer. Begränsningar kan anges i byte per sekund eller i operationer per sekund. Vid överskridande av den angivna gränsen börjar modulen införa artificiella fördröjningar i asynkrona operationer för att upprätthålla den angivna övre gränsen.
- I VFS-modulen vfs_ceph_new har stöd för RPC-protokollet Keybridge och FSCrypt-läget lagts till för att kryptera data och filnamn i filsystemet CephFS. Kryptering kan aktiveras på nivå av enskilda kataloger.
- I VFS-modulen vfs_streams_xattr, som möjliggör lagring av alternativa datamängder NTFS (NTFS alternate data stream) i filernas utökade attribut (xattr) i Linux, har en inställning "streams_xattr:max xattrs per stream" lagts till, vilket definierar det tillåtna antalet xattr som används för att lagra data. I Linux är storleken på xattr begränsad till 65536 byte, men filsystemet XFS gör det möjligt att koppla flera xattr till en fil, vilket möjliggör användning av flera xattr för att lagra upp till 1 MB alternativa data.
- Stöd för granskning av information relaterad till autentisering har implementerats. Felsökningsklasserna "dsdb_password_audit" och "dsdb_password_json_audit" har lagts till för att registrera ändringar av attribut i Active Directory i loggen: altSecurityIdentities, dNSHostName, msDS-AdditionalDnsHostName, msDS-KeyCredentialLink och servicePrincipalName.
- Stöd för externa lösenordshanteringssystem Microsoft Entra ID och Keycloak har lagts till, som använder ett lösenordsåterställningsförfarande (SSPR, password reset) vid ändring av lösenord utan att överföra det gamla lösenordet till kontrollern. domän. För att följa riktlinjer som reglerar lösenordens giltighetstid, skickas ytterligare parametrar ("password policy hints") vid återställning av lösenordet, vilket gör att operationen kan behandlas som en vanlig lösenordsändring. Nu tar Samba hänsyn till sådana parametrar vid tillämpning av relaterade lokala lösenordspolicys.
- Stöd för autentiseringsmekanismen Kerberos PKINIT KeyTrust har lagts till, vilket gör det möjligt för domänkontrollanter baserade på Samba och Heimdal KDC att använda metoden "Windows Hello for Business Key-Trust logons" för att tillämpa autentiseringsmekanismen PKINIT med självsignerade nycklar. För att lägga till och visa den offentliga nyckeln har kommandot "user|computer keytrust" lagts till i verktyget samba-tool. Information om den offentliga nyckeln sparas i kontot med hjälp av attributet msDS-KeyCredentialLink.
- Stöd för Kerberos PKINIT-protokollets tillägg för nyckelmappning ("Windows Strong and Flexible key mappings") har lagts till i domänkontrollanter baserade på Samba och Heimdal KDC, vilket används vid autentisering med offentliga nycklar. Som standard tillåts endast exakt matchning av certifikat ("strong certificate binding enforcement = full"), men flexibel matchning ("strong certificate binding enforcement = compatibility") är också möjlig, vilket tillåter nyare certifikat än användarkontot. Information om certifikatmappning för kontot sparas i attributet altSecurityIdentities.
- Stöd för tillägget "Kerberos PKINIT SID" har lagts till, vilket gör det möjligt att använda certifikat med ett Object SID vid autentisering. För att signera certifikat har kommandot "user|computer generate-csr" lagts till i verktyget samba-tool.
- I implementationen av KDC (Key Distribution Center) återges som standard strukturen PAC (Privilege Attribute Certificate), som innehåller information om användarens behörigheter, oavsett om fältet PA-PAC-REQUEST anges i klientens begäran. För att återställa det gamla beteendet finns inställningen "kdc always generate pac = no".
- I KDC har inställningen "kdc require canonicalization" lagts till, vilket innebär att när den sätts till "yes" måste klienten begära att användarnamnet kanoniseras vid begäran om autentisering (AS_REQ). Om kanonisering inte begärs kommer servern att returnera ett felmeddelande "användaren är okänd". I nätverk med användare som använder Windows OS bör aktiveringen av den nya inställningen inte orsaka problem, eftersom Windows-klienter som standard alltid begär kanonisering. servern аутентификации (AS_REQ). Если канонизация не запрошена, сервер вернёт ошибку «пользователь неизвестен». В сетях с пользователями, использующими ОС Windows, активация новой настройки не должно вызвать проблем, так как Windows-клиенты по умолчанию всегда запрашивают канонизацию.
Obligatorisk kanonisering skyddar mot "dollar ticket"-attacker, som manipulerar med att användarnamn kan anges på olika sätt ("user" och "user$") och bearbetas olika i den kanoniserade och vanliga representationen. Attackens kärna är att en gärningsman skulle kunna skapa ett datoranvändarkonto i AD med namnet "root$" och använda det för att få en mandat (ticket) från KDC, genom att i förfrågan ange användarnamnet "root" istället för "root$". KDC skulle, eftersom den inte hittar användaren "root", bearbeta förfrågan i kontexten av användaren "root$" och utfärda en mandat som kan användas för att ansluta som användaren root via SSH eller NFS till en Linux-server med SSSD.
- I KDC har en omväg för skydd mot "dollar ticket"-attacker lagts till för konfigurationer med obligatoriska kanoniseringar av namn avstängda ("kdc require canonicalization = no", gäller som standard). Som standard, om klienten inte begär att kanonisering ska utföras och det kontrollerade namnet inte hittas, genomför servern en ytterligare kontroll genom att fästa symbolen "$" till namnet. Med den nya inställningen "kdc name match implicit dollar without canonicalization = no" kan detta beteende inaktiveras och endast exakta kontroller utföras (i kontexten av ovan nämnda attack, kommer servern inte att kontrollera namnet "root$" vid förfrågan om "root").
- I Heimdal KDC är avsändningen av tjänster Kerberos endast kanoniserade namn (sAMAccountName från PAC) aktiverad som standard istället för det ursprungliga värdet cname. För att återgå till det gamla beteendet finns inställningen "krb5 acceptor report canonical client name = no".
- För att fullt ut skydda mot "dollar ticket"-attacker rekommenderas inställningar: strong certificate binding enforcement full, kdc always include pac yes, kdc require canonicalization yes.
- För att blockera sårbarheten CVE-2026-20833 har metoden för domänkryptering i KDC:s inställningar ändrats till AES som standard (inställningen "kdc default domain supported enctypes" är inställd på "aes128-cts-hmac-sha1-96 aes256-cts-hmac-sha1-96").
Källa: opennet.ru
