Samba com Active Directory: estamos chegando mais perto

Samba with Active Directory: getting closer
Autor original: Don Marti
Publicado originalmente no:
lwn.net
Tradução: Roberto Bechtlufft

logo

Sob um certo ponto de vista, o Samba é um exemplo perfeito de drama do código aberto: foi um dos primeiros a adotar a versão 3 da GPL, e foi o destinatário de uma liberação sem precedentes de documentação outrora proprietária da Microsoft, graças a um caso antitruste de grande notoriedade. Mas quem de fato implementa o protocolo de compartilhamento de arquivos SMB (também conhecido como CIFS) é um software que trabalha nos bastidores. O Samba move todos os dispositivos NAS mais baratos do mercado, mas nem sequer é mencionado nas embalagens. Ele está incluso em todas as distribuições Linux comuns, e também no Mac OS X Server da Apple Hoje, com o Samba mais próximo de implementar um importante protocolo de diretórios da Microsoft, esses dois aspectos se misturam.

O criador do Samba, Andrew Tridgell, mais conhecido como Tridge, postou em seu blog: “O desenvolvimento dos recursos de servidor de diretório do Samba4 vem mostrando muitos progressos ultimamente.” Em uma apresentação de vídeo de meia hora, ele demonstrou uma versão de desenvolvimento do Samba atuando como controladora de domínio do Microsoft Active Directory em um ambiente misto. “Estamos progredindo muito rapidamente agora”, ele acrescentou.

O Active Directory (AD) é um repositório central para todas as informações administrativas que um site moderno do Microsoft Windows precisa. Além de lidar com nomes de usuário e senhas, o AD funciona como um servidor DNS, armazena diretivas de configuração da rede, como as regras do firewall, e atua como backend para a configuração de aplicativos. O Microsoft Exchange, por exemplo, depende totalmente dele.

O AD é composto de “domínios”, que são estruturas de dados que contêm grupos de objetos que podem representar tudo, de uma única impressora a todo a equipe de vendas de uma empresa. Esses domínios podem ser agrupados em “florestas”. Uma empresa pode ter vários domínios em uma floresta, e tudo o que estiver na floresta pode ser gerenciado pelos mesmos administradores. Como o AD é um serviço importantíssimo, os sites do Windows geralmente instalam vários servidores do AD, que replicam seus dados usando um protocolo que já foi secreto.

A equipe do Samba recebeu a documentação do Active Directory, incluindo o protocolo servidor a servidor, como parte de um acordo realizado em resposta a um caso antitruste da Comissão Europeia em 2007. De acordo com Tridge, os documentos ajudaram o projeto:

Stefan Metzmacher conseguiu decodificar partes muito importantes do protocolo enquanto trabalhava em sua tese, mas ainda faltam algumas peças importantes do quebra-cabeça. A documentação da Microsoft nos deu muitas dessas peças, e o que talvez seja ainda mais importante, a Microsoft tem se mostrado muito disposta a nos ajudar quanto encontramos alguma lacuna, inclusive trabalhando em registros resultantes de “conversas” entre o Samba e controladores de domínio do Windows, para que possamos depurar nossa implementação.

O projeto de documentação foi um projeto enorme da parte da Microsoft. Tridge o descreve assim:

Acho que seria justo dizer que o trabalho de documentação do WSPP/MCPP é um dos maiores trabalhos de documentação de protocolos de rede da história da TI. É inevitável que um trabalho dessa magnitude não contenha erros e omissões. Estamos satisfeitos com as respostas da Microsoft a nossos relatórios de erros; sempre que necessário, eles nos fornecem documentação extra.

No vídeo, Tridge demostra o provisionamento de um domínio do Active Directory em um servidor Samba, executando uma versão de desenvolvimento do Samba um pouco anterior ao Samba 4 alpha 11. Depois de iniciada a execução do servidor Samba, ele inicia uma cópia do Microsoft Windows Server 2008R2 Standard como convidado no VirtualBox, e executa o comando “dcpromo” no Windows para que ele ingresse no domínio como controlador de domínio.

Depois de poucos cliques no “Assistente para Instalação de Serviços de Domínio do Active Directory”, o Windows está pronto para reiniciar como parte do domínio criado originalmente no Samba. A sincronização de informações importantes no domínio recém-criado leva uns 30 segundos. Essa etapa pode levar horas em um domínio maior e que esteja em execução há mais tempo.

Se comparado ao servidor AD do Windows, o Samba 4 tem algumas limitações. Só há um domínio por floresta, e apenas um site por domínio, mas Tridge diz que remover essas limitações é tarefa para um futuro próximo. Os administradores do Windows, como todo sysadmin, se enquadram no especto “aglutinadores” x “separadores”, e qualquer sysadmin que não seja um aglutinador extremo com configurações simples vai precisar ser capaz de definir domínios separados, para departamentos e funções, e sites separados, para localidades físicas.

