Quão arriscado é armazenar credenciais no disco em um Powershell SecureString?

1
Basicamente, eu quero armazenar em cache as credenciais necessárias para o New-PSSession e disponibilizá-las aos scripts para que eles não tenham que importunar um ser humano.

Se eu usar export-clixml ou similar para armazenar um PSCredential em disco, quanto risco de comprometimento isso adicionará ao mantê-lo em uma variável de sessão?

    
por Simon Gill 18.03.2015 / 16:38

2 respostas

1

PSCredential criptografa a string usando a chave privada dessa máquina. Os dados criptografados têm o mesmo nível de proteção em repouso, como acontece em movimento. O nível de criptografia depende do certificado que está sendo usado, portanto, verifique o modelo de certificado do seu ambiente para o registro automático da máquina (se você usá-lo). Alternativamente, você poderia apenas olhar para o certificado na máquina em questão.

Tendo dito isso, a string pode ser facilmente descriptografada com um liner powershell (usando .Net e não os cmdlets embutidos). Tudo o que alguém precisa é de acesso ao sistema e ao arquivo. Eu recomendo strongmente que você veja outras alternativas, como uma ferramenta de gerenciamento de senha hospedada localmente.

    
por 20.03.2015 / 20:43
0

Qual é o bloqueio do seu servidor a partir de uma perspectiva de acesso? Quem tem acesso ao servidor e o que pode ser feito se alguém obtiver essa senha? A maioria das pessoas pode ler seu script, descobrir qual é a senha usada e, finalmente, usá-lo para fins maliciosos. Mesmo que seja criptografado.

Se fosse eu, olharia algumas opções diferentes:

  1. Se você ainda não tiver feito isso, execute o script como uma tarefa agendada que tenha as credenciais necessárias. Se isso não for possível porque é um tipo diferente de credencial. A opção 2/3 seria mais preferida.

    1. Procure algo como "secretar servidor" link Esse tipo de solução tem APIs para que você possa acessar as credenciais da API.

    2. Existem ferramentas como "JAMS" link que também podem armazenar credenciais e executar tarefas / scripts como contas específicas. você pode fazer coisas como criar fluxos de trabalho também.

por 18.03.2015 / 16:56