Data: 03/05/22
Autores:
João Batista da Silva Junior (Assessor)
Michel Farias Ferreira (Assessor)
Realizar um estudo para conhecer melhor a ferramenta Vault Hashicorp e como ela pode ser melhor aplicada na SETIC.
Com a necessidade de sempre melhorar a segurança do ambiente e das aplicações, se faz necessário encontrar uma ferramenta para guardar os segredos, tokens e ao mesmo tempo gerar valores aleatórios para acessos. Dessa forma foi sugerido pela liderança técnica o estudo da ferramenta vault que possivelmente trará uma segurança maior para o ambiente.
O Vault é uma ferramenta de gerenciamento de segredos projetada especificamente para controlar o acesso a credenciais confidenciais em um ambiente de baixa confiança. Ele pode ser usado para armazenar valores sensíveis e, ao mesmo tempo, gerar dinamicamente acesso para serviços/aplicativos específicos em leasing.
A proposta inicial do estudo será em conhecer melhor a ferramente através da documentação, vídeos e até mesmo teste de instalação que será realizado localmente e no Openshift
Para entender melhor a ferramenta e sua configuração foi realizada a implantação do container no docker desktop do vault server e cliente localmente em imagem linux
Foram necessário criar três arquivos dentro de uma pasta denominada docker-vault
Segue os exemplos abaixo:

Para detalhar esse arquivo docker-compose.yml, temos dois contêineres sendo compostos além de uma rede local.

O Dockerfile acima criará um contêiner a partir da imagem do Ubuntu 20.04 e instalará as dependências necessárias para executar como um cliente de cofre. O Dockerfile então instrui um COPY e CMD de run.sh, detalhado abaixo.

O run.sh é o script que está sendo executado como cliente do vault.
No mesmo diretório dos três arquivos criados acima, execute o script docker-compose.
docker-compose up

Ao completar o build docker-compose up, o código da saída deve ser (0)

Duas imagens foram criadas

Um container com dois serviços (server e cliente)

Dessa forma a aplicação ficou disponível localmente na url: http://localhost:8200/

O Teste local foi importante para entender a configuração da ferramenta e a maneira como ela funciona e fica disponível.
A partir dessa etapa passamos para a análise de como a ferramenta Vault Hashicorp deveria ser configurada on premise em alta disponibilidade no ambiente da SETIC.
A instalação segue o mesmo princípio do Vault local, configurando containers em Docker. Utilizando o mesmo docker-compose como modelo, possuindo dois DeploymentConfigs, o vault-server e vault-client.

As configurações de variáveis do vault-server são:

As configurações de variáveis do vault-cliente ficaram definidas como:

Foi definido um volume persistente para o armazenamento redundante

Tal estudo baseia-se nas informações documentais da aplicação e também nos testes de instalação da ferramenta que foram realizados.
Está sendo realizado teste para validar se a implementação precisa de alguma configuração atual.
Inicialmente a ferramenta está disponível para testes pelo time e a liderança técnica, novos Cards para configuração do SSH e LDAP estão sendo criados para realizar a configuração no Vault.