Como: Proteger um aplicativo ASP.NET em um servidor compartilhado

Um servidor Web compartilhado que hospeda vários aplicativos para diferentes clientes tem a responsabilidade adicional de garantir que cada aplicativo juntamente com os dados serem protegidos de modo que ele seja mantido particular de outros usuários de aplicativo no servidor.O procedimento a seguir detalha as etapas a serem seguidas para proteger um aplicativo ASP.NET em um servidor compartilhado.

Para proteger um Aplicativo ASP.NET em um Servidor Compartilhado

  1. host aplicativo Web da Web no Windows servidor 2003.Certifique-se de que os arquivos para seu aplicativo são armazenados em uma unidade que foi formatada com o sistema de arquivos NTFS.

    Como todos os aplicativos ASP.NET executados com uma única identidade de processo (a conta ASPNET local) no Windows 2000 e Windows XP Professional, não é possível realmente isolar um aplicativo a menos que você esteja executando em um Windows Server 2003.

  2. Wm Gerenciamento do Computador snap-in no seu servidor Web (localizado na pasta Ferramentas administrativas), selecione Usuários e Grupos Locais em Ferramentas do sistema.Adicione um novo usuário.Esse usuário será a identidade de seu pool de aplicativos, também conhecido como a identidade do processo para seu aplicativo ASP.NET.

    Na pasta Grupos em Usuários e Grupos Locais, adicione a identidade que você criou para seu aplicativo para o grupo IIS_WPG.Isso irá assegurar que a nova identidade possua as permissões necessárias para ser executado como uma identidade para um pool de aplicativos.

  3. Usando o Gerenciador Serviços de Informações da Internet (IIS) no seu servidor Web, crie um pool de aplicativos para o aplicativo.

    Abra a página de propriedades para o novo pool de aplicativos e selecione a guia Identidade.Definir a identidade como Configurável e fornecer o Nome de usuário e a Senha de sua identidade do pool de aplicativos criada anteriormente.

  4. Na pasta Sites da Web do Gerenciador dos Serviços de Informações da Internet (IIS), abra a página de propriedades para o seu aplicativo.Definir o Pool de Aplicativos do seu aplicativo da Web para o pool de aplicativos que você acabou de criar.Você talvez precise clique no botão Criar para criar seu aplicativo da Web como um aplicativo, se você ainda não fez isso.

    Você pode colocar vários aplicativos em um pool de aplicativos.Não se esqueça de restringir os aplicativos em um pool de aplicativos para somente os aplicativos que podem compartilhar dados, como vários aplicativos de um único cliente.

  5. Crie um diretório para o pool de aplicativos que conterá os arquivos temporários para os aplicativos no pool.Nos arquivos Web.config para todos os aplicativos em pool de aplicativos, especificar essa nova pasta como o diretório temporário para o aplicativo usando o atributo tempDirectory da seção de configuração compilação.Por exemplo:

    <configuration>
      <system.web>
        <compilation tempDirectory="C:\WebApps\AppPool1_Temp" />
      </system.web>
    </configuration>
    
  6. No sistema de arquivos do Windows.Defina as listas de Controle de Acesso (ACLs) de segurança para que a identidade do pool de aplicativos e quaisquer identidades representadas (consulte ASP.NET Impersonation) para o seu aplicativo tenham o acesso apropriado aos arquivos e subpastas que constituem seu aplicativo, bem como acesso completo para o diretório temporário criado anteriormente.Remova o grupo IIS_WPG dessas ACLs.Garanta que outros usuários no servidor não não tenham acesso a esses arquivos e pastas, a menos que necessário.Isso inclui a remoção grupos gerais, como o Everyone ou Users.Garantir que qualquer identidade representada é incluída nas ACLs listadas na ASP.NET Required Access Control Lists (ACLs).

Você também pode melhorar a segurança do seu aplicativo criptografando qualquer informações sigilosas em seus arquivos Web.config usando configuração protegida.Para obter mais informações, consulte Criptografando informações de configuração usando configuração protegida.

Consulte também

Conceitos

ASP.NET Required Access Control Lists (ACLs)

ASP.NET Impersonation

Referência

Elemento compilation (Esquema de configurações ASP.NET)