Você conhece a pasta c:\Windows\Assembly?


Pessoal,

Aqui vai uma dica rápida, a pasta c:\Windows\Assembly é utilizada para armazenar e compartilhar aplicaçãoes em .NET, de forma que várias aplicações WEB acessem a mesma aplicação (DLL). Exemplo:

Tenho um site no IIS com uma DLL “core” que é utilizada por N aplicações, imagine que está DLL tem que estar na pasta “BIN” de cada aplicação, e quando é feito alguma alteração é necessário atualizar em todas a aplicações, perderiamos muito tempo, risco enorme de indisponibilidade, etc..

Normalmente quando uma DLL é utilizada em várias aplicações, pode ser utilizadado desta forma, armazenando em c:\Windows\Assembly e compartilhando em todas as aplicações… Além de facilitar atualizações, temos uma segurança muito forte  de controle de acesso e escrita.

Para fazer a instalação, remoção e outros  utilize 0 Gacutil.exe (Global Assembly Cache Tool) 0 http://msdn.microsoft.com/en-us/library/ex0ss12c.aspx

Até mais,

Erick Albuquerque | Microsoft MVP
MVP Profile    | Twitter    | Linkedin    | https://iisbrasil.wordpress.com

.NET Trust levels page


Introdução

Utilize o recurso .NET Trust levels page para definir elementos de confiança no web.config. O elemento de confiança permite configurar o nível de segurança para acesso ao código (CAS) que é aplicado na aplicação, conheça os níveis:

Nome do Elemento Descrição
Nivél de confiança

Exibe o nome do nível de confiança. Entre as opções disponíveis estão:

  • Full (interno) – Especifica permissões sem restrição. Concede ao aplicativo ASP.NET permissões para acessar todos os recursos sujeitos à segurança do sistema operacional. Há suporte para todas as operações com privilégio.

  • High (web_hightrust.config) – Especifica um alto nível de segurança de acesso a código, o que significa que o aplicativo não consegue fazer nenhuma das seguintes ações por padrão:

    • Chamar código não gerenciado.

    • Chamar componentes atendidos.

    • Gravar no log de eventos.

    • Acessar filas de serviço MSMQ (Message Queuing).

    • Acessar fontes de dados ODBC, OleDb ou Oracle.

  • Medium (web_mediumtrust.config) – Especifica um nível de segurança médio de acesso a código, o que significa que, além das restrições de Nível de Confiança Alto, o aplicativo ASP.NET não consegue fazer nenhuma das seguintes ações, por padrão:

    • Acessar arquivos fora do diretório de aplicativos.

    • Acessar o Registro.

    • Fazer chamadas de rede ou serviço Web. 

  • Low (web_lowtrust.config) – Especifica um nível de segurança baixo de acesso a código, o que significa que, além das restrições de Nível de Confiança Médio, o aplicativo não consegue fazer nenhuma das seguintes ações por padrão:

    • Gravar no sistema de arquivos.

    • Chamar o método Declaração.

  • Minimal (web_minimaltrust.config) – Especifica um nível de segurança mínimo de acesso a código, o que significa que o aplicativo só tem permissões de execução.


Erick Albuquerque | Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/
Twitter: @_ealbuquerque

Bloqueando SQL Injection com URL Rewrite


Ola,

Creio que seja uma preocupação de todos os ataques de SQL Injection nos diversos tipos de aplicações, mas existem algumas formas de bloquear este tipo de ataque, uma delas ‘e com o URL Rewrite utilizando expressão regular, o código abaixo deve ser colocado em um arquivo web.config.

 

<rewrite>

<rules>

<rule name=”Filter SQL injection” stopProcessing=”true”>

<match url=”.*” />

<conditions>

<add input=”{REQUEST_URI}” pattern=”[dD][\%]*[eE][\%]*[cC][\%]*[lL][\%]*[aA][\%]*[rR][\%]*[eE][\s\S]*[@][a-zA-Z0-9_]+[\s\S]*[nN]*[\%]*[vV][\%]*[aA][\%]*[rR][\%]*[cC][\%]*[hH][\%]*[aA][\%]*[rR][\s\S]*[eE][\%]*[xX][\%]*[eE][\%]*[cC][\s\S]*” />

</conditions>

<action type=”AbortRequest” />

</rule>

</rules>

</rewrite>