Compartilhar via


Aplicativos seguros criados no .NET Framework

Este artigo discute considerações importantes para proteger aplicativos criados no Microsoft .NET Framework.

Para considerar aspectos importantes ao implantar aplicativos criados no .NET Framework, consulte os Considerações sobre a implantação de aplicativos criados no .NET Framework.

Aplica-se a: .NET Framework

Número original do KB: 818014

Ajustar a segurança do .NET Framework zona por zona

O .NET Framework atribui níveis de confiança a assemblies gerenciados. Essas atribuições são baseadas, em parte, na zona em que a montagem é executada. As zonas padrão são Meu Computador, Intranet Local, Internet, Sites Confiáveis e Sites Não Confiáveis. Talvez seja necessário aumentar ou reduzir o nível de confiança associado a qualquer uma dessas zonas. O .NET Framework inclui ferramentas para ajustar essas configurações.

Ajustar o nível de confiança em um assembly do .NET Framework

O .NET Framework inclui várias maneiras de determinar o nível de confiança que você deve conceder a um assembly. No entanto, você pode fazer exceções às regras para permitir que um assembly específico receba um nível de confiança mais alto do que normalmente receberia com base nas evidências fornecidas para o Common Language Runtime. O .NET Framework fornece uma ferramenta de assistente especificamente para essa finalidade.

Restaurar níveis de política que foram personalizados

Como administrador, você tem controle total sobre o acesso que concede a conjuntos de componentes (assemblies) executados nos vários níveis de confiança. Se você personalizar os níveis de confiança, poderá enfrentar problemas ao executar um aplicativo que normalmente é executado em um nível de confiança padrão. No entanto, você pode restaurar rapidamente os níveis de política para suas configurações padrão.

Avaliar as permissões concedidas a um assembly

Se você tiver políticas de configuração de segurança nos níveis corporativo, de computador e de usuário e níveis de confiança personalizáveis, talvez seja difícil avaliar as permissões concedidas a um assembly gerenciado. A ferramenta de configuração do .NET Framework inclui um método simples para avaliar essas permissões.

Audite a segurança do . NET

Durante atualizações, testes e solução de problemas, a configuração de sistemas de produção pode mudar de maneiras não intencionais. Por exemplo, um administrador pode conceder credenciais administrativas a um usuário ao determinar se um erro está relacionado aos direitos de acesso. Se esse administrador esquecer de revogar essas credenciais elevadas após concluir o processo de solução de problemas, a integridade do sistema será comprometida.

Como esse tipo de ação pode prejudicar a segurança do sistema ao longo do tempo, recomendamos que você faça auditorias regulares. Para executar as auditorias, crie uma medida de linha de base documentando os principais aspectos de um sistema imaculado. Compare essas configurações com a linha de base ao longo do tempo para determinar se algum problema desenvolvido pode reduzir significativamente o nível de segurança.

Configurar um aplicativo conectado ao .NET e ao SQL Server para usar um número de porta alternativo para comunicação de rede

Muitas ferramentas automatizadas identificam serviços e vulnerabilidades disponíveis consultando números de porta conhecidos. Essas ferramentas incluem ferramentas legítimas de avaliação de segurança e ferramentas que usuários mal-intencionados podem usar.

Uma maneira de reduzir a exposição a esses tipos de ferramentas é alterar o número da porta que os aplicativos usam. Você pode aplicar esse método ao . NET que dependem de um banco de dados SQL Server back-end. Esse método funciona se o servidor e o cliente estiverem configurados corretamente.

Bloquear um aplicativo Web ou serviço Web ASP.NET

Há muitas maneiras de aumentar a segurança de ASP.NET aplicativos e serviços da Web. Por exemplo, você pode usar a filtragem de pacotes, firewalls, permissões de arquivo restritivas, o filtro ISAPI (Interface de Programação de Aplicativo) da URL Scan Internet Server ou privilégios cuidadosamente controlados do SQL Server. Você deve examinar esses diferentes métodos para fornecer segurança detalhada para aplicativos ASP.NET.

Configurar permissões de arquivo NTFS para aumentar a segurança de aplicativos ASP.NET

As permissões de arquivo NTFS (New Technology File System) continuam a ser uma camada importante de segurança para aplicativos Web. ASP.NET aplicativos incluem muito mais tipos de arquivo do que os ambientes de aplicativo Web anteriores. A lista de arquivos aos quais as contas de usuário anônimo devem ter acesso não é óbvia.

Configurar a segurança do SQL Server para aplicativos criados no .NET Framework

Por padrão, o SQL Server não concede aos usuários a capacidade de consultar ou atualizar bancos de dados. Essa regra também se aplica a aplicativos ASP.NET e à conta de usuário ASPNET. Para permitir que ASP.NET aplicativos obtenham acesso aos dados armazenados em um banco de dados do SQL Server, o administrador do banco de dados deve conceder direitos à conta ASPNET.

Para obter mais informações sobre como configurar o SQL Server para permitir consultas e atualizações de aplicativos ASP.NET, consulte Configurar permissões em objetos de banco de dados.

Configurar URLScan para aumentar a proteção de ASP.NET aplicativos da web

Quando você instala o URLScan em um servidor do IIS 5.0 (Serviços de Informações da Internet 5.0), a ferramenta é configurada para permitir que aplicativos ASP 3.0 sejam executados. No entanto, quando você instala o .NET Framework, a configuração de URLScan não é atualizada para incluir os novos tipos de arquivo ASP.NET. Se você quiser a segurança adicional do filtro ISAPI URLScan para seus aplicativos ASP.NET, ajuste a configuração do URLScan.

Exigir autenticação para ASP.NET aplicativos Web

Muitos aplicativos ASP.NET não permitem acesso anônimo. Um aplicativo ASP.NET que requer autenticação pode usar um dos três métodos a seguir: autenticação de formulários, autenticação do .NET Passport e autenticação do Windows. Cada método de autenticação requer uma técnica de configuração diferente.

Restringir o acesso de usuários específicos a recursos da Web especificados

ASP.NET inclui autenticação de formulários. Esse método exclusivo autentica os usuários sem criar contas do Windows. ASP.NET também inclui a capacidade de conceder ou negar acesso a diferentes recursos da Web para esses usuários.

Para obter mais informações sobre como controlar o acesso aos recursos da Web por usuário, visite Restringir que usuários específicos obtenham acesso aos recursos da Web especificados.

Limitar os protocolos de serviços da Web permitidos por um servidor

Por padrão, ASP.NET dá suporte a três métodos para clientes de serviços Web emitirem solicitações para serviços Web: SOAP, HTTP GET e HTTP PUT. No entanto, a maioria dos aplicativos exige apenas um desses métodos. Recomendamos que você reduza a superfície de ataque desabilitando todos os protocolos não utilizados.

Não permita o acesso do navegador ao . NET conectados a serviços Web

ASP.NET serviços da Web fornecem uma interface amigável ao navegador para facilitar a criação de clientes de serviços da Web pelos desenvolvedores. Essa interface amigável permite que qualquer pessoa que possa acessar o serviço da Web visualize os detalhes completos dos métodos disponíveis e todos os parâmetros necessários. Esse acesso é útil para serviços públicos da Web que incluem apenas métodos disponíveis publicamente. No entanto, isso pode reduzir a segurança dos serviços Web privados.

Para obter mais informações sobre como controlar o acesso aos recursos da Web por usuário, consulte Restringir que usuários específicos obtenham acesso aos recursos da Web especificados.

Use ASP.NET para proteger tipos de arquivo

A estrutura de aplicativos ASP.NET faz com que muitos arquivos privados sejam armazenados junto com arquivos que os usuários finais solicitam. ASP.NET protege esses arquivos interceptando solicitações para os arquivos e retornando um erro. Você pode estender esse tipo de proteção para qualquer tipo de arquivo usando as definições de configuração. Se o aplicativo incluir tipos de arquivo incomuns que devem permanecer privados, você poderá usar ASP.NET proteção de arquivo para proteger esses arquivos.