Como atribuir privilégios mínimos a um serviço do Windows para provisionar novas contas

Como atribuir privilégios mínimos a um serviço do Windows para provisionar novas contas

Temos um serviço do Windows que atualmente é executado como LOCAL_SYSTEM - efetivamente um administrador local. Uma das funções do serviço é provisionar novas contas locais e adicioná-las a um grupo específico. O seguinte é possível?

  1. Use uma conta/grupo de usuário específico para a conta de serviço e atribua privilégios a ela para que possa criar novas contas.
  2. Limite o serviço para que ele possa criar apenas usuários com privilégios limitados. Por exemplo, as contas que prestam serviços não possuem logon interativo e são membros de um grupo específico.
  3. Configure isso com o PowerShell.

Eu presumi que isso seria possível por meio da Política de Segurança Local, mas não parece ser. Adicionar a conta de serviço aos Administradores funcionará, mas não me ajuda a reduzir os privilégios da conta de serviço.

O objetivo disso é que, se o serviço for hackeado de alguma forma, possamos limitar os danos - o hacker só pode criar contas menos privilegiadas que a conta do serviço.

Observe que isso se refere a contas locais e não a contas de domínio.

Responder1

Você poderia usar o PowershellCapacidades de função JEAe criar um recurso que permita que a conta local use apenas comandos relacionados ao gerenciamento de usuários locais (New-LocalUser, Add-LocalGroupMember) e restrinja os parâmetros permitidos de tal forma que apenas grupos de baixo privilégio sejam aceitos como argumento.

Isso deve começar:

https://docs.microsoft.com/en-us/powershell/scripting/learn/remoting/jea/role-capabilities?view=powershell-7

informação relacionada