Proteja sua infraestrutura com Ansible Vault: segurança e simplicidade

Proteja sua infraestrutura com Ansible Vault: segurança e simplicidade

Automatize sua infraestrutura sem correr riscos de segurança

O Ansible foi um dos responsáveis pela popularização da automação de configurações por meio das suas playbooks (scripts no formato YAML, onde é possível definir de forma estruturada configurações para um determinado ambiente). Hoje, milhares de empresas, com a utilização do Ansible, conseguem fazer com que sua infraestrutura esteja totalmente em formato de código e versionada, basicamente, como um software.

As facilidades que o Ansible trás são inquestionáveis, porém, atualmente, é perceptível que cada informação sobre a infraestrutura de uma empresa é muita valiosa e sensível. Dessa forma é comum que as playbooks que geram toda a infraestrutura de uma empresa deixa dados sensíveis, como senhas e usuários, expostos.

O Ansible Vault vem como solução para esses problemas, já que essa funcionalidade do Ansible possibilita que as playbooks sejam criptografas e permitam que somente pessoas autorizadas possam visualizar e modificar o seu conteúdo.

Arquitetura da Criptografia

Para o Ansible Vault conseguir criptografar e manter a mínima segurança, ele utiliza a chave simétrica AES(Symmetrical Key Advanced). A chave AES provê um caminho simples de utilização já que utiliza a mesma informação de chave de criptografia para chave de decriptografia, conforme abaixo:

"Estrutura

É necessário observar que o Ansible Vault permite a criptografia apenas arquivos, sejam playbooks ou não, e variáveis.

Ansible Vault na prática

Então, vamos aprender como é utilizá-lo:

  • Criando um Arquivo Criptografado

ansible-vault create <nome_do_arquivo>

Creando Arquivo CriptografadoApós a solicitação de confirmação de senha, é a aberto um editor para adicionar o conteúdo ao arquivo novo.

Conteúdo Criptgrafado

  • Visualizando o Arquivo Criptografado

ansible-vault view <nome_do_arquivo>

Visualizando Arquivo

  • Editando o Arquivo Criptografado

ansible-vault edit <nome_do_arquivo>

Editando Arquivo

  • Criptografando um arquivo já existente

ansible-vault encrypt <nome_do_arquivo>

  • Decriptografando o Arquivo

ansible-vault decrypt <nome_do_arquivo>

  • Criptografando Variáveis do Ansible

ansible-vault encrypt_string -n <nome_da_variável> <conteúdo_da_variável>

Esse comando fornece um resultado criptografado que é adicionando, geralmente, em vars/main.yml de um role ansible.

O exemplo mostrado acima é uma forma de proteger o conteúdo da sua variável. Pois, não permite que o conteúdo da variável fique no histórico da linha de comando.

Para executar uma playbook que esteja utiliza um arquivo ou variável criptografada é necessário passar o comando da seguinte formar:

Finalizando, percebemos que o Ansible Vault é perfeito para proteger informações e implementar Segurança no mundo DevOps de forma simples.

CURSOSCONSULTORIA    CONTATO

Anterior Descubra como o Vagrant pode agilizar a configuração de ambientes virtuais
Próxima Guia definitivo: Como criar e implementar pipelines com Jenkins

About author

Yago Ésquines
Yago Ésquines 5 posts

Yago Ésquines, atua como Coordenador de TI em Software Livre, formado em Ciência da Computação pela Universidade Paulista (UNIP) e em Segurança da Informação pela FATEC São Caetano. Atua com foco em Linux, Automação, DevOps e DevSecOps, possuindo mais de 10 anos de experiência profissional em Tecnologia da Informação. Detém expertise como instrutor de cursos voltados ao Sistema Operacional Linux, Infraestrutura Ágil, DevSecOps e Kubernetes, além ser Certificado Linux Engineer(LPIC-2), CKA (Certified Kubernetes Administrator) e DevOps Essentials.

View all posts by this author →

Você pode gostar também

Desenvolvimento

Descubra a importância do Python na cultura DevOps e na automatização

Automatização de Infraestrutura – DevOps e Python Hoje em dia os profissionais de TI estão olhando cada vez mais para DevOps e Python. Se você quer saber por que a

Containers

Dominando o Docker Compose: Guia completo para gerenciamento de multi-contêineres

Como foi visto em nosso post anterior sobre o Docker [1], para realizar a execução de um contêiner basta executar o comando docker container run, porém, e se for necessário

DevOps

Guia prático: Como configurar e usar o Minio Server em sua infraestrutura

Minio é um storage de objetos, de alta performance e distribuído. A grande vantagem de usá-lo, reside em sua total compatibilidade com o Amazon S3. Neste artigo explico como subir