Ansible Vault: ¿cómo funciona el cifrado?

7

Estaba mirando Ansible Vault que se usa para el cifrado en los libros de jugadas de Ansible. La documentación de Ansible parece escasa en los detalles de cómo funciona, además de mencionar que el cifrado predeterminado es AES. No puedo descifrarlo con confianza a partir del código fuente.

Puedo ver el resultado de usar ansible-vault para cifrar un archivo de prueba:

$ANSIBLE_VAULT;1.1;
AES256   
DIGITS   
DIGITS   
etc.  

Encontré esta publicación que explica cómo descifrar un Ansible-Vault - archivo encriptado usando una versión parcheada de openssl. ¿Alguien puede explicar si es posible descifrar un archivo de Ansible Vault utilizando herramientas de vainilla no empaquetadas con Ansible? (Suponiendo que conozca la contraseña, por supuesto).

    
pregunta SauceCode 11.06.2016 - 05:36
fuente

1 respuesta

4

Ansible es de código abierto, escrito en Python, y usa PyCrypto, una biblioteca de criptografía de python estándar, no empaquetada con Ansible.

enlace

El módulo que administra el cifrado y descifrado es VaultLib, aquí:

enlace init . a>

Este módulo parece tener solo dependencias mínimas de otros módulos Ansible, algunas cosas de compatibilidad con Python 3, algunas cosas de Unicode, un módulo llamado Pantalla.

Para hacer una herramienta "independiente" con una alta probabilidad de compatibilidad con Ansible, el mejor enfoque sería tomar ese código, eliminar las cosas de python 3, eliminar el módulo de visualización y copiar y pegar en las funciones Unicode.

Mientras se instalen PyCrypto y otras dependencias de Python, las funciones de cifrado y descifrado en ese módulo deberían funcionar.

    
respondido por el Jonah Benton 05.08.2016 - 04:39
fuente

Lea otras preguntas en las etiquetas