Proteção de aplicativos de ClickOnce
ClickOnceaplicativos estão sujeitos a restrições de segurança de acesso do código na.NET Framework para ajudar a limitar o acesso que código tem para protegida recursos e operações.Por esse motivo, é importante que você entenda as implicações de segurança de acesso de código para escrever seu ClickOnce aplicativos de acordo.Seus aplicativos podem usar confiança total ou usar zonas parciais, como zonas de Internet e Intranet, para limitar o acesso.
Além disso, o ClickOnce usa certificados para verificar a autenticidade do Editor do aplicativo e para assinar o aplicativo e implantação manifestos para provar que os arquivos não foi violados.A assinatura é uma etapa opcional, o que torna mais fácil de alterar os arquivos do aplicativo após os manifestos são gerados.No entanto, sem manifestos assinados, é difícil garantir que o instalador do aplicativo não foi violado em ataques de interceptação na segurança.Por esse motivo, recomendamos que você assina o aplicativo e manifestos de implantação para ajudar a proteger seus aplicativos.
Regiões
Aplicativos que são implantados usando ClickOnce tecnologia são restritos a um conjunto de permissões e ações definidas para a zona de segurança.Zonas de segurança definidas no Internet Explorer e baseadas no local do aplicativo.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 o compartilhamento de rede |
Zona da Intranet local |
Instalar de CD-ROM |
Confiança Total |
As permissões padrão são baseadas 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 se há atualizações de um local de rede ou da Web e uma versão mais recente disponível, a instalação original pode receber permissões para a zona da Internet ou Intranet em vez das permissões de confiança total.Para impedir que os usuários sejam solicitados, um administrador de sistema pode especificar uma diretiva de implantação de ClickOnce que define um editor de aplicativo específico, como uma fonte confiável.Para computadores em que esta diretiva é implantada, as permissões serão concedidas automaticamente e o usuário não será solicitado.Para mais informações, consulte Visão geral sobre implantação de aplicativos confiáveis.Para configurar a implantação de aplicativo confiável, o certificado pode ser instalado no nível da máquina ou da empresa.Para mais informações, consulte Como: adiciona um editor confiável para um computador cliente para aplicativos de ClickOnce.
Diretivas de segurança de acesso de código
Permissões para um aplicativo são determinadas pelas configurações do <trustInfo> Elemento (aplicativo de ClickOnce) o elemento do manifesto do aplicativo.Visual Studiogera automaticamente informações com base nas configurações de projeto Security página de propriedade.A ClickOnce aplicativo recebe apenas as permissões específicas que solicita.Por exemplo, onde o acesso ao arquivo requer permissões de confiança total, se o aplicativo solicitar permissão de acesso a arquivos, ela somente recebem permissão de acesso a arquivos, permissões de confiança total não.Ao desenvolver seu ClickOnce aplicativo, verifique se você solicitar apenas as permissões específicas que o aplicativo precisa. Na maioria dos casos, você pode usar zonas da Internet ou Intranet Local para limitar o aplicativo de confiança parcial.Para mais informações, consulte Como: definir uma zona de segurança para um aplicativo de ClickOnce.Se seu aplicativo requer permissões personalizadas, você pode criar uma zona personalizada.Para mais informações, consulte Como: definir permissões personalizadas para um aplicativo de ClickOnce.
Incluindo uma permissão que não fazem parte do padrão permissão definida para a zona da qual o aplicativo é implantado fará com que o usuário final ser solicitado a conceder permissão de instalar ou atualizar o tempo.Para impedir que os usuários sejam solicitados, um administrador de sistema pode especificar uma diretiva de implantação de ClickOnce que define um editor de aplicativo específico, como uma fonte confiável.Em computadores onde esta diretiva é implantada, as permissões serão concedidas automaticamente e o usuário não será solicitado.
Como desenvolvedor, é sua responsabilidade certificar-se de que seu aplicativo será executado com as permissões apropriadas.Se o aplicativo solicitar permissões fora de uma zona de tempo de execução, uma exceção de segurança pode aparecer.Visual Studiopermite que você depurar seu aplicativo na zona de segurança de destino. e fornece ajuda no desenvolvimento de aplicativos seguros.Para mais informações, consulte Como: Depurar um aplicativo de ClickOnce com permissões restritas.
Para obter mais informações sobre segurança do acesso ao código e ClickOnce, consulte Segurança de acesso ao código para aplicativos de ClickOnce.
Certificados de assinatura de código
Publicar um aplicativo usando ClickOnce implantação, você pode assinar os manifestos de aplicativo e implantação para o aplicativo usando um par de chaves pública/particular.Ferramentas para um manifesto de assinatura estão disponíveis no assinatura página do Project Designer.Para mais informações, consulte Assinatura de página, Designer de projeto.Como alternativa, você pode assinar os manifestos com um arquivo de chave durante o processo de publicação usando o Publish Wizard.
Após os manifestos são assinados, as informações do Editor 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 ao usuário que originou a aplicação de uma fonte confiável.
Para obter mais informações sobre ClickOnce e certificados, consulte ClickOnce e Authenticode.
ASP.NET autenticação baseada em formulário
Se você deseja 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 a implantações instalou com base na identidade do usuário usando autenticação do Windows.
ClickOncenão oferece suporte a ASP.NET autenticação baseada em formulários, porque ele usa cookies persistentes; Esses apresentam um risco de segurança porque eles residem no cache do Internet Explorer e podem ser invadidos.Portanto, se você estiver implantando ClickOnce aplicativos, qualquer cenário de autenticação além de autenticação do Windows é suportado.
Passando argumentos
Uma consideração de segurança adicional ocorre se você tiver que passar argumentos para uma ClickOnce aplicativo.ClickOnceos desenvolvedores podem fornecer uma seqüência de consulta para aplicativos implantados pela Web.A seqüência de consulta assume a forma de uma série de pares nome / valor no final da URL usada para iniciar o aplicativo:
http://servername.adatum.com/WindowsApp1.Application?username=joeuser
Por padrão, os argumentos de seqüência de consulta estão desabilitados.Para habilitá-los, o atributo trustUrlParameters deve ser definido no manifesto de implantação do aplicativo.Esse valor pode ser definido de Visual Studio e MageUI.exe.Para obter etapas detalhadas sobre como habilitar passar cadeias de caracteres de consulta, consulte Como: recuperar informações de seqüência de caracteres de consulta em um aplicativo on-line ClickOnce.
Você nunca deve passar argumentos recuperados por meio de uma seqüência de caracteres de consulta para um banco de dados ou para a linha de comando sem verificar os argumentos para certificar-se de que eles são seguros.Argumentos perigosos são aqueles que incluem caracteres de escape de banco de dados ou de linha de comando que podem permitir que um usuário mal-intencionado manipular seu aplicativo para executar comandos arbitrários.
Observação |
---|
Argumentos de seqüência de caracteres de consulta são a única maneira de passar argumentos para uma ClickOnce aplicativo na inicialização.Não é possível passar argumentos para uma ClickOnce aplicativo de linha de comando. |
Implantar Assemblies ofuscados
Talvez você queira ofuscar seu aplicativo usando o Dotfuscator para impedir que outras pessoas o código de engenharia reversa.No entanto, obscurecimento do assembly não é integrado ao IDE Visual Studio ou o processo de implantação ClickOnce.Portanto, você terá que executar o obscurecimento fora do processo de implantação, talvez usando uma etapa de pós-compilação.Depois de criar o projeto, seria execute as seguintes etapas manualmente, fora da Visual Studio:
Execute o obscurecimento Dotfuscator.
Use Mage ou MageUI.exe para gerar manifestos ClickOnce e assiná-las.Para obter mais informações, consulte Mage (geração de manifesto e ferramenta de edição) e MageUI.exe (geração de manifesto e edição da ferramenta, o cliente gráfico).
Publicar manualmente (copiar) arquivos para a implantação de origem local (servidor Web, compartilhamento UNC ou CD-ROM).
Consulte também
Conceitos
Implantação e segurança de ClickOnce