Autenticação do IIS no IIS com DNS

1

Eu fiz esta pergunta no Stackoverflow já , mas percebi que isso poderia ser melhor lugar para postá-lo.

Estou usando o IIS 10 no Windows Server 2016.

Configurei o IIS com êxito para usar a Autenticação do Windows ao acessar o site. Isso funciona bem ao usar o endereço IP ou o nome do host do servidor.

No entanto, hospedarei vários sites no mesmo servidor, então tentei configurar alguns registros DNS para apontar para o IP do servidor ( A records ) e definindo um nome de host na ligação do IIS para esse site que gerenciei para se conectar corretamente ao site certo ao usar esse nome no navegador.

Mas, por algum motivo, isso quebra a Autenticação do Windows. Ao colocar o nome de usuário e a senha na caixa de login do navegador, simplesmente não autentica .

Eu li essa resposta, mas ela não forneceu uma solução ( link )

Eu tentei escrever o nome de usuário de maneiras diferentes:

username
domain\username
domain.local\username

mas não faz qualquer diferença.

Analisei esta página mas não parece ser aplicável.

Fui aconselhado a tentar desativar a verificação reversa de DNS na base de dados do IIS com este comando: adsutil set w3svc/EnableReverseDNS FALSE . Para fazer isso, tive que adicionar a função IIS 6 Management Compatibility.

Alguém sabe como fazer isso funcionar?

    
por Morten Twellmann 13.01.2018 / 21:56

1 resposta

0

Eu assumi que é um membro do domínio devido à sintaxe de nome de usuário que você postou.

Se você usou os registros A, para que a autenticação Kerberos seja bem-sucedida, você precisa de um Nome Principal de Serviço definido para cada nome, de propriedade da identidade do processo do site de destino. (Se você o deixou no padrão ApplicationPoolIdentity, LocalService, NetworkService ou Local System, essa será a conta da máquina.)

No entanto, existe um efeito colateral que você pode explorar para testar a teoria, ou seja, que o IE faz uma resolução CNAME to A Record e consulta o SPN do nome de destino resolvido ...

Portanto, se você tivesse fakehost.mydomain como CNAME para MACHINENAME, o IE resolveria MACHINENAME e, em seguida, usaria HTTP / MACHINENAME como o SPN que estava procurando - o que significa que você não precisaria criar SPNs adicionais. Isso funciona desde que a identidade de todos os sites seja a máquina.

Agora, o mais estranho aqui é que a autenticação Curb não deve ser a única opção, e estou interessado em saber que o fallback NTLM não funcionou quando o Curb falhou ao recuperar um ticket, então pode haver algum outro configurações ou complexidade aqui complicando as coisas. É aí que a Proteção Estendida pode ser problemática, a um palpite. Ou talvez as configurações de autenticação não sejam mais Negociar (o que significa Curb e NTLM se o Curb falhar) como parte de sua solução de problemas / configuração.

Finalmente, a coisa maravilhosa sobre os nomes de host pontilhados é que eles tendem a chamar um proxy - se você tem um proxy definido no IE, desative-o para o seu teste.

Super-finalmente, é muito improvável que haja algo relacionado à visão do DNS do IIS, portanto você pode desinstalar o IIS Management 6 - nada que você possa configurar ou quebrar no IIS requer o uso de material de compatibilidade legado para consertá-lo.

    
por 14.01.2018 / 00:07