Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
linux:ansible:playbook_example_07 [24.09.2022 16:29. ] – [Passwortmanager pass] djangolinux:ansible:playbook_example_07 [26.03.2025 16:06. ] (aktuell) – [Hilfeseite des Scripts] Typofixing django
Zeile 25: Zeile 25:
 Rufen wir das Script **''ansible-vault''** mit der Option **''-h''** bzw **''--help''** auf, erhalten wir eine entsprechende Kurzbeschreibung.  Rufen wir das Script **''ansible-vault''** mit der Option **''-h''** bzw **''--help''** auf, erhalten wir eine entsprechende Kurzbeschreibung. 
    $ ansible-vault --help    $ ansible-vault --help
 +++++ Ausgabe des Befehls ansible-vault --help |
 <code>usage: ansible-vault [-h] [--version] [-v] {create,decrypt,edit,view,encrypt,encrypt_string,rekey} ... <code>usage: ansible-vault [-h] [--version] [-v] {create,decrypt,edit,view,encrypt,encrypt_string,rekey} ...
  
Zeile 48: Zeile 49:
  
 See 'ansible-vault <command> --help' for more information on a specific command.</code> See 'ansible-vault <command> --help' for more information on a specific command.</code>
 +++++
  
 Wollen wir eine Kurz-Hilfe z.B. zur Option **''encrypt''**, fragen wir entsprechend nach dessen beschreibende Option bzw. Kurz-Hilfe. Wollen wir eine Kurz-Hilfe z.B. zur Option **''encrypt''**, fragen wir entsprechend nach dessen beschreibende Option bzw. Kurz-Hilfe.
    $ ansible-vault encrypt --help    $ ansible-vault encrypt --help
 +++++ Ausgabe des Befehls ansible-vault encrypt --help |
 <code>usage: ansible-vault encrypt [-h] [--vault-id VAULT_IDS] [--ask-vault-password | --vault-password-file VAULT_PASSWORD_FILES] [-v] <code>usage: ansible-vault encrypt [-h] [--vault-id VAULT_IDS] [--ask-vault-password | --vault-password-file VAULT_PASSWORD_FILES] [-v]
                              [--output OUTPUT_FILE] [--encrypt-vault-id ENCRYPT_VAULT_ID]                              [--output OUTPUT_FILE] [--encrypt-vault-id ENCRYPT_VAULT_ID]
Zeile 72: Zeile 75:
                         the vault id used to encrypt (required if more than one vault-id is provided)                         the vault id used to encrypt (required if more than one vault-id is provided)
 </code> </code>
 +++++
 ==== Manpage ==== ==== Manpage ====
 Werfen wir nun also auch noch einen Blick in die Manpage von **''ansible-vault''**. Werfen wir nun also auch noch einen Blick in die Manpage von **''ansible-vault''**.
    $ man ansible-vault    $ man ansible-vault
 +++++ Manual-Page des Befehls ansible-vault |
 <code>ANSIBLE-VAULT(1)                                  System administration commands                                 ANSIBLE-VAULT(1) <code>ANSIBLE-VAULT(1)                                  System administration commands                                 ANSIBLE-VAULT(1)
  
Zeile 257: Zeile 261:
  
 Ansible 2.9.6                                                                                                    ANSIBLE-VAULT(1) </code> Ansible 2.9.6                                                                                                    ANSIBLE-VAULT(1) </code>
 +++++
  
 ===== ansible-vault - Praxis-Beispiele ===== ===== ansible-vault - Praxis-Beispiele =====
Zeile 421: Zeile 426:
 Was das Programm **''pass''** alles an Befehlsoptionen mitbringt, offenbart uns die der Programmaufruf mit der Option **''help''**. Was das Programm **''pass''** alles an Befehlsoptionen mitbringt, offenbart uns die der Programmaufruf mit der Option **''help''**.
    $ pass --help    $ pass --help
 +++++ Ausgabe des Befehls pass --help  |
 <code>============================================ <code>============================================
 = pass: the standard unix password manager = = pass: the standard unix password manager =
Zeile 471: Zeile 477:
  
 More information may be found in the pass(1) man page.</code> More information may be found in the pass(1) man page.</code>
 +++++
  
