Estou tentando me conectar a um site asp.net que criamos.
Usa a autenticação do Windows e nega o acesso a usuários não autenticados
web.config:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
O site está na nossa DMZ. O servidor está conectado ao domínio. Está funcionando sem problemas quando tento me conectar ao site pela rede interna. Eu recebo uma caixa de diálogo Autenticação necessária , preenche minhas credenciais e posso entrar no site.
Quando me conecto de uma rede externa, isso não funciona. O navegador está se conectando ao site, mas a caixa pop-up nunca é mostrada. Eventualmente eu recebo um A conexão foi redefinida
Aparentemente, o firewall vê minha solicitação como uma vulnerabilidade e a bloqueia. Esta mensagem pode ser encontrada no pacote de rede da firewal:
401 - Unauthorized: Access is denied due to invalid credentials.
Esse é o mesmo erro que recebo quando me conecto ao site a partir de um local interno e clico em cancelar ou preencher as credenciais erradas.
Eu já tentei isso sem sorte:
- Mover o NTLM para o topo dos meus provedores
- Use a autenticação do Kerberos
- Verifique os módulos no IIS: WindowsAuthentication e WindowsAuthenticationModule estão lá
- Adicionando DisableStrictNameChecking e DisableLoopbackCheck ao registro
- Permitir autenticação anônima (nível do IIS)
- Permitir autenticação básica (nível do IIS)
- Permitir todos os usuários com autenticação do windows (no web.config): Basicamente, excluir o nó de autorização. Isso usa anônimo e funciona. O site pode ser acessado, mas o usuário não é autenticado e não vê seus relatórios pessoais (portanto inutilizável)
- Alterar o usuário do pool de aplicativos
- Conceder direitos de acesso na pasta arp para IUSR
Por que existem dois 401 estatutos quando vou ao site? Isso faz com que o firewall bloqueie o tráfego e, portanto, nunca mostre o pop-up Autenticação necessária.