Por que os HOWTOs do kerberos especificam copiar keytabs de forma segura para o host? O kadmin em rede não é seguro?

3

Os HOWTOs do Kerberos geralmente têm palavras semelhantes a estas:

Securely transfer (via flash drive, disk, or encrypted connection) the keytab to the client host.

Está logando no host do cliente como root, executando o kinit para obter credenciais para uma conta administrativa, e rodando o kadmin do cliente não é suficiente?

    
por lmz 28.05.2011 / 06:01

2 respostas

7

Acho que isso é basicamente um resquício de versões mais antigas do MIT Kerberos que apresentavam problemas de segurança ou funcionalidade inferior ( kadmin no modo de rede costumava não ser capaz de fazer várias coisas; você tinha que executar kadmin.local on o mestre KDC). Certamente Heimdal nunca se incomodou com tal restrição e de fato simplificou e otimizou um pouco o processo ( ktutil get ). Além disso, grande parte da documentação oficial do MIT Kerberos pressupõe muita paranóia que eu raramente vi em uso real em qualquer lugar, como assumir que qualquer credencial de segurança sempre foi copiada manualmente de um sistema para outro.

    
por 28.05.2011 / 06:05
0

Também relacionado é o problema "ktadd" do MIT. O comando MIT kadmin ktadd não extrai chaves do KDC; em vez disso, ele gera novas chaves, as grava no keytab e substitui as chaves do principal no KDC. Apenas kadmin.local tem a capacidade de extrair chaves; a interface RPC kadmin simplesmente não os retornará. Isso é apresentado como um recurso de segurança, impedindo que uma conta kadmin comprometida leia as chaves de todos. O problema é que isso significa que um único comando ktadd errante quebrará um serviço em execução: se ele não atualizar o keytab correto, o KDC começará imediatamente a emitir tickets com novas chaves que o serviço não possui. Se você tiver vários servidores para o mesmo serviço (digamos, atrás de um balanceador de carga), você não pode simplesmente ir até eles um após o outro e usar o ktadd para criar ou atualizar seus keytabs: cada vez que você executá-lo, você altera as chaves e quebra todas as outras instâncias de serviço. Você precisa criar o keytab uma vez e distribuí-lo separadamente (por exemplo, com scp).

O risco operacional deste recurso de segurança é tão terrível que anos atrás eu invadi nosso KDC do MIT para adicionar extração de chaves ao protocolo RPC e torná-lo o padrão para o nosso comando ktadd. Heimdal não tem esse problema.

    
por 05.03.2014 / 05:58

Tags