Po 6 miesiącach prac rozwojowych zaprezentowano wydanie Samba 4.21.0, kontynuujące rozwój gałęzi Samba 4 z pełną implementacją kontrolera domeny i usługi Active Directory, zgodnej z realizacją Windows 2008 i zdolnej do obsługi wszystkich wspieranych wersji klientów Windows, w tym Windows 11. Samba 4 jest wielofunkcyjnym produktem serwerowym, oferującym także implementację serwera plików, usługi druku oraz serwera identyfikacji (winbind).
Kluczowe zmiany w Samba 4.20:
- Zwiększono bezpieczeństwo obsługi list 'valid users', 'invalid users', 'read list' oraz 'write list'. Jeśli z powodu błędu transmisji danych nie uda się określić SID na podstawie nazwy użytkownika lub grupy, problematyczny wpis na listach nie jest ignorowany, a prowadzi do wyświetlenia błędu. Nieistniejący użytkownicy i grupy są ignorowane.
- W serwerze W LDAP wdrożono możliwość uwierzytelniania za pomocą SASL przez Kerberos lub NTLMSSP z przekazywaniem połączeń przez TLS (ldaps lub starttls). Domyślna wartość ustawienia 'ldap server require strong auth' teraz zakłada użycie SASL przez TLS, co odpowiada ustawieniu LdapEnforceChannelBinding w parametrach NTDS na platformie Windows.
- Implementacja bazy danych LDB, używanej w Samba AD DC, teraz jest kompilowana w formie publicznej biblioteki bez tworzenia oddzielnego archiwum tar. Usunięto powiązanie z LDB Modules API dla Pythona, które od kilku lat jest nieczynne. Zmieniono obsługę Unicode w LDB.
- Niektóre publiczne biblioteki Samba (dcerpc-samr, samba-policy, tevent-util, dcerpc, samba-hostconfig, samba-credentials, dcerpc_server oraz samdb) zostały domyślnie przeniesione do kategorii wewnętrznych (private).
- Wprowadzono możliwość wykorzystania ldaps z 'winbindd' oraz 'net ads'. Do ustawienia 'client ldap sasl wrapping' dodano wsparcie dla wartości 'starttls' do użycia STARTTLS na porcie tcp 389 oraz 'ldaps' do użycia TLS na porcie tcp 636.
- Dodano nową opcję 'dns hostname' do ustawienia nazwy klienta w DNS (domyślnie '[netbios name].[realm]').
- W Samba AD wdrożono rotację przestarzałych haseł dla kont, dla których logowanie odbywa się za pomocą kart inteligentnych (zdefiniowano ustawienie 'smart card require for logon'), a hasło jest stosowane jako opcja zapasowa podczas przejścia na NTLM lub do szyfrowania lokalnego profilu.
- Zezwolono na definiowanie ustawień 'veto files' oraz 'hide files' w odniesieniu do poszczególnych użytkowników i grup. Na przykład, 'hide files : USERNAME = /somefile.txt/'.
- Automatyczna aktualizacja keytab została zapewniona po zmianie hasła używanego do uwierzytelniania komputera w domenie (hasło maszyny).
- Dodano nowy moduł VFS dla systemu plików Ceph, wykorzystujący niskopoziomowe API libcephfs, co pozwala na osiągnięcie wyższej wydajności w porównaniu do istniejącego modułu cephfs. Aby skonfigurować nowy moduł w smb.conf, należy użyć nazwy 'ceph_new' zamiast 'ceph'.
- Dodano wsparcie dla zarządzanych kont gMSA (Group Managed Service Account), odpowiadające funkcjonalnemu poziomowi usług domenowych Active Directory 2012 (Functional Level 2012). Do narzędzia samba-tool dodano polecenia do pracy z kluczami głównymi gMSA (KDS), takie jak „samba-tool domain kds root_key create” i „samba-tool domain kds root_key list”.
- Zrealizowano wsparcie dla funkcjonalnego poziomu usług domenowych Active Directory 2012R2 (Functional Level 2012R2).
- Przeprowadzono prace nad zapewnieniem powtarzalnych kompilacji, które pozwalają na upewnienie się, że plik binarny został zbudowany z dostarczonych źródeł. Na przykład, wynik kompilacji nie zależy już od ustawień lokalnych i katalogu, w którym dokonano kompilacji.
- Dodano zabezpieczenie przed odzwierciedlaniem w /proc poufnych danych, które są podawane podczas wywoływania narzędzi Samba, aby te dane nie były widoczne w wyjściu ps ani top.
Źródło: opennet.ru
