DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 2698981 - Última revisão: quinta-feira, 7 de Junho de 2012 - Revisão: 1.0

Nesta página

INTRODUÇÃO

O ASP.NET permite aos administradores servir de anfitrião a aplicações em modos de fidedignidade parcial, tal como fidedignidade média. Permite também a configuração de níveis personalizados de fidedignidade parcial através de ficheiros de política personalizados. Para mais informações sobre como utilizar a fidedignidade média em ASP.NET 2.0, visite a seguinte página Web da Microsoft Developer Network (MSDN):
Como: Utilize a Fidedignidade Média em ASP.NET 2.0 (http://msdn.microsoft.com/pt-pt/library/ff648344.aspx)
Descrevemos anteriormente a fidedignidade parcial ASP.NET como um mecanismo para impor o isolamento da aplicação num ambiente de anfitrião partilhado no qual múltiplas aplicações que possuem diversos níveis de fidedignidade têm como anfitrião o mesmo servidor da Web. Estamos a actualizar as nossas orientações sobre este tema para reflectir o facto da execução de uma aplicação de framework de página ASP.NET não garantir o isolamento total de outras aplicações que estejam a ser executadas no mesmo processo ou no mesmo computador. 

A configuração das aplicações de framework de página ASP.NET para que estas sejam executadas em processos separados e de privilégio baixo (através da utilização de conjuntos aplicacionais individuais) é o procedimento recomendado para assegurar o isolamento de outras aplicações de framework de página ASP.NET no mesmo servidor da Web. A seguinte secção fornece detalhes sobre como configurar aplicações para o isolamento. Estamos a actualizar a nossa documentação para reflectir a mudança de política descrita neste artigo. 

Mais Informação

Os administradores de servidor deverão aplicar as orientações neste artigo para se assegurarem de que as aplicações estão isoladas em ambientes de anfitrião partilhado. Estas orientações aplicam-se a anfitriões de ASP.NET no Windows Server 2003 SP2 e versões posteriores. As orientações abrangem Serviços de Informação Internet (IIS) 6.0 a 7.5.

Muitas das tarefas descritas aqui podem ser automatizadas utilizando a ferramenta de linha de comandos IIS AppCmd.exe (http://learn.iis.net/page.aspx/114/getting-started-with-appcmdexe) no IIS 7 e 7.5 e utilizando Scripts de administração IIS (http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/1805162e-6ac5-4a98-9a08-919c4c10827d.mspx?mfr=true) no IIS 6.0.

Como colocar aplicações em sites IIS separados

Num ambiente de anfitrião partilhado, as aplicações devem ser colocadas em sites IIS separados. A configuração é isolada de forma mais eficaz entre aplicações quando têm como anfitrião sites separados. Para além disso, o anfitrião .NET Framework CLR será separado. Isto fornece um isolamento adicional a esse nível.

Para colocar cada aplicação num site separado, siga estes passos:

Serviços de Informação Internet 6.0 (Windows Server 2003 SP2)

  1. Abra o Gestor de Serviços de Informação Internet (IIS).
  2. No painel do lado esquerdo, expanda o nó para o actual servidor.
  3. Clique com o botão direito do rato no nó Web Sites, clique em Novo e clique em Web Site.
  4. Clique em Seguinte.
  5. Introduza um nome exclusivo para o novo Web site e, em seguida, clique em Seguinte.
  6. Configure as associações de sites para o ambiente de anfitrião.
  7. Introduza o caminho físico da pasta na qual são guardados os ficheiros da aplicação.
  8. Clique para marcar a caixa de selecção Executar scripts (tal como ASP) e clique em Seguinte.
  9. Clique em Concluir. O novo site surge sob o nó Web Sites.

Serviços de Informação Internet 7 (Windows Vista SP2 e Windows Server 2008 SP1) e Serviços de Informação Internet 7.5 (Windows 7 e Windows Server 2008 R2)

  1. Abra o Gestor de Serviços de Informação Internet (IIS).
  2. No painel Ligações, expanda o nó para o actual servidor.
  3. Seleccione o nó Sites e, em seguida clique na hiperligação Adicionar Web Site no painel Acções.
  4. Na caixa de diálogo Adicionar Web Site, introduza um nome exclusivo para o novo Web site e, em seguida, introduza o caminho físico da pasta na qual são guardados os ficheiros da aplicação. Por defeito, é criado um novo conjunto aplicacional que possui o mesmo nome do site e o site é configurado para utilizar este conjunto aplicacional. (Este é a configuração recomendada.)
  5. Configure as associações de sites para o ambiente de anfitrião.
  6. Clique para desmarcar a caixa de verificação Iniciar Web site imediatamente para se assegurar de que o site não está disponível até estarem concluídas as orientações de isolamento aqui descritas.
  7. Clique em OK. O site configurado surge sob o nó Sites no painel Ligações.

Como colocar sites em conjuntos aplicacionais separados

Num ambiente de anfitrião partilhado, as aplicações devem ser colocadas em conjuntos aplicacionais separados. Isto permite que as aplicações sejam isoladas em processos de sistema operativo separados com identidades exclusivas. Isto fornece um nível de isolamento de um site para outro. (A seguinte secção descreve como configurar identidades do conjunto aplicacional para isolamento.)

Serviços de Informação Internet 6.0 (Windows Server 2003 SP2)

  1. Abra o Gestor de Serviços de Informação Internet (IIS).
  2. No painel do lado esquerdo, expanda o nó para o actual servidor.
  3. Clique com o botão direito do rato em Conjuntos Aplicacionais, clique em Novo e, em seguida, clique em Conjunto Aplicacional.
  4. Introduza um nome exclusivo para o novo conjunto aplicacional e, em seguida, clique em OK.
  5. Expanda o nó Web Sites.
  6. Clique com o botão direito do rato no Web site alvo e clique em Propriedades.
  7. Clique no separador Directório Inicial.
  8. No campo Conjunto aplicacional na parte inferior da caixa de diálogo, seleccione o novo conjunto aplicacional.
  9. Clique em OK.

Serviços de Informação Internet 7 (Windows Vista SP2 e Windows Server 2008 SP1) e os Serviços de Informação Internet 7.5 (Windows 7 e Windows Server 2008 R2)

Após seguir os passos na secção "Como colocar as aplicações em sites IIS separados", o novo site é automaticamente colocado num novo e separado conjunto aplicacional. No entanto, se tiver de configurar um site existente para utilizar um novo e separado conjunto aplicacional, siga estes passos: 
  1. Abra o Gestor de Serviços de Informação Internet (IIS).
  2. No painel Ligações, expanda o nó para o actual servidor.
  3. Seleccione o nó Conjuntos Aplicacionais.
  4. No painel Acções, clique na hiperligação Adicionar Conjunto Aplicacional.
  5. Introduza um nome exclusivo para o novo conjunto aplicacional e, em seguida, seleccione uma versão .NET Framework alvo e um modo de pipeline.
  6. Clique em OK. O novo conjunto aplicacional é exibido na lista.
  7. No painel Ligações, expanda o nó Sites.
  8. Seleccione o site que deseja mover para o conjunto aplicacional que criou anteriormente neste procedimento.
  9. No painel Acções, clique na hiperligação Definições Básicas.
  10. Na caixa de diálogo Editar Site, clique em Seleccionar.
  11. Na lista Conjunto aplicacional, seleccione o conjunto aplicacional que criou anteriormente.
  12. Clique em OK.
Na caixa de diálogo Editar Site, clique em OK.

Como configurar conjuntos aplicacionais para isolamento (identidade do processo)

Os conjuntos aplicacionais servem de anfitrião às aplicações e sites num processo (ou processos) Windows. A identidade sob a qual o processo é executado é configurável. Num ambiente de anfitrião partilhado, deverá existir uma identidade separada para cada aplicação. Isto assegura que cada aplicação é executada no contexto de uma conta exclusiva. Isto permite o correcto isolamento através da utilização de listas de controlo de acesso discricionário de sistema-ficheiro (DACL) e as funcionalidades de isolamento de processo incorporadas do sistema operativo subjacente. Para criar uma conta de utilizador e de seguida atribuir um conjunto aplicacional para utilizar essa conta, siga estes passos.

Os Serviços de Informação Internet 6.0 (Windows Server 2003 SP2)

Crie uma conta de utilizador local para utilizar para utilizar como a identidade do conjunto aplicacional
  1. Abra o Gestor de Serviços de Informação Internet (IIS).
  2. No painel do lado esquerdo, expanda Utilizadores e Grupos Locais.
  3. Clique com o botão direito do rato no nó Utilizadores e clique em Novo Utilizador.
  4. Introduza um nome exclusivo e uma palavra-passe forte para a nova conta de utilizador.
  5. Clique para desmarcar a caixa de verificação O utilizador tem de alterar a palavra-passe no próximo início de sessão.
  6. Clique para seleccionar a caixa de verificação O utilizador não pode alterar a palavra-passe.
  7. Clique em Criar e clique em Fechar.
  8. No painel do lado esquerdo, seleccione o nó Utilizadores. A nova conta surge na lista.
Configure o conjunto aplicacional para utilizar a nova conta de utilizador local
  1. Abra o Gestor de Serviços de Informação Internet (IIS).
  2. No painel do lado esquerdo, expanda o nó para o actual servidor.
  3. Expanda o nó Conjuntos Aplicacionais.
  4. Clique com o botão direito do rato no conjunto aplicacional alvo e, em seguida, clique em Propriedades.
  5. Clique na guia Identidade.
  6. Seleccione o botão de opção Configurável.
  7. Introduza o nome de utilizador e a palavra-passa da nova conta.
  8. Clique em OK.
  9. Reintroduza a palavra-passe na caixa de diálogo Confirmar palavra-passe e clique em OK.

Serviços de Informação Internet 7 e 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 e Windows Server 2008 R2)

  1. Abra o Gestor de Serviços de Informação Internet (IIS).
  2. No painel Ligações, expanda o nó para o actual servidor.
  3. Seleccione o nó Conjuntos Aplicacionais.
  4. Seleccione o conjunto aplicacional alvo.
  5. No painel Acções, clique na hiperligação Definições Avançadas.
  6. Na secção Modelo de processo, estabeleça a propriedade Identidade no ApplicationPoolIdentity. Esta definição cria automaticamente uma identidade exclusiva para este conjunto aplicacional. Nas seguintes secções, poderá utilizar esta identidade exclusiva para estabelecer listas de controlo de acesso discricionário (DACLs) nas localizações dos ficheiros aos quais a aplicação necessita de acesso.
  7. Clique em OK.

Como configurar DACLs em localizações de conteúdo aplicacional

A lista de controlo de acesso discricionário (DACL) é uma lista de permissões que estão associadas a um objecto e pode ser utilizada para controlar o acesso ao objecto. A utilização de DACLs para restringir o acesso a conteúdo aplicacional ajuda a fortalecer o isolamento entre sites que têm como anfitrião o mesmo servidor Web. Para mais informações sobre ACLs e identidades IIS, consulte Conteúdo Seguro em IIS Através de ACLs do Sistema de Ficheiros (http://learn.iis.net/page.aspx/583/secure-content-in-iis-through-file-system-acls)

Todas as versões do IIS

  1. Abra a pasta raiz para o conteúdo do site na janela de comandos ou no Windows Explorer.
  2. Utilize qualquer um dos seguintes métodos para remover entradas para qualquer acesso de não administradores a esta localização. (Isto inclui o grupo Utilizadores.)
    • No Windows Explorer, clique com o botão do lado direito na pasta, seleccione Propriedades, clique no separador Segurança e, em seguida, altere a lista de controlo de acesso.
    • Na janela de comandos, utilize o utilitário icacls.exe (http://technet.microsoft.com/pt-pt/library/cc753525(WS.10).aspx) (ou cacls.exe em versões mais antigas do sistema operativo Windows) para alterar a lista de controlo de acesso.
  3. Adicione uma nova entrada para a identidade de processo que seleccionou para o site.
  4. Conceda à nova identidade acesso de Leitura e Execução da pasta.
Se existirem pastas em particular que necessitem de permissões de escrita por parte da aplicação (por exemplo, uma pasta de "Transferências"), siga estes passos:

Serviços de Informação Internet 6.0 (Windows Server 2003 SP2)

  1. No Windows Explorer, clique com o botão do lado direito do rato na pasta, seleccione Propriedades, clique no separador Segurança e adicione o acesso para Modificar à identidade do processo.
  2. Para pastas que contenham conteúdo estático (imagens, ficheiros de texto, etc.), siga estes passos:
    1. Abra o Gestor de Serviços de Informação Internet (IIS).
    2. No painel do lado esquerdo, clique com o botão direito do rato no nome de pasta correcto e, em seguida clique em Propriedades.
    3. Clique no separador Directório.
    4. Na lista Permissões de Execução, seleccione Nenhuma.

Serviços de Informação Internet 7 e 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 e Windows Server 2008 R2)

  1. No Windows Explorer, clique com o botão do lado direito do rato na pasta, seleccione Propriedades, clique no separador Segurança e adicione o acesso para Modificar à identidade do processo.
  2. Para pastas que contenham conteúdo estático (imagens, ficheiros de texto, etc.) adicione uma entrada de ficheiro "web.config" para a localização que retira a permissão de Script na definição accessPolicy:
    <system.webServer> <handlers accessPolicy="Read,Write" /> </system.webServer>

Como configurar uma localização de pasta de Ficheiros Temporários ASP.NET e como definir DACLs por site

ASP.NET necessita de uma localização no servidor para armazenar dados temporários tal como ficheiros compilados. Isto é normalmente a pasta de Ficheiros Temporários ASP.NET. Por defeito, esta pasta está sob a pasta onde está instalado o .NET Framework. A atribuição de uma diferente localização temporária para cada site e assegurar a protecção individual correcta de cada pasta ajuda ao isolamento entre sites que têm como anfitrião o mesmo servidor Web. Para mais informações sobre a pasta Ficheiros Temporários ASP.NET, consulte Compreender a Compilação Dinâmica ASP.NET (http://msdn.microsoft.com/pt-pt/library/ms366723.aspx) .

Como configurar uma localização de pasta de Ficheiros Temporários ASP.NET diferente para cada site

  1. Crie uma nova pasta para cada site para armazenar ficheiros temporários ASP.NET para esse site. Recomenda-se a utilização de uma unidade externa ao sistema para armazenar ficheiros temporários.
  2. No ficheiro de raiz web.config ou applicationHost.config do servidor, inclua uma definição para apontar para a localização da nova pasta para esse site em particular, utilizando um elemento de <localização>, tal como este:
    <configuration> <location path="path"> <system.web> <compilation tempDirectory="temp-files-path" /> </system.web> </location> <!-- and so on --> </configuration>

Como definir DACLs correctos na localização da pasta de Ficheiros Temporários ASP.NET

  1. Utilize uma janela de comandos ou o Windows Explorer para remover permissões a qualquer acesso de não administrador a esta localização. (Isto inclui o grupo Utilizadores.)
  2. Adicione uma nova entrada à identidade do processo que seleccionou anteriormente para este site e conceda a esta identidade, acesso de Modificação para a pasta.

Como retirar dados sensíveis de configuração dos ficheiros de configuração de raiz

Os ficheiros web.config da aplicação estão situados na pasta de conteúdos para a aplicação que está a ser servida. Apesar do ASP.NET não servir o ficheiro web.config da aplicação, quando for prático, recomendamos que coloque informação crítica de segurança tal como definições máquina-tecla e cadeias de ligação num ficheiro de configuração externo à localização da aplicação. Isto adiciona uma defesa contra a publicação de informações.

Serviços de Informação Internet 6.0 (Windows Server 2003 SP2)

O armazenamento de informação de configuração crítica de segurança no ficheiro de raiz web.config não é uma boa opção para o isolamento de dados entre sites, já que todos os sites possuem acesso de leitura a este ficheiro. Como tal, no IIS 6 deverá armazenar configurações sensíveis no seu ficheiro web.config da aplicação. Isto permite que os sites isolem configurações sensíveis uns de outros. Nesse caso, a sua aplicação basear-se-á nas defesas ASP.NET para impedir o serviço do ficheiro web.config da aplicação e para se assegurar de que a informação sensível não é publicada.

Serviços de Informação Internet 7 e 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 and Windows Server 2008 R2)

Para IIS 7 e versões posteriores, mova a configuração sensível que se encontra no ficheiro applicationHost.config do IIS para um elemento de <localização> que associa a configuração ao site ao qual se aplica. Para mais informações, consulte Como Utilizar o Bloqueio na Configuração IIS 7.0 (http://learn.iis.net/page.aspx/145/how-to-use-locking-in-iis-configuration/) A Microsoft agradece (http://technet.microsoft.com/en-us/security/bulletin/policy) às seguintes pessoas por trabalharem connosco no auxílio à protecção dos clientes:
Nota Este é um artigo de “PUBLICAÇÃO RÁPIDA” criado directamente a partir da organização de suporte da Microsoft. As informações contidas neste artigo são fornecidas “tal como estão” em resposta a problemas recentes. Devido à urgência em disponibilizar este artigo, os materiais poderão incluir erros tipográficos e ser revistos em qualquer altura sem aviso prévio. Consulte os Termos de Utilização (http://go.microsoft.com/fwlink/?LinkId=151500) para outras considerações.

A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 4.0
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 1.1 Service Pack 1
  • Microsoft .NET Framework 1.0 Service Pack 3
Palavras-chave: 
atdownload kbinfo kbexpertiseinter kbsecurity KB2698981
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft