Implantação ClickOnce e segurança

Aplicativos que são implantados usando ClickOncetecnologia executados em uma "proteção", com um conjunto limitado de permissões com base em uma zona de segurança. A tabela a seguir lista as permissões padrão com base no local de implantação:

Local de implantação

Zona de segurança

Executar a partir da Web

Zona da Internet

Instalar a partir da Web

Zona da Internet

Instalar a partir de compartilhamento de arquivo de rede

Zona de intranet

Instalar a partir do CD-ROM

Confiança Total

As permissões padrão são com base no local do qual a versão original do aplicativo foi implantada, atualizações para o aplicativo herdará essas permissões.Se o aplicativo estiver configurado para verificar atualizações a partir de um local de rede ou Web e uma versão mais recente disponível, a instalação original pode receber permissões para a zona de Internet ou intranet em vez das permissões de confiança total.Para impedir que sistema autônomo usuários sejam solicitados, um administrador do sistema pode especificar uma diretiva de implantação do ClickOnce que define um publicador de aplicativo específico, sistema autônomo uma fonte confiável.Para computadores em que esta diretiva é implantada, permissões serão concedidas automaticamente e o usuário não será solicitado.

Permissões e segurança

sistema autônomo desenvolvedor, é sua responsabilidade certificar-se de que seu aplicativo será executado com sistema autônomo permissões apropriadas.

Observação:

Visual Studio permite que você depurar seu aplicativo na zona de segurança de destino e fornece ajuda para desenvolver aplicativos seguros.

Há casos em que um ClickOnce aplicativos podem exigir permissões elevadas. Por exemplo, um aplicativo que tem que interagir com uma planilha do Excel poderia exigir permissões além daquelas definidas para as zonas de Internet ou intranet.Se um aplicativo requer permissões elevadas, o usuário será solicitado durante a instalação para conceder permissão.Se o usuário aceitar, o aplicativo será instalado; se não for, a instalação será interrompida.

Observação:

Para impedir que os usuários sejam solicitados, pode especificar um administrador do sistema um ClickOnce diretiva de implantação que define um publicador de aplicativo específico, sistema autônomo uma fonte confiável. Nos computadores onde esta diretiva é implantada, permissões serão concedidas automaticamente e o usuário não será solicitado.

As permissões para um aplicativo são determinadas pelas configurações no < trustInfo > Elemento (aplicativo ClickOnce) elemento de manifesto do aplicativo. Visual Studio gera automaticamente informações sobre este com base nas configurações sobre o projeto Segurança página de propriedades.A ClickOnce aplicativo recebe apenas as permissões específicas que ele solicita. Por exemplo, onde o acesso ao arquivo requer permissões de confiança total, se o aplicativo solicitar permissão de acesso ao arquivo, ele somente recebem permissão de acesso a arquivos, as permissões de confiança total não.Ao desenvolver o seu ClickOnce aplicativo, você deve certificar-se de que você solicite apenas as permissões específicas que o aplicativo precisa.

Além disso, o manifesto de implantação deve ser assinado usando a assinatura de Authenticode.O publicador informações com base em assinatura Authenticode serão exibidas para o usuário na caixa de diálogo permissões durante a instalação, para mostrar o usuário que originou o aplicativo de uma fonte confiável.The Windows Software Development Kit (SDK) inclui uma ferramenta de assinatura de arquivo, Ferramenta de entrada (SignTool.exe), que permite que você assinar o manifesto. (Observe o signcode.exe ferramenta de assinatura foi preterido.)

Observação:

Funcionalidade de assinatura, disponível no Visual Studio 2003 e versões anteriores, foi removida Instalação e implantação projetos de O programa de instalação projetosConfiguração da Web projetosCAB projetos de e mesclagem módulos).Se você importou um projeto Visual Studio 2003 com assinatura ativada ao Visual Studio 2005, ou se você desejar habilitar a assinatura para seu projeto de implantação, você precisará assinar os arquivos na saída de compilação com Ferramenta de entrada (SignTool.exe) em um POST-etapa de compilação. Para obter informações sobre como fazer isso, consulte O arquivo '< arquivo >' não foi assinado.

Autenticação baseada em formulário ASP.NET

Se você desejar controlar as implantações de cada usuário pode acessar, você não deve ativar acesso anônimo a ClickOnce aplicativos implantados em um servidor Web. Em vez disso, permite aos usuários acesso às implantações que instalar com base na identidade do usuário (usando a autenticação do Windows NT).

Se você implantar um ambiente sem a autenticação do Windows NT, uma solução possível tentar usar a autenticação com base em formulário ASP.NET para autenticar o usuário.No entanto, ClickOnce não suporte a autenticação baseada em formulários porque ele usa cookies persistentes; esses presentes de segurança risco porque eles residem no cache do Internet Explorer e podem ser atacado por hackers. Portanto, se você estiver implantando ClickOnce aplicativos, qualquer cenário de autenticação além de autenticação do Windows NT não é suportado.

Passando argumentos

Uma consideração de segurança adicional ocorre se você tiver passar argumentos para um ClickOnce aplicativo. ClickOnce os desenvolvedores podem fornecer uma seqüência de consulta de aplicativos implantados pela Web. A seqüência de caracteres de consulta assume a forma de uma série de pares nome / valor no participante do URL usado para iniciar o aplicativo:

http://servername.adatum.com/WindowsApp1.aplicativo?username=joeuser

Por padrão, os argumentos de seqüência de caracteres de consulta estão desabilitados.Para habilitá-los, o atributo trustUrlParameters deve ser conjunto no manifesto de implantação do aplicativo. Esse valor pode ser definido de Visual Studio e de MageUI.exe. Para obter etapas detalhadas sobre como ativar a passagem de seqüências de caracteres da consulta, consulte Como: Recuperar informações do string de consulta em um aplicativo ClickOnce.

Você nunca deve passar argumentos recuperados por meio de uma seqüência de caracteres de consulta a um banco de dados ou na linha de comando sem verificar os argumentos para verificar se são seguros.Argumentos não seguros são aquelas que incluem caracteres de escape banco de dados ou linha de comando que podem permitir que um utilizador mal intencionado manipular seu aplicativo para executar comandos arbitrários.

Observação:

Argumentos de seqüência de caracteres de consulta são a única forma de passar argumentos para um ClickOnce aplicativo na inicialização. Você não pode passar argumentos para um ClickOnce aplicativo a partir da linha de comando.

Implantar assemblies ofuscadas

Você talvez queira ofuscar o seu aplicativo usando o Dotfuscator para impedir que outras pessoas o código de engenharia reversa.No entanto, ofuscação assembly não está integrada ao IDE do Visual Studio ou o processo de implantação de ClickOnce.Portanto, você terá que executar o obscurecimento fora do processo de implantação, talvez usando uma etapa pós-compilação.Depois de criar o projeto, você teria execute as seguintes etapas manualmente, fora do Visual Studio:

  1. Execute o obscurecimento usando Dotfuscator.Para obter mais informações, consulte Demonstra Passo a passo: Implantando um aplicativo ClickOnce manualmente.

  2. Use Mage.exe ou MageUI.exe para gerar os manifestos ClickOnce e assiná-las.Para obter mais informações, consulte Geração e Edição (Mage.exe) ferramenta de manifesto e Ferramenta de edição, cliente gráfico (MageUI.exe) e geração de manifesto.

  3. Publicar manualmente (copie) os arquivos para a implantação de fonte local (servidor Web, compartilhamento UNC ou CD-ROM).

Consulte também

Conceitos

Escolhendo uma estratégia de implantação

Escolhendo uma estratégia de implantação do ClickOnce

Referência

Arquivo Autenticando ferramenta (Signcode.exe)

Outros recursos

Implantação do ClickOnce