Quais são os percebidos vantagens / reais de Kerberos? Existem alternativas viáveis ??para a tecnologia?

StackOverflow https://stackoverflow.com/questions/894301

Pergunta

Estamos pensando em utilizar Kerberos em nossa arquitetura. Gostaria de saber o que percebida ou vantagens reais desta tecnologia tem, e se existem alternativas.

Note que temos um lado do cliente .net e do lado do servidor java. comunicação será via bus de mensagens e SOA

Nenhuma solução correta

Outras dicas

Se você estiver trabalhando dentro de um ambiente maior parte do Windows (ou seja, Windows Server 2k3, um controlador de domínio, o Active Directory, etc.) uma em particular é que você pode usar representação através .NET com um servidor dividido web e servidor de banco de dados. Usando o método NTLM mais velho, você não pode fazer um "double-hop".


Vamos olhar um exemplo:

  • Você tem um servidor web (Web1)
  • Você tem um servidor de banco de dados em uma máquina separada (DB1)
  • Você tem acesso a um usuário seu site (USER1)

USER1 atinge uma página que exibe uma lista de pedidos. Seu servidor Web1 tem para consulta DB1 por esta informação para exibição na página. Você deseja restringir o que as ordens são vistos com base em credenciais do usuário e direitos de acesso. Assim, você criar grupos do Active Directory e usuários atribuir em conformidade. Em seu banco de dados que você dá os diferentes grupos de segurança diferente (GROUP1 poderia ter selecionar apenas e GRUPO2 pode se selecionar, inserir e atualizar, por exemplo).

NTLM não suporta o salto duplo necessária para fazer isso. Web1 tem de enviar as credenciais de user1 DB1 (caso contrário Web1 deve entrar em DB1 com um ID de usuário dedicada conhecido e senha codificado no web.config por exemplo, que geralmente tem de ter acesso total a suportar todas as funções de usuário possíveis). Você pode imaginar isso poderia ser um risco de segurança deve Web1 ser comprometida, então você não pode fazê-lo, caso contrário, quem ganha o controle de Web1 (via injeção de SQL talvez) poderia fazer qualquer coisa que a conta de utilizador dedicada poderia ou impersonate quem quiserem. Kerberos, por delegação no Windows Server, suportes fazendo esta segunda hop, mantendo a chave de credencial criptografada a partir de seu servidor de domínio intacto e repassados, bem como verificou que este é permitido (em ambas as extremidades, veja abaixo como fazer essa configuração em seus servidores porque ele deve ser explicitamente permitido).

É muito útil para fazer isso quando o desenvolvimento de aplicativos de intranet web que têm um back-end de banco de dados (que é 99% do tempo o caso, certo?) E você quer autorização e controle de autenticação por meio de Segurança Integrada do Windows. Kerberos é realmente sua única opção a menos que seu servidor web e servidor de banco de dados estão na mesma máquina, o que significa que não há transferência de credenciais e nenhuma representação necessário.

Veja também:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top