Descrições de algumas práticas recomendadas quando você criar Windows Services

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 821794
Sumário
Este artigo descreve alguns erros comuns que você deve evitar ao escrever um serviço. O artigo também sugere práticas recomendadas a serem seguidas quando você cria o Microsoft Windows. Um serviço do Windows é um programa, uma rotina ou um processo que executa uma função específica do sistema para dar suporte a outros programas, especialmente em um nível baixo (perto do hardware). Exemplos de serviços do Windows incluem produtos de servidor, como o Microsoft Exchange e Microsoft SQL Server e outros aplicativos de cliente, como o timer do Windows que define o relógio do computador. Windows Services é iniciado automaticamente quando você inicia o computador e não tem uma interface de usuário.
Mais Informações
As diretrizes a seguir podem ser útil quando você escrever um serviço do Windows:
  • Crie seu serviço para uso sem uma interface de usuário. Aplicativos de serviço execute fora de qualquer contexto de usuário específico e não devem exigir intervenção por parte do usuário. Esses aplicativos normalmente executam tarefas em segundo plano. Crie seu serviço seja executado sem qualquer intervenção do usuário.
  • Não crie serviços interativos. Execute o serviço como um serviço isolado sem a intervenção do usuário.

    Quando o usuário interativo é conectado a mesma instância dos serviços do Windows, podem ocorrer ataques de mensagem de janela. O usuário interativo pode inserir e executar o códigos arbitrários em um processo de serviços interativos.

    Se o usuário interativo envia uma mensagem WM_COPYDATA , copia o código mal-intencionado no espaço de endereço de um processo altamente privilegiado serviço interativo e, em seguida, envia uma mensagem WM_TIMER o processo de serviço é executado o código mal-intencionado. Este elevação de privilégio ataque pode ser realizada por um usuário com acesso físico ao computador ou por um usuário fizer logon no computador usando o Microsoft Terminal Services.
  • Remova todas as instruções Assert antes de você entregar seu serviço. A Microsoft não recomenda que você use o método Assert . O método Assert exibe uma caixa de diálogo que mostra a linha de código que falhou e, em seguida, lhe dá a opção para depurar o código. Portanto, remova todas as instruções Assert antes de entregar seu serviço.
  • Execute o serviço em um contexto de segurança específico. Para ajudar a proteger seu sistema contra ataques, execute o serviço com direitos de usuário mínimo. Se você precisar de mais direitos do usuário que aqueles que são concedidas a contas de usuário mínimos, não execute o serviço como um usuário com credenciais administrativas.

    Além disso, não altere a diretiva de segurança para elevar os direitos de usuário de logons do internos (SYSTEM, logon anônimo, serviço local e serviço de rede). Em vez disso, crie uma conta personalizada e, em seguida, conceder à conta direitos de que seu serviço pode exigir. Se você precisar de credenciais de rede, use uma conta de domínio. Se você não precisar de credenciais de rede, use uma conta local. Você pode gastar mais tempo criando uma conta personalizada com direitos de usuário limitado, mas isso é mais seguro do que se você ou executar o serviço com muitos direitos de usuário ou quando você adicionar direitos de usuário para uma conta que seja incluído no sistema operacional.
  • Evite usar unidades mapeadas e impressão no Windows Services. Unidades mapeadas e de impressão estão geralmente disponíveis para um determinado usuário ou um grupo de usuários. Se você estiver usando unidades mapeadas ou impressão, verifique assegurar que seu serviço seja executado em uma conta com os direitos de usuário que eles devem ter para acessar as unidades mapeadas ou impressão. Normalmente, as unidades mapeadas desconectar-se quando você efetuar logoff e, em seguida, se reconectar ao fazer logon computador.
  • Evite confiar em configurações de perfil do usuário quando você escreve Windows Services.
Referências
Para obter mais informações sobre os serviços do Windows, visite os seguintes sites da Microsoft Developer Network:

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 821794 - Última Revisão: 11/26/2007 07:02:04 - Revisão: 2.7

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbmt kbvs2005applies kbvs2005swept kbdevsecurity kbserviceprocess kbservice kbserver kbinfo KB821794 KbMtpt
Comentários