Protegendo contas de serviço locais
Um serviço tem uma identidade de segurança principal que determina os direitos de acesso para recursos locais e de rede. O contexto de segurança para um serviço Microsoft Win32 é determinado pela conta de serviço usada para iniciar o serviço. Você usa uma conta de serviço para:
- Identificar e autenticar um serviço.
- Iniciar um serviço com êxito.
- Acesse ou execute código ou um aplicativo.
- Inicie um processo.
Tipos de contas de serviço locais
Dependendo do seu caso de uso, você pode usar uma conta de serviço gerenciado (MSA), uma conta de computador ou uma conta de usuário para executar um serviço. Você deve primeiro testar um serviço para confirmar que ele pode usar uma conta de serviço gerenciado. Se o serviço pode usar um MSA, você deve usar um.
Contas de serviço gerenciadas do grupo
Para serviços executados em seu ambiente local, use contas de serviço gerenciado de grupo (gMSAs) sempre que possível. Os gMSAs fornecem uma solução de identidade única para serviços executados em um farm de servidores ou atrás de um balanceador de carga de rede. gMSAs também podem ser usados para serviços executados em um único servidor. Para obter informações sobre os requisitos para gMSAs, consulte Introdução às contas de serviço gerenciadas por grupo.
Contas de serviço gerenciadas autônomas
Se você não puder usar um gMSA, use uma conta de serviço gerenciado autônoma (sMSA). sMSAs requerem pelo menos o Windows Server 2008 R2. Ao contrário dos gMSAs, os sMSAs são executados em apenas um servidor. Eles podem ser usados para vários serviços nesse servidor.
Contas de computador
Se você não puder usar um MSA, considere usar uma conta de computador. A conta LocalSystem é uma conta local predefinida que tem permissões extensas no computador local e atua como a identidade do computador na rede.
Os serviços executados como uma conta LocalSystem acessam recursos de rede usando as credenciais da conta de computador no formato <domain_name>\<computer_name>. Seu nome predefinido é NT AUTHORITY\SYSTEM. Você pode usá-lo para iniciar um serviço e fornecer um contexto de segurança para esse serviço.
Nota
Quando você usa uma conta de computador, não pode determinar qual serviço no computador está usando essa conta. Consequentemente, não é possível auditar qual serviço está fazendo alterações.
Contas de utilizador
Se você não puder usar um MSA, considere usar uma conta de usuário. Uma conta de usuário pode ser uma conta de usuário de domínio ou uma conta de usuário local .
Uma conta de usuário de domínio permite que o serviço aproveite ao máximo os recursos de segurança do serviço do Windows e dos Serviços de Domínio Ative Directory da Microsoft. O serviço terá permissões locais e de rede concedidas à conta. Ele também terá as permissões de quaisquer grupos dos quais a conta é membro. As contas de serviço de domínio suportam autenticação mútua Kerberos.
Uma conta de usuário local (formato de nome: .\UserName) existe somente no banco de dados do Gerenciador de Contas de Segurança do computador host. Ele não tem um objeto de usuário nos Serviços de Domínio Ative Directory. Uma conta local não pode ser autenticada pelo domínio. Portanto, um serviço executado no contexto de segurança de uma conta de usuário local não tem acesso aos recursos da rede (exceto como um usuário anônimo). Os serviços executados no contexto de usuário local não podem oferecer suporte à autenticação mútua Kerberos na qual o serviço é autenticado por seus clientes. Por esses motivos, as contas de usuário locais são normalmente inadequadas para serviços habilitados para diretório.
Importante
As contas de serviço não devem ser membros de nenhum grupo privilegiado, porque a associação a grupos privilegiados confere permissões que podem ser um risco de segurança. Cada serviço deve ter a sua própria conta de serviço para fins de auditoria e segurança.
Escolha o tipo certo de conta de serviço
Critério | gMSA | sMSA | Conta de computador | Conta de utilizador |
---|---|---|---|---|
O aplicativo é executado em um único servidor | Sim | Sim. Use um gMSA, se possível. | Sim. Use um MSA, se possível. | Sim. Use um MSA, se possível. |
O aplicativo é executado em vários servidores | Sim | No | N.º A conta está vinculada ao servidor. | Sim. Use um MSA, se possível. |
O aplicativo é executado atrás de um balanceador de carga | Sim | No | Não | Sim. Utilize apenas se não puder utilizar uma gMSA. |
O aplicativo é executado no Windows Server 2008 R2 | Não | Sim | Sim. Use um MSA, se possível. | Sim. Use um MSA, se possível. |
O aplicativo é executado no Windows Server 2012 | Sim | Sim. Use um gMSA, se possível. | Sim. Use um MSA, se possível. | Sim. Use um MSA, se possível. |
Requisito para restringir a conta de serviço a um único servidor | Não | Sim | Sim. Use um sMSA, se possível. | Não |
Usar logs do servidor e PowerShell para investigar
Você pode usar logs de servidor para determinar em quais servidores e em quantos servidores um aplicativo está sendo executado.
Para obter uma listagem da versão do Windows Server para todos os servidores na rede, você pode executar o seguinte comando do PowerShell:
Get-ADComputer -Filter 'operatingsystem -like "*server*" -and enabled -eq "true"' `
-Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
sort-Object -Property Operatingsystem |
Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
Out-GridView
Localizar contas de serviço locais
Recomendamos que você adicione um prefixo como "svc-" a todas as contas que você usa como contas de serviço. Essa convenção de nomenclatura tornará as contas mais fáceis de encontrar e gerenciar. Considere também o uso de um atributo description para a conta de serviço e o proprietário da conta de serviço. A descrição pode ser um alias de equipe ou proprietário de equipe de segurança.
Encontrar contas de serviço locais é fundamental para garantir sua segurança. Fazer isso pode ser difícil para contas que não sejam MSA. Recomendamos que você revise todas as contas que têm acesso aos seus recursos locais importantes e que determine quais contas de computador ou usuário podem estar agindo como contas de serviço.
Para saber como encontrar uma conta de serviço, consulte o artigo sobre esse tipo de conta na seção "Próximas etapas".
Contas de serviço de documentos
Depois de encontrar as contas de serviço em seu ambiente local, documente as seguintes informações:
Proprietário: a pessoa responsável pela manutenção da conta.
Finalidade: A aplicação que a conta representa, ou outra finalidade.
Escopos de permissão: as permissões que ele tem ou deveria ter e quaisquer grupos dos quais seja membro.
Perfil de risco: O risco para o seu negócio se esta conta for comprometida. Se o risco for alto, use um MSA.
Tempo de vida antecipado e atestado periódico: por quanto tempo você prevê que essa conta estará ativa e com que frequência o proprietário deve revisar e atestar sua necessidade contínua.
Segurança de senha: Para contas de usuário e computador local, onde a senha é armazenada. Certifique-se de que as senhas são mantidas seguras e documente quem tem acesso. Considere usar o Windows LAPS para proteger contas em contas de computador local.
Próximos passos
Para saber mais sobre como proteger contas de serviço, consulte os seguintes artigos: