Que conta de usuário devemos usar para tarefas agendadas em um servidor com material confidencial?

3

Estou trabalhando em uma equipe com 10 desenvolvedores. Temos uma configuração de servidores que executa backup, criação automatizada de software, implantação automatizada e muito mais. Alguns desses servidores contêm material sensitivo, como detalhes de login em sistemas de produção (o que é necessário para implantação automatizada).

Queremos limitar quem tem acesso a essas máquinas para reduzir o risco de que as senhas vazem acidentalmente. Para fazer isso, criamos um grupo no Active Directory contendo 4 pessoas com permissão para acessar os servidores que contêm o material confidencial e garantimos que apenas esses 4 usuários pudessem fazer logon.

Alguns desses servidores executam tarefas agendadas e serviços do Windows para executar backup / implantação. Essas tarefas / serviços são executados sob uma conta de usuário "compartilhada" específica, vamos chamá-la de "buildacc". A razão para isso é que as tarefas exigem acesso a recursos compartilhados na rede para poder executar a compilação / implantação. Então, demos a esse usuário acesso aos servidores também.

Para poder modificar as tarefas agendadas no Windows, todos os 4 desenvolvedores precisam ter acesso a essa conta "buildacc", o que significa que todos eles precisam saber a senha compartilhada e informar um ao outro quando é alterado, o que não como a ideia de.

Consideramos o uso de contas pessoais para executar tarefas agendadas, como o script de criação. A desvantagem que vemos é que qualquer membro da equipe pode alterar o script de construção e fazê-lo fazer coisas novas na conta do usuário que configurou a tarefa agendada real.

Existe alguma prática recomendada sobre como lidar com essa situação?

    
por nitramk 16.07.2013 / 15:03

3 respostas

2

Supondo que você esteja usando um sistema Windows 2008R2 e um 2008R2 AD, você pode usar uma conta de serviço gerenciado para isso.

Esta entrada de blog da technet tem um bom resumo sobre como usar contas de serviço gerenciadas, mas aqui estão os princípios básicos:

Uma conta de serviço gerenciado é uma conta do AD que está strongmente vinculada a um computador e que possui uma senha gerenciada automaticamente. Você não cria a senha e ninguém precisa saber disso, mas como é uma conta do AD, você pode usá-la para ACLs de rede, o que a torna perfeita para o seu cenário.

No entanto, o uso de um MSA para uma tarefa agendada exige que você use a linha de comando para criar suas tarefas (consulte isto e este tópico para mais detalhes).

    
por 16.07.2013 / 15:48
3

Em geral, o que você fez na frente está bem. Uma conta de estilo "serviço" dedicada configurada com as permissões necessárias e usada para executar as tarefas agendadas.

Neste ponto, tudo o que você realmente precisa fazer é:

  1. Altere a senha para buildacc
  2. Não deixe os 4 desenvolvedores saberem a senha
  3. Designe a alguém a tarefa de alterar os scripts / tarefas daqui para frente (ou seja, políticas de Controle de Mudanças) depois que os desenvolvedores mudarem seu código.

É realmente apenas uma questão de política interna neste momento. Você deve configurar as tarefas agendadas para que elas não sejam realmente alteradas. Ou seja, se estiver executando "test.exe", os desenvolvedores modificarão esse arquivo exe, mas não a tarefa agendada em si. Se todos os 4 desenvolvedores realmente precisarem acessar para alterar as tarefas agendadas, você estará simplesmente preso onde você está ...

EDIT: Eu também o aconselho a ser liberal demais com sua conta buildacc em serviços e servidores. Melhor manter estritamente para "compilações" e fazer backups e outros serviços em suas próprias contas dedicadas.

    
por 16.07.2013 / 15:22
1

Vejo várias respostas mencionando o MSA como uma solução para a conta usada para executar uma tarefa agendada, mas como mencionado pelo autor deste post, eles usam o Windows Server 2008 R2 e, de acordo com minha pesquisa, MSA neste sistema operacional não pode ser usado para executar tarefas agendadas .

No entanto, com o Windows Server 2012, um gMSA (Group Managed Service Account) pode ser usado para executar tarefas agendadas, conforme explicado neste artigo .

    
por 21.05.2015 / 10:17