Autenticação Kerberos, host de serviço e acesso ao KDC

10

Eu tenho um aplicativo Web (nome do host: service.domain.com) e desejo usar a autenticação Kerberos para identificar usuários que estão conectados a um domínio do Windows. O Microsoft AD (Windows Server 2008 R2) está fornecendo o serviço Kerberos.

O serviço é um aplicativo da Web Java usando a biblioteca de extensão Spring Security Kerberos para implementar o protocolo SPNEGO / Kerberos. Eu criei um arquivo keytab no AD que contém um segredo compartilhado que deve ser suficiente para autenticar tickets Kerberos enviados pelos navegadores clientes usando o aplicativo Web.

Minha pergunta é: é necessário que o host de serviço (service.domain.com) tenha acesso de firewall (TCP / UDP 88) ao KDC (kdc.domain.com) ou é o arquivo keytab suficiente para que o host de serviço possa descriptografar o Tíquetes Kerberos e fornecer autenticação?

StrangeLoop
fonte
O serviço não precisa de acesso ao KDC na sua configuração. Os clientes fazem absolutamente.
9134 jouell

Respostas:

11

O serviço nunca precisa falar com o KDC . Ele precisa de um keytab gerado pelo KDC , mas que você pode copiar da maneira que desejar. Eles nunca precisam conversar um com o outro.

Uma versão excessivamente simplificada do que acredito continuar é mais ou menos assim:

Configurando o serviço

  • O KDC gera uma tabela de chaves de serviço (que é como uma chave / senha secreta, se você preferir)
  • este keytab é fornecido ao serviço de alguma maneira ( scpou transportado em um pen drive, se você desejar)

Cliente se conectando ao serviço

  • cliente solicita um tíquete de serviço do KDC
  • O KDC gera um tíquete de serviço , que contém algumas informações que só podem ser descriptografadas pelo keytab do serviço (este é o arquivo que fica no seu servidor)
  • cliente envia seu ticket de serviço para o serviço
  • o serviço usa seu keytab para verificar o ticket (nenhuma comunicação de rede é necessária)
chutz
fonte
Obrigado, é assim que eu também entendi no artigo da Wikipédia Kerberos. Esta questão parece ter resposta contraditória: a autenticação Kerberos para Webservers
StrangeLoop
Bem, não sei o que aconteceu nessa outra resposta, mas tenho um servidor SSH muito remoto executando autenticação baseada em Kerberos, e certamente não tem acesso ao KDC que está na minha LAN privada em casa. Poderia haver algo estranho acontecendo com os servidores da web? Talvez, mas duvido muito.
Chutz