A etapa manual remanescente é adicionar o controlador de domínio do Windows ao arquivo de zonas do servidor DNS. O Active Directory da Microsoft cuida de todas as tarefas de DNS, enquanto o Samba depende do servidor de nomes do sistema. Uma mudança em um domínio do AD do Samba exige uma mudança correspondente em um arquivo de zonas no servidor de nomes. “O Samba 4 ainda não permite criar nomes DNS arbitrários em um servidor Bind9 usando solicitações de DNS autenticadas via Kerberos”, diz ele. “A Microsoft armazena o DNS no Active Directory. Não podemos ingressar um controlador de domínio do Windows como um novo servidor DNS, então temos que depender de máquinas Unix fornecendo o DNS”, ele acrescenta. Depois de gravar a apresentação em vídeo, Tridge escreveu um script para automatizar as alterações necessárias do arquivo de zonas.

O vídeo de Tridge mostra o Windows sincronizando com o servidor Samba, e um usuário adicionado no Windows aparece rapidamente em uma pesquisa do servidor Samba. O Samba 4 também pode ingressar em um domínio do AD já existente. A ferramenta “vampire” é o equivalente do Samba ao comando “dcpromo” no Windows. Tridge demonstrou o uso da ferramenta para adicionar um segundo servidor Samba ao domínio, tendo como resultado um domínio com dois servidores Samba e um servidor Windows. Essa capacidade significa que um administrador logo poderá adicionar uma “appliance” do Samba a uma rede existente do AD, reduzindo a quantidade de servidores do Windows necessários.

A integração e o conceito do “Franky”

O Samba 4 é uma reescrita ambiciosa, em progresso desde 2003. Por sua vez, o Samba 3 teve várias versões com melhorias incrementais, e no momento funciona bem como membro, mas não como controlador de domínio do Active Directory. O Samba 3 está “cada vez mais perto da compatibilidade com o Windows em carimbos de data/hora e ACLs do Windows. Está ficando cada vez mais difícil nos diferenciar do Windows”, disse Jeremy Allison, integrante da equipe do Samba. Graças ao uso extensivo e aos relatórios de bugs, o Samba 3 tornou-se capaz de lidar com idiossincrasias de clientes reais, enquanto o Samba 4 se foca no grande problema do AD mas não com as agruras do dia a dia de ambientes de produção.

Tridge diz que, além do trabalho que falta no AD, “também temos que descobrir exatamente como atingir nosso objetivo estabelecido de reintegrar o ótimo trabalho de impressão e compartilhamento de arquivos feito no Samba3 ao trabalho de suporte ao servidor do Active Directory do Samba4.”

Os desenvolvedores do Samba vêm discutindo ideias para combinar a nova funcionalidade do Samba 4 ao código do Samba 3. Um design de projeto combinado, chamado de “Franky“, apelido de “Frankenstein”, rodaria o Samba 3, escutando nas portas SMB (139 e 445), e também o Samba 4, escutando nas portas necessárias para suporte ao AD. Outra alternativa seria executar o Samba3, mas passar as solicitações relacionadas ao AD para o Samba4. “É óbvio que vai ser preciso muito trabalho para que esse trabalho combinado funcione, mas achamos que em 2010 isso será possível”, disse Jeremy no blog da equipe do Samba.

Tridge acrescentou:

Precisamos voltar a ter um único componente de servidor de arquivos comum e um componente de impressão. A carga imposta à equipe para lidar com duas implementações do componente de servidor de arquivos é grande demais. Uma maneira de se fazer isso é através de uma abordagem parecida com a do “Franky”, mas há uma desvantagem considerável: a implementação e a administração do Samba ficam mais difíceis. Precisamos pensar em como facilitar as coisas para os administradores, e ao mesmo tempo oferecer o melhor conjunto de recursos das duas versões.

“Minha expectativa é a de um debate acalorado na SambaXP deste ano”, disse John Terpstra, integrante da equipe e arquiteto-chefe de software da ClearCenter, que produz uma distribuições administrada via web para pequenas e médias empresas. A conferência SambaXP está marcada para ocorrer de 3 a 7 de maio em Göttingen, na Alemanha.

Licenciamento e downstream

O Samba com Active Directory ainda não está nos planos do downstream. Simo Sorce, engenheiro-chefe de software da Red Hat e mantenedor dos pacotes do Samba para o Fedora, disse que o projeto pretende incluir o Samba 3.5.0 no Fedora 13, se ele estiver pronto a tempo. Mas o AD ainda é para o futuro. Em futuras versões, diz ele, “vamos esperar até que a solução esteja suficientemente estável para que as atualizações não resultem em quebradeira em potencial nos seus servidores”.

