Passer cert mot de passe pour Nginx avec site en https au cours de redémarrage
J'ai configuré nginx l'installation et la configuration (en collaboration avec le programme d'installation des certificats SSL pour https
site) via ansible. Les certificats SSL sont sous des phrases de passe.
Je veux écrire ansilbe tâche qui est le redémarrage de nginx. Le problème est le suivant.
Normalement, nginx avec site en https à l'intérieur de demande PEM pass phrase
au cours de redémarrage. Ansible ne demande pas que la phrase de passe lors de l'exécution de la playbook.
Il est solution le stockage de la décrypté cert et la clé dans un répertoire privé. Mais je n'ai pas vraiment envie de quitter ma cert et la clé quelque part non chiffrés.
Comment passer le mot de passe de nginx (ou à openssl) au cours de redémarrage via ansible
? Parfait scénario est le suivant:
- Ansible demande SSL mot de passe (via
vars_promt
). Une autre option est d'utiliser ansible coffre-fort. - Ansible est le redémarrage de nginx, et quand nginx demande
PEM pass phrase
, ansible est le passage d'un mot de passe pour nginx.
Est-il possible?
Vous devez vous connecter pour publier un commentaire.
Nginx a
ssl_password_file
paramètre.Exemple:
Ce que vous pourriez faire est de garder que
ssl_password_file
dans ansible-voûte, de la copier, de redémarrer nginx et puis en cas de succès de la supprimer.Je n'ai aucune expérience de première main si ça va réellement travail ou d'autres effets secondaires que cela peut avoir(par exemple le manuel de
service nginx restart
sera probablement pas), mais il semble comme une approche logique pour moi.-nodes
de commande openssl alors que la génération des certificatsSi vous avez les autorisations assez restrictive sur la clé privée (par exemple, ne laissant nginx être en mesure de le lire) ce serait probablement assez bon. Nginx aura chargées dans la mémoire de toute façon, ce qui peut être plus difficile pour un pirate de récupérer, mais si ils ont accès à la racine de la boîte, vous devriez envisager la clé compromise indépendamment.
Alternativement, vous pouvez transférer le mot de passe dans la commande de redémarrage (par exemple
echo mypass | service nginx restart
). Cela va l'amener à être affichés en texte clair sur le processus des listes et ne devrait pas être considéré comme un plus sûr.Je vous recommande de verrouiller les autorisations sur le fichier et ne pas avoir un mot de passe sur elle. Je ne crois pas Ansible a aucun moyen de spécifier des réponses aux invites, autres que sudo.