Temos dois tipos diferentes de websites em nossa empresa, um deles é um site público em que os usuários precisam ter acesso sem autenticação baseada em servidor (autenticação anônima) e outros sites que os funcionários de nossa empresa precisam acessar fora da rede. Esses funcionários trabalham para nossos serviços externos e precisam se conectar a esses sites em todo o país. Divido esses dois tipos diferentes de sites em dois servidores diferentes do IIS 8.5.
O que me preocupa agora é a autenticação dos usuários em nossos sites internos e possíveis intrusos que desejam acessar esses sites por meio de bruteforce, etc.
Eu li sobre digest, basic e windows authentication.
Até onde eu entendi, digerir a autenticação funciona mais rápido e precisa de menos recursos do servidor do que outros métodos de autenticação. Mas para digerir a autenticação, o servidor precisa estar em um domínio, já que precisa obter um hash de um controlador de domínio. Eu também li que não é possível, para delegar credenciais de usuário recebidas via digestauth para o site específico. Como se o usuário precisa se autenticar em uma tela de login dentro do site, você não pode ter as credenciais que ele passou ao acessar o servidor e levá-los como login do site. Como não quero que meus usuários se autentiquem duas vezes, esse método de autenticação não atende às minhas necessidades, se eu entendi isso corretamente.
autenticação básica envia a senha como texto simples via base64 "criptografia". Isso também não é muito seguro, já que um intruso poderia simplesmente capturar essas credenciais.
A autenticação do Windows deve ser um pouco mais segura do que a autenticação básica, o servidor da web não precisa estar em um domínio, mas todos os usuários que precisam ser autenticados precisam estar em um grupo de usuários no servidor da web. Não sei como as credenciais são codificadas nesse método.
Minha pergunta seria qual método de autenticação você sugeriria usar para esse caso específico em meus sites internos - em uma perspectiva de segurança.
Observação: usamos SSL (HTTPS) para todos os nossos sites, internos e públicos.