O ClearOS da ClearCenter combina gateway de rede a filtragem de email, web e VPN, servidor de arquivos Samba, groupware Kolab e ferramentas de administração via web em um pacote feito para que revendedores o implementem em escritórios de filiais e pequenas empresas. O Samba é parte vital do produto da empresa, que compete com o Microsoft Small Business Server, só que com uma taxa de inscrição mensal no lugar do preço da licença. O ClearOS é baseado no CentOS, uma recompilação do Red Hat Enterprise Linux, mas traz o Samba 3.4 no lugar do pacote 3.0 do CentOS. “O ClearOS 6 vai sair pouco depois do lançamento do Samba 4“, diz John.

O Samba adotou a versão 3 da GPL em 2007. Um efeito da nova licença é que revendedores do Samba estão proibidos de participarem de novos acordos de licença de patentes que cubram o Samba, como o controverso acordo de patentes da Novell com a Microsoft de 2006. A mudança de licença do Samba não afeta a Novell, cujo contrato é anterior à data de corte da GPLv3, mas de acordo com o site do Samba, “acordos de patentes realizados após o dia 28 de março de 2007 são explicitamente incompatíveis com a licença se forem considerados “discriminatórios” sob a seção 11 da GPLv3.”

Não surgiu nenhum fork do Samba compatível com a GPLv2, e segundo Jeremy, a mudança de licença “foi essencialmente livre de problemas”. Os revendedores incluem o Samba em tudo, de pequenos dispositivos NAS que se conectam a uma unidade USB até o Scale Out File Services da IBM, que roda o Samba em clusters sobre o sistema de arquivos proprietário GPFS da IBM. “O Samba transforma o servidor CIFS em uma commodity, fazendo com que as pessoas possam competir em sistemas de arquivos em clusters escalonados de backends”, diz Jeremy.

Todo o código do Samba está coberto por direitos autorais individuais, sem atribuições. “É completamente impossível adquirir esses direitos”, conta Jeremy. “Ninguém tem como obter vantagem sobre outros no código do Samba.” Como parte do acordo com a Microsoft, a empresa deve revelar todas as patentes que julgar necessárias para a implementação dos protocolos, e nenhuma patente foi adicionada à lista desde o acordo. Segundo Jeremy, a Microsoft tem se mostrado “muita cautelosa com a quebra da compatibilidade.” A Microsoft se certificou de que o Windows 7 funcionaria com um controlador de domínio do Samba 3.” Ele acrescenta ainda que a Microsoft encerrou o suporte ao Windows NT 4, o último de seus sistemas operacionais a implementar o velho sistema NTDS, no fim de 2004, e que o Windows 7 não funciona com um controlador de domínio NT4.

Participe

Como era de se esperar, a equipe do Samba precisa de ajuda. Tridge faz um convite aos novos contribuidores: “Entrem no canal de IRC #samba-technical (na rede Fmailing listreeNode, irc.freenode.net), inscrevam-se na lista de discussão samba-technical e envolvam-se com o processo de desenvolvimento. Aponte suas prioridades para a implementação do Samba4, e ajude-nos a organizar as prioridades de nosso desenvolvimento de acordo com suas necessidades.”

Jeremy pede a possíveis redistribuidores e fornecedores de appliances SMB que trabalhem nas funcionalidades que eles imaginam que lhes serão necessárias. “Se você planeja lançar um novo produto nos próximos 18 meses, envolva-se o quanto antes, pois isso vai aumentar suas chances de conduzir o Samba na direção que você precisa. Se para você o Samba precisa interagir com um sistema de arquivos em especial, dê-nos um módulo VFS que nos permita fazer isso”, diz Jeremy. As contribuições ao Samba devem ser licenciadas sob a GPLv3, mas a equipe quer ser capaz de rodar o Samba no sistema de arquivos em cluster da preferência do usuário.

Como Jeremy disse em seu post, “Depois da fusão da base de código, vamos declarar vitória, lançar o Samba4 e ter a maior festa de lançamento desde que Duke Nuken Forever foi lançado e revolucionou os jogos de computador! :-).” O Samba 3 funciona bem como servidor de arquivos essencial, e o Samba 4 está conquistando novos territórios no protocolo da Microsoft, mas cedo ou tarde, de um jeito ou de outro, voltaremos a ter um único Samba.

Créditos a Don Martilwn.net
Tradução por Roberto Bechtlufft <info at bechtranslations.com.br>

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X