Inquiridor
Autenticação integrada e usuários bloqueados no AD

Pergunta
-
Boa noite pessoal.
Seguinte, temos uma aplicação ASP.NET que está configurada para usar autenticação integrada. Eu não manjo quase nada de IIS, então fiz uma configuração bem na base da tentativa e erro.
Após configurar a aplicação no IIS e tentar acessa-la, nenhum usuário estava conseguindo acessar. Sempre aparece aquele popup para digitar usuário e senha, mas não aceita. Depois de 3 tentativas, da erro de forbidden.
Depois de várias tentativas, descobri que se eu der permissão de acesso no diretório onde a aplicação está instalada lá no servidor para determinado usuário, este usuário consegue acessar a aplicação. Então de forma paliativa, concedi permissão para Todos (Everyone).
Mas com isso, mais tarde percebemos que mesmo se o usuário tiver bloqueado no AD, ou com a senha expirada, ainda assim ele consegue acessar a aplicação, o que é errado. Além disso, nos preocupa a falta de segurança relacionada aos usuários poderem acessar o diretório físico da aplicação, embora isso não tenha sido divulgado!
Alguém sabe o porque esse problema está acontecendo? Algo me diz que essa forma de configurar o IIS não está correta! Alguém tem uma sugestão?
Todas as Respostas
-
-
Boa tarde,
Provavelmente você precisou dar permissão a pasta física porque você habilitou na autenticação a opção ASP.NET Impersonate. Quando essa opção é habilitada, a aplicação personifica o usuário logado na aplicação. Se está opção estiver desabilita, a aplicação vai utilizar o usuário do ApplicationPool.
Tente habilitar somente a opção Windows Authentication.
Poste as configurações do Application Pool e da sua aplicação, por favor.
Carlos Eduardo Ferreira
- Editado CarlosEduardo Ferreira terça-feira, 15 de julho de 2014 16:21
-
Na verdade não funcionou!
Fui conferir nas configurações e já estava sem o impersonate:
<system.web> <authentication mode="Windows" /> <identity impersonate="false" /> <authorization> <allow users="*" /> <deny users="?" /> </authorization> </system.web> <system.webServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <windowsAuthentication enabled="true" useKernelMode="true"> <providers> <clear /> <add value="NTLM" /> <add value="Negotiate" /> </providers> <extendedProtection tokenChecking="Allow" /> </windowsAuthentication> </authentication> <authorization> <clear /> <add accessType="Allow" users="*" /> <add accessType="Deny" users="?" /> </authorization> </security> <defaultDocument> <files> <add value="Home.aspx" /> </files> </defaultDocument> </system.webServer>
Verificando agora, fiz um teste removendo o acesso do meu usuário ao diretório. E eu fico sem acesso a aplicação. Na configuração do site no IIS esta assim:
Quando eu mudo essa configuração e coloco o administrador da máquina para acessar o diretório (como na imagem abaixo), dai eu consigo acessar a aplicação, mas dessa forma todos os usuários também conseguem.
-
-
-
Verifique se na pasta da aplicação o grupo local chamado IIS_IUSRS e o usuário IUSR tem permissão nessa pasta.
Caso não tenha, dê acesso (pode ser só para ler e executar) e remova a autenticação que você forçou como administrador.
Carlos Eduardo Ferreira
-
-