Um host Unix pode obter keytabs do Kerberos para outro host do Active Directory?

1

Usamos o Puppet para configurar nossos servidores, mas a criação de keytabs do Kerberos para eles é atualmente um processo manual. Gostaríamos que os keytabs Kerberos das máquinas Unix fossem automaticamente gerados, quando a máquina fosse primeiro bootstrap.

Os vários tutoriais (como this ) explica como um keytab pode ser obtido pela nova máquina em si - mas isso requer o Samba e outras ferramentas, que gostaríamos de evitar instalar.

Uma máquina Unix existente pode solicitar um keytab para outra máquina Unix do servidor AD? Como? Temos que codificar (talvez, usando a API do Python do Samba4 - mal documentada no momento), ou isso pode ser conseguido com as ferramentas existentes?

    
por Mikhail T. 08.06.2016 / 23:22

2 respostas

1

Ok, primeiro de tudo, obrigado a @ Jason-Walker pelo ponteiro em kclient - uma implementação típica da Sun (funcional mas feia) em ksh com utilitários auxiliares implementados em C. Aparentemente, ingressar em um domínio consiste em criar a entrada do host via LDAP padrão - - O script da Sun usa ldapsearch , ldapmodify e ldapadd do OpenLDAP.

Uma vez que o host é registrado pelo script (ao contrário da avaliação do @ Jason-Walker, isso pode ser feito a partir de qualquer host no domínio), ele invoca o ksetpw utilitário de ajuda para gerar o keytab. Eu quase terminei de portar tudo para Linux e BSD, quando cheguei adcli , que já faz exatamente o que precisamos e está disponível como um RPM. Eu até criei um FreeBSD-port do utilitário (com o apoio do Heimdal), por pura gratidão.

E houve muita alegria.

    
por 16.06.2016 / 20:50
0

Não haverá maneira transparente de fazer isso. O keytab do host representa uma cópia do segredo do host - uma senha que é conhecida apenas pelos servidores Kerberos (controladores de domínio do Active Directory) e pelo cliente. Em circunstâncias normais, o keytab é criado quando o cliente ingressou no Domínio (no qual o usuário autentica no Domínio e cria um novo segredo para a estação de trabalho). Depois de entrar, a máquina (por padrão) atualiza o segredo a cada 30 dias.

O cliente Samba pode gerar um keytab, mas faz isso autenticando a conta do usuário usando o comando 'net join'. A senha do usuário de autenticação é usada para criar o segredo inicial do host.

Outros programas que podem "ingressar no domínio" do cliente Linux e criar um segredo inicial (e um arquivo keytab correspondente) incluem o Dell Authentication Services (antigo Quest Authentication Services, antigo Vintela Authentication Services, e ainda conhecido como "vas"). '); Da mesma forma; e centralizar.

Para realizar a junção inicial, o cliente precisará se autenticar no domínio usando uma conta de domínio autorizada para criar objetos de computador, ingressar em estações de trabalho no domínio ou redefinir senhas de conta de computador para membros de domínio existentes. A conta do usuário pode ser autenticada usando uma senha ou usando um arquivo keytab do usuário existente.

A implementação de referência, o MIT Kerberos, pode criar arquivos keytab, mas, pelo que me lembro, não é possível criar uma nova conta de computador no domínio.

Edit: Se a sua distribuição contém 'kclient', isso deve fazer o que você quer; você ainda precisa incorporar uma credencial em seu script de associação para autenticar no domínio inicialmente. Consulte o link e

    
por 09.06.2016 / 04:37