-Zunächst müssen wir einmalig den Passwort-Safe initialisieren. Wichtig ist dabei, dass wir hier (der dritte Wert beim Aufruf) genau den Namen angeben, den wir bei der Generierung des PGP-Schlüssels verwendet hatten. Im folgenden Konfigurationsbeispiel gehen wir davon aus, dass hier die eMail-Adresse **''christoph@mailserver.guru''** unseres Admins **christoph** verwendet wird. +Zunächst müssen wir einmalig den Passwort-Safe initialisieren. Wichtig ist dabei, dass wir hier (der dritte Wert beim Aufruf) genau den Namen angeben, den wir bei der Generierung des PGP-Schlüssels verwendet hatten. Im folgenden Konfigurationsbeispiel gehen wir davon aus, dass hier die eMail-Adresse **''christoph@nausch.org''** unseres Admins **christoph** verwendet wird. 
-   $ pass init christoph@mailserver.guru+   $ pass init christoph@nausch.org
  
 Anschliessend hinterlegen wir das Vault-Passwort **''Schleichi, der aufstrebende Stern am Ansible-Himmel!''** mit welchem wir unsere zu schützende Datei **''~/ansible/inventory/produktion/group_vars/all/secrets''** **[[#inhalte_datei_verschluesseln|verschlüsselt]]** hatten.  Anschliessend hinterlegen wir das Vault-Passwort **''Schleichi, der aufstrebende Stern am Ansible-Himmel!''** mit welchem wir unsere zu schützende Datei **''~/ansible/inventory/produktion/group_vars/all/secrets''** **[[#inhalte_datei_verschluesseln|verschlüsselt]]** hatten. 
Zeile 482: Zeile 489:
  
 Im Homeverzeichnis unseres Admins findet sich nun das zugehörige verschlüsselte Dokument. Im Homeverzeichnis unseres Admins findet sich nun das zugehörige verschlüsselte Dokument.
-<code>/home/chrsitoph/.password-store/+<code>/home/christoph/.password-store/
 └── ansible-vault-password.gpg</code> └── ansible-vault-password.gpg</code>
  
Zeile 641: Zeile 648:
 Aus dem Blickwinkel **Sicherheit** haben wir nun zum einen erreicht, dass schützenswerte Informationen nicht mehr als plain-text in unserer  Ansible-Entwicklungsumgebnung ungeschützt herumliegen. Darüber hinaus haben wir nun quasi einen **//zweiten Faktor//** bei der Abarbeitung unserer Ansible-Playbooks eingeführt - genauer gesagt sind es ja eher drei Dinge, über die der Admin verfügen muss: Aus dem Blickwinkel **Sicherheit** haben wir nun zum einen erreicht, dass schützenswerte Informationen nicht mehr als plain-text in unserer  Ansible-Entwicklungsumgebnung ungeschützt herumliegen. Darüber hinaus haben wir nun quasi einen **//zweiten Faktor//** bei der Abarbeitung unserer Ansible-Playbooks eingeführt - genauer gesagt sind es ja eher drei Dinge, über die der Admin verfügen muss:
   - Der Admin muss den SSH-Privat-Key besitzen und von dessen Passphrase Kenntnis haben. Wird ein **Nitrokey Start** USB-Schlüssel verwendet, kann bei Bedarf auch der **[[suse:nitrokey:start#nitrokey_start_und_secure_shell|SSH-Key bei Verwendung der SSH]]** benutzt werden. Die Zusätzliche Eingabe einer Passphrase erübrigt sich dadurch auch hier, wenn der SSH-Key auf dem Kryptostick verwendet wird!   - Der Admin muss den SSH-Privat-Key besitzen und von dessen Passphrase Kenntnis haben. Wird ein **Nitrokey Start** USB-Schlüssel verwendet, kann bei Bedarf auch der **[[suse:nitrokey:start#nitrokey_start_und_secure_shell|SSH-Key bei Verwendung der SSH]]** benutzt werden. Die Zusätzliche Eingabe einer Passphrase erübrigt sich dadurch auch hier, wenn der SSH-Key auf dem Kryptostick verwendet wird!
-  - Der Administrator muss beim Aufruf der Playbooks nunmehr **__nur noch__** den PGP-Schlüssel durch Eingabe der zugehörigen Passphrase entsperren. Das Passwort für die Rechteerweiterung wird von Ansible aus dem Vault gelesen, genau so wie das **''become_password''** zur Rechteerweiterung+  - Der Administrator muss beim Aufruf der Playbooks nunmehr **__nur noch__** den PGP-Schlüssel durch Eingabe der zugehörigen Passphrase entsperren. Das **''become_password''** Passwort für die Rechteerweiterung wird nun auch von Ansible aus dem Vault gelesen. 
  
 Aus Sicht von **IT-Security** haben wir auch hier einen erheblicher Zugewinn an Sicherheit. Die Akzeptanzschwelle ist durch Minimierung von mehrfachen Eingaben diverser Passworte durchaus niedrig, so dass für den Admin durchaus ein Mehrwert bei der täglichen administrativen Tätigkeit ausgemacht werden kann. Aus Sicht von **IT-Security** haben wir auch hier einen erheblicher Zugewinn an Sicherheit. Die Akzeptanzschwelle ist durch Minimierung von mehrfachen Eingaben diverser Passworte durchaus niedrig, so dass für den Admin durchaus ein Mehrwert bei der täglichen administrativen Tätigkeit ausgemacht werden kann.
Zeile 659: Zeile 666:
   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
 +
  • linux/ansible/playbook_example_07.1664036975.txt.gz
  • Zuletzt geändert: 24.09.2022 16:29.
  • von django