Usando a conta LocalSystem como uma conta de logon de serviço
Uma vantagem de executar na conta LocalSystem é que o serviço tem acesso irrestrito completo aos recursos locais. Essa também é uma desvantagem do LocalSystem porque um serviço LocalSystem pode fazer coisas que derrubariam todo o sistema. Em particular, um serviço em execução como LocalSystem em um controlador de domínio (DC) tem acesso irrestrito aos Serviços de Domínio Active Directory. Isso significa que bugs no serviço ou ataques de segurança no serviço podem danificar o sistema ou, se o serviço estiver em um DC, danificar toda a rede corporativa.
Por esses motivos, os administradores de domínio em instalações confidenciais serão cautelosos ao permitir que os serviços sejam executados como LocalSystem. Na verdade, eles podem ter políticas contra isso, especialmente em CDs. Se o serviço precisar ser executado como LocalSystem, a documentação do serviço deverá justificar aos administradores de domínio os motivos para conceder ao serviço o direito de ser executado com privilégios elevados. Os serviços nunca devem ser executados como LocalSystem em um controlador de domínio. Para obter mais informações e um exemplo de código que mostra como um serviço ou instalador de serviço pode determinar se ele está em execução em um controlador de domínio, consulte Testando se está sendo executado em um controlador de domínio.
Quando um serviço é executado na conta LocalSystem em um computador que é membro do domínio, o serviço tem qualquer acesso à rede concedido à conta do computador ou a qualquer grupo do qual a conta do computador seja membro. Lembre-se de que, no Windows 2000, uma conta de computador de domínio é uma entidade de serviço, semelhante a uma conta de usuário. Isso significa que uma conta de computador pode estar em um grupo de segurança e uma ACE em um descritor de segurança pode conceder acesso a uma conta de computador.
Lembre-se de que a adição de contas de computador a grupos não é recomendada por dois motivos:
- As contas de computador estão sujeitas a exclusão e recriação se o computador sair e ingressar novamente no domínio.
- Se você adicionar uma conta de computador a um grupo, todos os serviços em execução como LocalSystem nesse computador terão permissão para os direitos de acesso do grupo. Isso ocorre porque todos os serviços LocalSystem compartilham a conta de computador de seu servidor host. Por esse motivo, é particularmente importante que as contas de computador não sejam membros de nenhum grupo de administradores de domínio.
As contas de computador normalmente têm poucos privilégios e não pertencem a grupos. A proteção de ACL padrão no AD DS (Active Directory Domain Services) permite acesso mínimo para contas de computador. Consequentemente, os serviços executados como LocalSystem, em computadores que não sejam DCs, têm apenas acesso mínimo ao AD DS.
Se o serviço for executado em LocalSystem, você deverá testá-lo em um servidor membro para garantir que seu serviço tenha direitos suficientes para ler/gravar nos Controladores de Domínio do Active Directory. Um controlador de domínio não deve ser o único computador Windows no qual você testa seu serviço. Lembre-se de que um serviço executado em LocalSystem em um controlador de domínio do Windows tem acesso completo ao AD DS e que um servidor membro é executado no contexto da conta de computador que tem substancialmente menos direitos.