Migração de Samba para Active Directory

Conseguimos provar em Laboratório que é possível realizar uma migração de um diretório baseado em Linux (Samba) para Active Directory, sem desenvolver nenhum tipo de script para importar as informações de um ambiente para o outro. E melhor, sem gerar impactos para o usuário!

Utilizando a ferramenta ADMT 3.0 conseguimos migrar todos os objetos para o Active Directory, baseado em Windows Server 2003.

Nota: Não conseguimos sucesso na utilização da versão 3.1 da ferramenta ADMT para migrar os objetos do Samba para um Active Directory baseado em Windows Server 2008. Portanto, crie um AD baseado na versão Windows 2003 e use o ADMT 3.0. Após a finalização da migração e término da convivência dos ambientes Samba e AD, atualize o AD para a versão 2008.

Considerações importantes para uma migração aonde o domínio de origem é um Samba emulando um PDC NT:

  1. No Samba, deve-se criar um usuário chamado “Administrator”, com as mesmas permissões do usuário “root”, e com a mesma senha do usuário Administrator do domínio de destino;
  2. Para que as estações possam ser migradas, a propriedade “DNS Suffix for this Connection” (em Advanced/DNS) deve estar em branco;
  3. As senhas dos usuários não podem ser migradas do Samba;
  4. O SIDHistory no domínio de destino não pode ser populado (A funcionalidade “tcpipclientsupport” não está disponível no Samba. Com isso, a migração dos SID’s torna-se inviável);
  5. Durante a fase de Convivência dos ambientes, devemos manter a Relação de Confiança aonde o Active Directory confia no Samba.

Para contornar o problema da migração dos SID’s, devemos utilizar uma funcionalidade da Ferramenta ADMT que se chama “Conversor de Segurança”. Esta funcionalidade, basicamente, analisa o sistema operacional em busca de permissões atribuídas a usuários do domínio antigo. Os objetos analisados são:

  • Arquivos e Pastas
  • Grupos Locais
  • Impressoras
  • Registro
  • Compartilhamentos
  • Perfis de Usuário
  • Direitos de Usuario

Para entender como esta funcionalidade funciona, devemos antes analisar a migração de usuários e grupos. O ADMT, no momento da migração entre domínios, cria um banco de dados local que associa as contas do domínio antigo com as do domínio novo, conforme exemplo abaixo:

Usuário Domínio Antigo

Usuário Domínio Novo

<dominioantigo>\contoso

<dominionovo>\contoso

<dominioantigo>\jtraders

<dominionovo>\jtraders

OBS: O mesmo princípio vale para os grupos.

No momento da migração de um computador (seja ele uma estação de trabalho ou um servidor de arquivos), o ADMT envia um agente para o mesmo, e com isso, antes de inserir o computador no novo domínio, o agente analisa todos os objetos citados anteriormente. Ao analisar um objeto qualquer:

  1. Analisa a sua ACL e coleta os usuários que possuem permissões;
  2. Busca no banco de dados do ADMT quem são os novos usuários (do novo domínio) associados a estes usuários do domínio antigo;
  3. Espelha as permissões NTFS do usuário antigo ao usuário novo.

Nota: O Conversor de Segurança não funciona para objetos Built-In do domínio antigo (ex: Domain Admins, etc).

Estratégia para Migração

Nesta estratégia, a ordem de migração do ambiente deve ser:

  1. Todos os Objetos do Samba para o Active Directory;
  2. Migração de todos os Serviços de Rede (Servidores de Arquivos, Aplicações, etc) para o Active Directory;
  3. Migração das estações de trabalho.

Fase de Convivência dos 2 Ambientes

Durante esta fase, os usuários continuarão logando em suas estações com os usuários antigos (Samba). Os usuários continuarão acessando os servidores já migrados para o Active Directory normalmente. Isso é possível devido a relação de Confiança existente entre os 2 domínios, conforme a ilustração abaixo:

image

  1. O usuário realiza a autenticação no domínio Samba;
  2. O usuário tenta acesso ao servidor que está no domínio Active Directory;
  3. O Servidor que recebeu a requisição verifica a credencial do usuário no domínio Samba, via Relação de Confiança;
  4. Após verificação das credenciais, o acesso ao Servidor é liberado para o usuário.

Algumas Informações Importantes para a fase de Convivência:

  • Qualquer usuário que for criado no ambiente deverá ser criado no domínio Samba, e depois ser migrado para o Active Directory via ADMT;
  • Qualquer modificação em membros de grupos deve ser feita no domínio Samba, e depois realizar um “Merge” via ADMT do grupo Modificado;
  • Toda migração deve ocorrer com o mesmo servidor ADMT, então recomendamos o Backup regular deste servidor.

Passos Necessários para Realizar a Migração

É importante ressaltar que todos os passos abaixo devem ser testados em laboratório antes de serem implementados em Produção!

  1. Criar um usuário “Administrator” no domínio Samba, com a mesma senha do usuário “Administrator” do Active Directory, com as mesmas permissões que o usuário “root”;
  2. Criar uma relação de Confiança aonde o Domínio Active Directory confia no domínio Samba;
  3. Instalar o ADMT em um servidor que esteja no domínio Active Directory;
  4. Migrar Grupos para o Active Directory via ADMT;
  5. Migrar Usuários para o Active Directory via ADMT;
  6. Migrar Servidores de Arquivos para o Novo Domínio via ADMT;
  7. Migrar demais Serviços de Rede para o Novo Domínio Active Directory;
  8. Após Migração de todos os serviços de Rede, migrar as estações gradualmente;
  9. Após a Migração de todas as Estações, aguardar estabilização do ambiente;
  10. Após estabilização, desfazer a Relação de Confiança;
  11. Desligue o Servidor Samba!

Abraços;

Guilherme Taliba