Como os provedores de hospedagem podem permitir o .NET Full Trust?

3

Gostaria de saber como determinados provedores de hospedagem .NET podem garantir com segurança total confiança a seus clientes?

Isso não abre todo mundo que está hospedando com essa empresa para possíveis problemas de segurança? Ou existe uma maneira de restringir com segurança cada cliente, apesar de dar total confiança, ao "seu" espaço sem lhes dar a capacidade de derrubar o sistema ou espionar outros clientes?

    
por AX1 26.05.2010 / 19:35

2 respostas

1

De certa forma, potencialmente, abre a possibilidade de problemas de um aplicativo afetarem outros.

Mas, a confiança total é realmente bastante segura por padrão, especialmente de ataques externos. Os maiores riscos em cenários de confiança total são os usuários legítimos que poderiam, possivelmente, fazer upload e executar códigos que fazem algo estúpido. Novamente, porém, esse é um risco menor na prática geral, e é por isso que você vê hospedagem com total confiança.

Provedores de hospedagem também fazem algumas coisas além de reduzir ainda mais os efeitos da idiotice de um usuário errante. A maioria dos provedores faz alguns ajustes nos padrões de "confiança total" para eliminar recursos que as soluções asp..net não precisariam de qualquer maneira. Eles também tendem a executar a conta de cada usuário em pools de aplicativos separados no servidor também.

Além disso, houve alguns problemas com as configurações padrão de confiança média que resultaram em uma confiança total sendo muito difícil de ser obtida com muitos aplicativos asp.net. A Microsoft fez algumas alterações em como o código de segurança de acesso e os níveis de confiança funcionam no asp.net 4.0 para resolver esses problemas. Eu ainda não pesquisei os detalhes finais, mas você pode encontrar um pouco de informação sobre eles nesses links:

Alterações de segurança no .NET Framework 4

Segurança de acesso ao código em aplicativos ASP.NET 4

    
por 26.05.2010 / 20:34
1

A questão "trust" da estrutura .net não está relacionada à proteção do servidor. Pelo menos não diretamente.

Os provedores de hospedagem devem (devem) proteger seus servidores, concedendo direitos limitados de usuário ao usuário hospedado. Esses direitos são concedidos no nível do sistema operacional. A VM ou o idioma que o usuário está usando não é relevante. Na maioria dos idiomas, você pode acessar a API do win32 ou a aposição posix e causar o máximo de dano que a permissão de segurança permitir.

O cenário que o modelo de "confiança" da estrutura .net está cobrindo não é muito diferente do que o analisador de JavaScript que está hospedado no seu navegador está fornecendo. Considere o seguinte: Você está escrevendo algum servidor de jogo. E você não permitirá que terceiros escrevam extensões para o seu jogo. Você executará as DLLs fornecidas por terceiros em seu servidor. Você quer permitir que eles liguem para sua API. mas você certamente não quer permitir que eles chequem seu disco ou banco de dados diretamente. Nesse caso, a segurança do sistema operacional não ajudará porque essas dll são executadas em seu processo com sua credencial. Então você carrega esses dll's em confiança restritiva. E a estrutura .net fará com que eles não estejam chamando nenhuma API perigosa.

    
por 26.05.2010 / 23:39

Tags