Tratando erros com Elmah no ASP.NET MVC (parte 3 – Segurança)

De volta das festas de fim de ano (Feliz 2012 a todos!) e continuando com assunto ELMAH (partes 1 e 2, aqui e aqui), neste post falarei como proteger o acesso ao log gerado por ele.

O primeiro fator relacionado à segurança é a permissão de acesso remoto ao log. Caso queira evitar que o endereço do log seja acessado remotamente, basta explicitar isso no web.config, dentro da tag <elmah>:

<elmah>
    <security allowRemoteAccess="no"/>
</elmah>

Desta forma, o endereço do log *.axd só poderá ser acessado localmente, ou seja, pela sua máquina de desenvolvimento ou diretamente no servidor de aplicação.

Como normalmente queremos permitir o acesso remoto, “setamos” para “yes” (“1” ou “true”): <security allowRemoteAccess=”yes”>.

Entretanto, é preciso impedir que usuários anônimos tenham acesso ao log. Fazemos isso com a seguinte configuração no web.config (na raiz da tag <configuration>):

<location path="elmah.axd">
<system.web>
   <authorization>
      <deny users="?"/>
   </authorization>
</system.web>
</location>

_________________________________________________________________________________________________
NOTA: Vale lembrar que estou utilizando a autenticação Forms, nativa do ASP.NET. Caso você esteja utilizando algum tipo de autorização/autenticação própria, esta forma de proteção via web.config não será aplicável para você!
_________________________________________________________________________________________________

Fácil, não é? Com apenas esses dois ajustes no web.config temos o elmah.axd protegido, ou seja, ao tentar acesso sem autenticação, você será redirecionado para a página de login padrão, definida também no web.config.

No próximo post (juro que não demora) veremos como NÃO logar erros 404, evitando assim entradas desnecessárias no log.

[]s e até a próxima!
__________________________

Este artigo faz parte da série:
1) Tratando erros com Elmah no ASP.NET MVC (parte 1 – Configuração)
2) Tratando erros com Elmah no ASP.NET MVC (parte 2 – HandleError)
3) Tratando erros com Elmah no ASP.NET MVC (parte 3 – Segurança)
4) Tratando erros com Elmah no ASP.NET MVC (parte 4 – Filtros)

 

Anúncios

Participe! Vamos trocar uma ideia sobre desenvolvimento de software!

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s