Parfois, je voudrais utiliser Ansible lineinfile
ou des blockinfile
modules pour écrire un mot de passe dans un fichier de configuration. Si je le fais, toute la ligne ou le bloc, mot de passe inclus, se retrouve dans mon syslog
.
Comme je ne considère syslog
pas être un endroit sûr pour stocker mes mots de passe, comment puis-je dire à Ansible de ne pas divulguer mon mot de passe syslog
? J'espère qu'il existe un moyen de le faire, sinon je considérerais cela comme un gros problème de sécurité dans Ansible.
Vous pouvez le reproduire par exemple avec cette commande ad-hoc:
ansible localhost -m blockinfile -a 'dest=/tmp/ansible_password_leak create=yes block="Password = {{password}}"' -e 'password=secret'
Voici ce qui finit par syslog
:
ansible-blockinfile: Invoked with directory_mode=None force=None remote_src=None insertafter=None owner=None follow=False marker=# {mark} ANSIBLE MANAGED BLOCK group=None insertbefore=None create=True setype=None content=None serole=None state=present dest=/tmp/ansible_password_leak selevel=None regexp=None validate=None src=None seuser=None delimiter=None mode=None backup=False block=Password = secret
Pour l'exemple, j'ai utilisé Ansible 2.0.0.2 du PPA officiel d'Ansible Ubuntu sur un système Debian "Jessie" 8.
syslog
mais désactive la sortie de journalisation dans la sortie de la console en même temps. Y a-t-il un moyen de changer cela?