Diretrizes para criação de instalações seguras

Se você seguir as seguintes diretrizes ao criar um pacote do Windows Installer, isso ajudará a manter um ambiente seguro durante a instalação:

  • Os administradores devem instalar aplicativos gerenciados em uma pasta de instalação de destino na qual os usuários não administradores não tenham privilégios de alteração nem de modificação.
  • Torne qualquer propriedade definida pelo usuário uma propriedade pública. As propriedades privadas não podem ser alteradas pelo usuário que interage com a interface do usuário. Para obter informações, confira Sobre as propriedades.
  • Não use propriedades para senhas ou outras informações que precisam permanecer seguras. O instalador pode gravar o valor de uma propriedade criada na tabela Property ou criada em runtime em um log ou no Registro do sistema. Para obter mais informações, confira Como impedir que informações confidenciais sejam gravadas no arquivo de log.
  • Quando a instalação exigir que o instalador use privilégios elevados, use propriedades públicas restritas para restringir as propriedades públicas que um usuário pode alterar. Algumas restrições geralmente são necessárias para manter um ambiente seguro quando a instalação exige que o instalador use privilégios elevados.
  • Evite instalar serviços que representem os privilégios de um usuário específico, pois isso pode gravar dados de segurança em um log ou no Registro do sistema. Isso cria potencial para um problema de segurança, um conflito de senha ou a perda de dados de configuração quando o sistema é reiniciado. Para obter detalhes, confira Tabela ServiceInstall.
  • Use a tabela LockPermissions e a tabela MsiLockPermissionsEx para proteger serviços, arquivos, chaves do Registro e pastas criadas em um ambiente bloqueado.
  • Adicione uma assinatura digital à instalação para garantir a integridade dos arquivos. Para obter detalhes, confira Assinaturas digitais e Windows Installer e Como criar uma instalação assinada totalmente verificada.
  • Crie seu pacote do Windows Installer para que, se o usuário tiver acesso negado aos recursos, ocorra uma falha na instalação, de maneira a manter um ambiente seguro. Verifique os privilégios de acesso do usuário e determine se há espaço em disco suficiente antes do início da instalação. Normalmente, o instalador só deverá exibir uma caixa de diálogo Browse se o usuário atual for um administrador ou se a instalação não exigir privilégios elevados. Para obter detalhes, confira Resiliência da origem.
  • Use transformações protegidas para armazenar as transformações em um sistema de arquivos seguro localmente no computador do usuário. Isso impede que o usuário tenha acesso de gravação à transformação.
  • Para obter informações sobre como proteger fontes de mídia de aplicativos gerenciados, confira Resiliência da origem.
  • Use a propriedade Security Summary para indicar se o pacote deve ser aberto como somente leitura. Essa propriedade deve ser definida como somente leitura, recomendada para um banco de dados de instalação, e como somente leitura, imposta para uma transformação ou um patch.
  • O instalador executa ações personalizadas com privilégios de usuário por padrão para limitar o acesso das ações personalizadas ao sistema. O instalador poderá executar ações personalizadas com privilégios elevados se um aplicativo gerenciado estiver sendo instalado ou se a política do sistema tiver sido especificada para privilégios elevados. Para obter detalhes, confira Segurança da ação personalizada.
  • Use a política DisablePatch para fornecer segurança em ambientes em que a aplicação de patch precisa ser restrita.
  • Use a tabela AppId para registrar definições comuns de segurança e configuração para objetos DCOM.
  • Para obter informações relacionadas, confira Diretrizes para proteger ações personalizadas.
  • Para obter informações relacionadas, confira Diretrizes para proteger pacotes em computadores bloqueados.
  • A partir do Windows Installer 3.0, a Aplicação de patch do UAC (Controle de Conta de Usuário) permite que usuários não administradores apliquem patch a aplicativos instalados no contexto por computador. A aplicação de patch do UAC é habilitada fornecendo um certificado de signatário na tabela MsiPatchCertificate e assinando patches com o mesmo certificado.
  • A funcionalidade do Windows Installer 5.0 para definir permissões de acesso em serviços, arquivos, pastas criadas e entradas do Registro pode ajudar a tornar os aplicativos de instalação mais seguros. Para obter informações, confira Como proteger recursos.