PowerShell SecretManagement Vault

Neste post, você aprenderá a utilizar o módulo SecretManagement do PowerShell para armazenar e recuperar suas credenciais com segurança. Além disso, demonstrei um exemplo de integração usando KeePass, um cofre de senha popular, com o módulo SecretManagement do PowerShell. Com as dicas e orientações deste post, você poderá gerenciar suas senhas de maneira mais segura e eficiente. Então, continue lendo e descubra como usar o módulo SecretManagement em seus scripts do PowerShell!

Conteúdo:
  • Instalando módulo de gerenciamento de segredos
  • Criando um armazenamento de senhas (SecretStore Vault) via PowerShell
  • Crie uma senha mestra para acessar seu Cofre SecretStore
  • Gerenciando credenciais salvas usando o módulo de gerenciamento de segredos
  • Usando senhas salvas do cofre de segredos em scripts do PowerShell
  • Gerenciando senhas e segredos usando KeePass com o PowerShel
Instalação do módulo de gerenciamento de segredos

O módulo SecretManagement requer Windows PowerShell versão 5.1 ou PowerShell Core 6.x, 7.x. Para instalar o SecretManagement usando o gerenciador de pacotes NuGet, execute o comando abaixo:

Install-Module -Name Microsoft.PowerShell.SecretManagement

Para instalar o cofre SecretStore padrão oferecido pela Microsoft, execute o seguinte comando:

Install-Module -Name Microsoft.PowerShell.SecretStore

Para exibir uma lista de cmdlets disponíveis no módulo, use estes comandos:

Criando um armazenamento de senhas (SecretStore Vault) via PowerShell

Primeiro de tudo, vamos criar um cofre secreto local. Vou nomeá-lo VMwarePassdb e torná-lo um armazenamento de senha padrão.

Caso necessário, antes execute:

Set-ExecutionPolicy -Scope Process Unrestricted

Comando para criar o cofre:

Register-SecretVault -Name VMwarePassdb -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault

Você pode criar e usar cofres de senha locais e remotos. O comando abaixo exibe uma lista de cofres de senha registrados para o usuário atual:

Crie uma senha mestra para acessar seu Cofre

Vamos criar uma senha segura para proteger o cofre. Use o comando:

Por padrão, as seguintes configurações determinam quem e como pode acessar os armazenamentos de senhas:

  • Scope – CurrentUser (somente o usuário atual pode acessar o SecretStore)
  • Autenticação – Senha (acessar o cofre usando uma senha mestra)
  • PasswordTimeout – 900 – a duração da sessão (em segundos) durante a qual você não precisa digitar novamente sua senha mestra. Você pode estender a duração da sessão: Set-SecretStoreConfiguration -PasswordTimeout 1200
  • Interação – Solicitar (se deve inserir a senha mestra ao fazer alterações)

Caso você queira desativar a solicitação de senha mestra para acessar o cofre secreto (não recomendado), use o comando:

Set-SecretStoreConfiguration -Authentication None

Caso queira mudar a senha mestra, use o comando:

Set-SecretStorePassword

Depois de tudo criado. Vamos identificar o diretório dos arquivos do vault criados.

Caminho: %LOCALAPPDATA%\Microsoft\PowerShell\secretmanagement

Gerenciando credenciais salvas usando o módulo de gerenciamento de segredos

O cmdlet Set-Secret é uma ferramenta útil para adicionar senhas ao cofre de senha. Você pode usar esse cmdlet para adicionar um segredo do tipo SecureString e especificar um nome para a entrada. Essa entrada pode ser usada posteriormente em um script para acessar diferentes serviços, sem precisar inserir a senha manualmente. Por exemplo, você pode usar o Set-Secret para armazenar as credenciais do vCenter e, em seguida, usar essas credenciais em um script para automatizar tarefas de gerenciamento. Ao utilizar o cmdlet Set-Secret, você estará aumentando a segurança de suas senhas e tornando o gerenciamento de suas credenciais mais fácil e eficiente.

Comando para criar uma entrada para o cofre de senha VMwarePassdb para o usuário vmware:

Set-Secret -Vault VMwarePassdb -Name vmware -Secret (Get-Credential) -Metadata @{description = “VMware admin”}

Armazena a credencial do active directory vmware@virtualizandoaju.com.br na entrada “vmware”.

Verificando a lista de senhas salvas e suas descrições:

Usando senhas salvas do cofre de segredos em scripts do PowerShell

Agora você pode usar senhas salvas em seus scripts e comandos do PowerShell.

Depois de tudo configurado, qualquer script PowerCLI que você dseje usar, deverá conter o parâmetro -Credential seguido de (Get-secret -Vault “nomecofredb” -name “entrada cadastrada no cofre local”

Gerenciando senhas e segredos KeePass com o PowerShel

Você pode usar o módulo SecretManagement para acessar outros cofres de senhas populares. Vamos ver como acessar senhas salvas em um arquivo KeePass (*.kdbx).

Em primeiro lugar, instale o módulo SecretManagement para interagir com o KeePass:

Instale agora o pacote KeePass no swu Windows e crie uma base dados(personal_creds.kdbx), uma entrada de usuário(vmware) e uma senha master.

Em seguida, crie o arquivo: “C:\Users\vmware\Documents\personal_creds.kdbx”

Por fim, registre o arquivo do cofre KeePass localizado em seu perfil de usuário:

Digite a senha master do KeePass instalado.

Se você digitou a senha corretamente, o comando retorna True. Em seguida, exiba uma lista de senhas salvas no banco de dados do KeePass:

Para salvar um novo segredo no KeePass:

Set-Secret -Vault KeePassDB -Name “gabriel” -Secret (Get-Credential virtualizando\gabriel)

Agora vamos testar acesso ao vCenter:

Conclusão

E é isso! Duas maneiras de criar um cofre de senhas no Windows de forma nativa. A partir deste ponto inúmeras possibilidades de configuração tornam-se disponíveis.

“Fomos criados para avançar, crescer e subir a novas alturas. A nossa natureza é de crescimento, e isso implica esforço e trabalho duro.”

Tiago Brunet

Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.