keytab do cliente NFS: várias máquinas

3

Como se deve proceder para configurar arquivos keytab do lado do cliente para cada máquina cliente para acessar serviços de rede? Meu exemplo de trabalho é o NFSv4, que exige que cada cliente tenha um keytab Kerberos localmente nas máquinas clientes (assim como nos hosts do servidor NFS).

  1. Qual desvantagem, se houver, poderia resultar do compartilhamento da mesma chave em um arquivo keytab genérico (para fins de NFS) entre todas as máquinas cliente que exigem acesso ao (s) host (s) NFS?

  2. Se, do resultado de # 1, realmente precisarmos usar uma chave separada em um keytab diferente em cada cliente , o que é eficaz - e, mais importante, seguro - maneira de automatizar a criação do keytab para cada um dos vários milhares de máquinas? Eu não quero ter que gerar e exportar uma chave em cada caixa!

por Cosmic Ossifrage 12.06.2014 / 13:45

2 respostas

2

Um keytab genérico não é de uso algum - o princípio de serviço do Kerberos está ligado ao hostname. Portanto, um keytab genérico simplesmente não funciona. Você não precisa necessariamente de uma chave específica do NFS - dependendo da versão do sistema operacional que estiver usando. Podemos usar HOST/full.qualified.hostname para autenticar o NFS no RHEL 6+.

Então, sim, você precisa de um keytab em cada máquina. Eu sei que é horrível, mas é assim que acontece.

Lembre-se de que, em um domínio do Windows, você precisa fazer efetivamente a mesma coisa com o processo de 'união de domínio' - uma das principais coisas que faz é criar um keytab em clientes Windows.

Começamos no caminho dos domínios integrados - vinculando nossos clientes Linux a um Windows AD. Com essa abordagem, você pode usar o comando net no Linux, por exemplo. net ads join que é acho parte do SAMBA. Você pode incorporar um nome de usuário e senha, e executá-lo através de qualquer mecanismo de automação já existente. ( net ads keytab create também faz .... bem exatamente o que diz na lata.)

Se você não está usando um AD, então eu não tenho medo. Eu imagino que algo semelhante existe para gerar um keytab.

    
por 12.06.2014 / 15:57
1

Eu escrevi código para resolver seu problema, mas não funciona para todos. O problema é que você precisa descobrir uma maneira de estender a confiança a um hardware não confiável. Todo site terá uma maneira um pouco diferente de fazer isso.

Eu uso uma chave ssh que é instalada pelo nosso gerenciamento de configuração para estender a confiança a máquinas não confiáveis.

O código que eu escrevi está em

link

Mas é mais um resumo de como resolver o difícil problema da instalação automatizada de keytabs.

No que diz respeito ao uso de um keytab genérico para um cliente, isso pode funcionar para alguns serviços baseados no kerberos, mas eu nunca vi isso para o NFS kerberizado. E, em geral, você quer pelo menos um host / foo.com em cada máquina para aproveitar ao máximo o que os kerberos podem oferecer. Se você não pode fazer isso, não faz sentido implementar o kerberos.

Em teoria, um keytab genérico do cliente deve funcionar se você quiser que cada máquina tenha acesso aos mesmos servidores / arquivos. Na prática, você teria que fazer uma análise completa de como o servidor nfs usa a autenticação do kerberos para implementar a autorização para garantir que tudo funcione corretamente.

Parte do uso do kerberos com sucesso é lembrar que ele só faz autenticação, a autorização é sempre específica para o aplicativo. Tudo o que fiz com o NFSV4 sugere que ele espera um ID único do kerberos por host do cliente, mas não tenho nenhuma evidência de que requer um.

    
por 13.06.2014 / 19:53