Autenticação Kerberos para estações de trabalho fora do domínio

8

Eu tenho um entendimento básico de como o Kerberos funciona em um ambiente do Active Directory e os métodos que ele usa para autenticar usuários e estações de trabalho na rede, mas minha pergunta é .. como o Kerberos depende da emissão de um token de segurança que o usuário final usa para acessar recursos de rede, como os sistemas (laptops) que não estão no domínio conseguem acessar os mesmos recursos de rede usando apenas o nome de usuário e a senha de um usuário do diretório ativo?

Eu acho que faria mais sentido se, apenas usando as credenciais do usuário, o Kerberos gera um token de segurança e o emite ao sistema, mas parece que deve haver mais segurança para impedir que um sistema não-domínio acesse os recursos de rede.

Se alguém pudesse me esclarecer, eu apreciaria!

Eric
fonte
Pergunta estúpida .. com o uso do Kerberos em um ambiente do Active Directory .. é necessário ter o NTLM ativado? Não que eu tenha certeza absoluta de que pode ser desativado, mas notei que na página wiki joeqwerty vinculada ao link diz que a Microsoft não recomenda seu uso.
Eric
Se você procurar um servidor que não seja pelo nome (por exemplo, \\ 10.12.181.29), você retornará ao NTLM; porque o kerberos depende dos nomes dos servidores que correspondem ao seu certificado.
Ian Boyd

Respostas:

5

como os sistemas (laptops) que não estão no domínio conseguem acessar os mesmos recursos de rede usando apenas o nome de usuário e a senha de um usuário do diretório ativo?

Depende de quais "recursos de rede" estão envolvidos. Em um computador Windows ingressado no domínio em que você está conectado, há pelo menos duas identidades de Kerberos do cliente em jogo:

  • você, usuário @ DOMAIN
  • o computador, estação de trabalho $ @ DOMAIN

Também há host / estação de trabalho @ DOMAIN, mas geralmente é a identificação de um serviço em execução no host, sendo acessado de outro lugar. Se um processo privilegiado no host quiser fazer algo - digamos, adicione seu nome ao DNS usando o DNS dinâmico autenticado pelo Kerberos - ele usará sua identidade para fazer isso, a estação de trabalho $ @ DOMAIN. Se você, em sua sessão de login, acessar algum recurso por conta própria - digamos um compartilhamento de rede CIFS ou um URL HTTP autenticado -, a identidade do cliente será o seu nome principal, usuário @ DOMAIN (credenciais para as quais são adquiridas automaticamente para você usando o senha que você inseriu para efetuar login). Da sua pergunta, você parece pensar que alguma combinação está envolvida; não é, eles são separados.

É por isso que não há problema em usar o Kerberos para acessar recursos baseados no Windows de outras plataformas. Você também pode digitar "usuário kinit" em uma caixa Linux, digite sua senha para obter uma credencial Kerberos (TGT) de um controlador de domínio e, em seguida, use o Firefox para acessar uma página da Web autenticada por Kerberos no IIS. Os protocolos para tudo isso são padrão e você não precisa de nada, exceto sua credencial de usuário.

Uma resposta anterior alegou que o NTLM é necessário neste caso; isso é falso (embora certamente possa ser usado). No entanto, quando você acessa algum recurso de um computador que não é de domínio e é solicitado seu nome de usuário e senha, você não sabe necessariamente qual método de autenticação está realmente sendo usado. Pode usar o Kerberos. Ele também pode retornar a um mecanismo baseado em senha, no qual ele envia seu nome de usuário e senha ao servidor para verificação e, em seguida, armazena em cache sua senha para que você não precise digitá-la novamente. Muitos protocolos permitem ambos via esquemas de abstração como SASL. Você teria que olhar no fio para ver o que está acontecendo.

Richard E. Silverman
fonte
Se o Kerberos foi usado, você poderá ver posteriormente o tíquete de serviço em cache com o comando "klist". Se você obteve acesso sem que isso causasse o cache de um tíquete de serviço, provavelmente usou o NTLM. Para realmente confirmar que você usou o Kerberos, você provavelmente teria que desativar o NTLM (caso o Windows ainda possa voltar do Kerberos para o NTLM depois de já ter obtido um tíquete de serviço).
Markus Kuhn
1

As instruções abaixo são sobre como autenticar em um servidor Samba usando o Kerberos de um cliente Windows 7/10 (talvez outros). Não testei para outra versão do cliente e servidor:

No cliente Windows, "Executar como administrador" cmd.exe. Em seguida, insira este comando para fornecer ao Windows o conhecimento do controlador de domínio Kerberos (KDC) para o kerberos REALM.COM.

Se o KDC estiver no DNS:

ksetup /addkdc REALM.COM

De outra forma:

ksetup /addkdc REALM.COM kdc01.realm.com

(Digite mais KDCs para a região REALM.COM, se existirem. Além disso, pode adicionar outras regiões nos dois estilos.)

Em seguida, use o Explorer para acessar o compartilhamento de rede de interesse. (Por exemplo, \\samba.realm.com\sharena barra de endereço.) Um prompt de senha será aberto se o compartilhamento estiver protegido.

Você precisará especificar a região no nome de usuário. Isso pode ser feito como [email protected]ou REALM.COM\user.

Em seguida, digite a senha.

lickdragon
fonte
0

Conheço pelo menos um sistema que pode usar o kerberos que funciona em estações de trabalho que não são de domínio. O nome deste aplicativo é "Portal SAP NETWEAVER". Realizei um sniffing de rede na estação de trabalho e na comunicação, quando me conecto ao aplicativo Web, que fica entre a estação de trabalho e os controladores de domínio. Antes disso, é feita uma consulta DNS para os registros srv _krb do domínio que eu passei para o campo de nome de usuário (deve ser o formato de domínio FQDN, por exemplo, meudominio.local \ nome_de_usuário). Depois disso, alguns quadros kerberos ocorrem.

KatTer
fonte