Selepas 6 bulan pembangunan, Samba 4.24.0 telah dikeluarkan, meneruskan pembangunan cabang Samba 4 dengan pelaksanaan penuh pengawal domain dan perkhidmatan Active Directory yang serasi dengan pelaksanaan tersebut. Windows Server dan mampu menyokong semua versi yang disokong oleh Microsoft Windows-pelanggan, termasuk Windows Samba 4 ialah produk pelayan pelbagai fungsi yang juga menyediakan pelayan fail, perkhidmatan cetak dan pelayan pengesahan (winbind). Kod projek ditulis dalam C dan diedarkan di bawah lesen GPLv3.
Perubahan utama dalam Samba 4.24:
- Modul VFS baharu, vfs_aio_ratelimit, telah ditambah untuk mengehadkan kadar operasi input/output tak segerak (AIO). Had boleh ditentukan dalam bait sesaat atau operasi sesaat. Apabila had yang ditentukan dilampaui, modul akan mula memperkenalkan kelewatan buatan ke dalam operasi tak segerak untuk mengekalkan had atas yang ditentukan.
- Modul VFS vfs_ceph_new kini menyokong protokol Keybridge RPC dan mod FSCrypt untuk menyulitkan data dan nama fail dalam sistem fail CephFS. Penyulitan boleh diaktifkan berdasarkan setiap direktori.
- Dalam modul VFS vfs_streams_xattr, yang membolehkan anda menyimpan strim data alternatif NTFS dalam atribut fail lanjutan (xattr) dalam Linux, tetapan "streams_xattr:max xattrs per strim" telah ditambah, yang menentukan bilangan xattr yang dibenarkan digunakan untuk menyimpan data. Linux Saiz xattr dihadkan kepada 65536 bait, tetapi XFS membenarkan lebih daripada satu xattr dikaitkan dengan satu fail, membolehkan berbilang xattr digunakan untuk menyimpan sehingga 1 MB data alternatif.
- Sokongan untuk mengaudit maklumat berkaitan pengesahan telah dilaksanakan. Kelas debug "dsdb_password_audit" dan "dsdb_password_json_audit" telah ditambah untuk mencerminkan perubahan pada atribut Active Directory altSecurityIdentities, dNSHostName, msDS-AdditionalDnsHostName, msDS-KeyCredentialLink dan servicePrincipalName dalam log.
- Menambah sokongan untuk sistem pengurusan kata laluan luaran Microsoft Entra ID dan Keycloak, yang menggunakan operasi penetapan semula kata laluan (SSPR) apabila menukar kata laluan tanpa menghantar kata laluan lama kepada pengawal domainUntuk menguatkuasakan dasar yang mengawal tamat tempoh kata laluan, parameter tambahan ("petunjuk dasar kata laluan") diberikan semasa penetapan semula kata laluan, membolehkan operasi dianggap sebagai perubahan kata laluan biasa. Samba kini mengambil kira parameter ini apabila menggunakan dasar setempat berkaitan kata laluan.
- Sokongan untuk mekanisme pengesahan Kerberos PKINIT KeyTrust telah ditambah, yang membolehkan penggunaan kaedah " dalam pengawal domain berasaskan Samba dan Heimdal KDC.Windows "Helo untuk Log Masuk Kekunci-Kepercayaan Perniagaan" untuk menggunakan mekanisme pengesahan PKINIT dengan kunci yang ditandatangani sendiri. Perintah "pengguna|kekunci kekunci komputer" telah ditambahkan pada utiliti samba-tool untuk menambah dan melihat kunci awam. Maklumat kunci awam disimpan dalam akaun menggunakan atribut msDS-KeyCredentialLink.
- Sokongan untuk sambungan protokol Kerberos PKINIT untuk pemetaan kunci telah ditambah pada pengawal domain berasaskan Samba dan Heimdal KDC.Windows Pemetaan Kekunci yang Kukuh dan Fleksibel, digunakan untuk pengesahan kunci awam. Secara lalai, hanya pemetaan sijil yang tepat dibenarkan ("penguatkuasaan pengikatan sijil yang kuat = penuh"), tetapi pemetaan fleksibel ("penguatkuasaan pengikatan sijil yang kuat = keserasian") juga mungkin, membenarkan sijil yang lebih baharu daripada akaun pengguna. Data pemetaan sijil untuk akaun disimpan dalam atribut altSecurityIdentities.
- Sokongan untuk sambungan protokol "Kerberos PKINIT SID" telah ditambah, membolehkan penggunaan sijil dengan Object SID untuk pengesahan. Arahan "user|computer generate-csr" telah ditambah pada utiliti samba-tool untuk menandatangani sijil.
- Pelaksanaan KDC (Pusat Pengedaran Kunci) lalai mengembalikan struktur PAC (Sijil Atribut Keistimewaan) yang mengandungi data keistimewaan pengguna, tanpa mengira sama ada medan PA-PAC-REQUEST dinyatakan dalam permintaan klien atau tidak. Untuk kembali kepada tingkah laku sebelumnya, tetapan "kdc always generate pac = no" tersedia.
- KDC mempunyai tetapan baharu yang dipanggil "kdc memerlukan kanonikalisasi", yang apabila ditetapkan kepada "ya" memerlukan klien meminta kanonikalisasi nama pengguna semasa mengakses pelayan pengesahan (AS_REQ). Jika pengkanonikan tidak diminta, pelayan akan mengembalikan ralat "pengguna tidak diketahui". Dalam rangkaian dengan pengguna yang menggunakan OS Windows, mengaktifkan tetapan baharu tidak sepatutnya menyebabkan sebarang masalah, kerana Windows-pelanggan sentiasa meminta kanonikalisasi secara lalai.
Pengkanonikan mandatori membantu melindungi daripada serangan "tiket dolar", yang mengeksploitasi fakta bahawa nama pengguna boleh ditentukan secara berbeza ("pengguna" dan "pengguna$") dan diproses secara berbeza dalam perwakilan yang dikanonikan dan bukan kanonik. Intipati serangan ini ialah penyerang boleh, sebagai contoh, mencipta akaun komputer bernama "root$" dalam AD dan menggunakannya untuk mendapatkan tiket daripada KDC dengan menghantar nama pengguna "root" dan bukannya "root$" dalam permintaan. KDC, yang tidak menemui pengguna "root," akan memproses permintaan dalam konteks pengguna "root$" dan mengeluarkan tiket yang boleh digunakan untuk menyambung sebagai pengguna root melalui SSH atau NFS ke Linux-pelayan dengan SSSD.
- Penyelesaian untuk serangan "tiket dolar" telah ditambah pada KDC untuk konfigurasi dengan permintaan kanonikalisasi nama mandatori dilumpuhkan ("kdc memerlukan kanonikalisasi = tidak" diaktifkan secara lalai). Secara lalai, jika klien tidak meminta kanonikalisasi dan nama yang sedang diperiksa tidak dijumpai, pelayan akan melakukan pemeriksaan tambahan dengan menambahkan aksara "$" pada nama tersebut. Tetapan baharu "kdc name match implicit dollar without canonicalization = tidak" membolehkan anda melumpuhkan tingkah laku ini dan hanya melakukan pemeriksaan eksplisit (dalam konteks serangan yang dinyatakan di atas, pelayan tidak akan menyemak nama "root$" semasa meminta "root").
- Secara lalai, Heimdal KDC hanya menghantar nama yang dikanonikkan (sAMAccountName daripada PAC) kepada perkhidmatan Kerberos dan bukannya nilai cname asal. Untuk kembali kepada tingkah laku lama, gunakan tetapan "krb5 acceptor report canonical client name = no".
- Untuk perlindungan lengkap terhadap serangan tiket dolar, kami mengesyorkan menetapkan tetapan berikut: penguatkuasaan pengikatan sijil yang kuat, kdc penuh, sentiasa sertakan pac, ya, kdc, memerlukan kanonikalisasi, ya.
- Untuk menyekat kerentanan CVE-2026-20833, kaedah penyulitan domain dalam tetapan KDC lalai telah ditukar kepada AES (tetapan "entipe sokongan domain lalai kdc" ditetapkan kepada "aes128-cts-hmac-sha1-96 aes256-cts-hmac-sha1-96").
Sumber: opennet.ru
