Após 6 meses de desenvolvimento, foi lançado o Samba 4.21.0, que continua o desenvolvimento da série Samba 4 com a implementação completa do controlador de domínio e do serviço Active Directory, compatível com a implementação do Windows 2008 e capaz de atender todas as versões dos clientes Windows suportadas pela Microsoft, incluindo o Windows 11. O Samba 4 é um produto de servidor multifuncional que também oferece a implementação de um servidor de arquivos, serviço de impressão e servidor de identificação (winbind).
Principais mudanças no Samba 4.20:
- A segurança no processamento das listas 'valid users', 'invalid users', 'read list' e 'write list' foi reforçada. Se, devido a um erro de transmissão de dados, não foi possível determinar o SID pelo nome do usuário ou do grupo, a entrada problemática nas listas não é ignorada, mas resulta em uma mensagem de erro. Usuários e grupos inexistentes são ignorados.
- Em servidor Foi implementada a autenticação LDAP com SASL através de Kerberos ou NTLMSSP com encaminhamento de conexões sobre TLS (ldaps ou starttls). O valor padrão da configuração 'ldap server require strong auth' agora implica o uso de SASL sobre TLS, o que é equivalente a definir LdapEnforceChannelBinding nas configurações do NTDS na plataforma Windows.
- A implementação do banco de dados LDB, usado no Samba AD DC, agora é compilada na forma de uma biblioteca pública sem a criação de um arquivo tar separado. Foi removida a ligação com a API de Módulos LDB para Python, que não estava funcionando há vários anos. O processamento de Unicode no LDB foi modificado.
- Algumas bibliotecas públicas do Samba (dcerpc-samr, samba-policy, tevent-util, dcerpc, samba-hostconfig, samba-credentials, dcerpc_server e samdb) foram, por padrão, convertidas para internas (privadas).
- Foi adicionado suporte ao uso de ldaps a partir do 'winbindd' e 'net ads'. Na configuração 'client ldap sasl wrapping', foi incluído suporte aos valores 'starttls' para uso do STARTTLS na porta tcp 389 e 'ldaps' para uso do TLS na porta tcp 636.
- Foi adicionada uma nova opção 'dns hostname' para definir o nome do cliente no DNS (por padrão 'netbios name.realm').
- No Samba AD, a rotação de senhas expiradas para contas que usam cartões inteligentes (com a configuração 'smart card require for logon') foi implementada, e a senha é aplicada como uma alternativa de reserva ao reverter para NTLM ou para criptografar o perfil local.
- Foi permitido definir as configurações 'veto files' e 'hide files' vinculadas a usuários e grupos específicos. Por exemplo, 'hide files: USERNAME = /somefile.txt/'.
- A atualização automática do keytab foi garantida após a troca da senha usada para autenticar o computador no domínio (senha da máquina).
- Adicionado um novo módulo VFS para o sistema de arquivos Ceph, que utiliza a API de baixo nível libcephfs, permitindo alcançar um desempenho superior em comparação ao módulo cephfs existente. Para configurar o novo módulo no smb.conf, deve-se usar o nome 'ceph_new' em vez de 'ceph'.
- Adicionado suporte a contas gerenciadas gMSA (Group Managed Service Account), correspondente ao nível funcional dos serviços de domínio do Active Directory 2012 (Functional Level 2012). A ferramenta samba-tool incluiu comandos para trabalhar com as chaves raiz gMSA (KDS), como 'samba-tool domain kds root_key create' e 'samba-tool domain kds root_key list'.
- Implementado suporte ao nível funcional dos serviços de domínio do Active Directory 2012R2 (Functional Level 2012R2).
- Foi feito trabalho para garantir builds reproduzíveis, permitindo verificar que o arquivo binário foi compilado a partir dos códigos fonte fornecidos. Por exemplo, o resultado da compilação agora não depende das configurações de localidade e do diretório onde a compilação foi realizada.
- Adicionada proteção contra a exposição de dados confidenciais em /proc, que são informados durante a chamada de utilitários Samba, para que esses dados não apareçam na saída do ps ou top.
Fonte: opennet.ru
