linux-system-roles.nbde_client

nbde_client

ansible-lint.yml ansible-test.yml codeql.yml markdownlint.yml python-unit-test.yml shellcheck.yml tft.yml tft_citest_bad.yml woke.yml

Ansible-Rolle zur Konfiguration von netzgebundenen Festplattenverschlüsselungsklienten (z.B. clevis).

Diese Rolle unterstützt derzeit clevis als Anbieter und verwendet es für Operationen wie Verschlüsselung und Entschlüsselung.

Unterstützte Distributionen

  • RHEL-7+, CentOS-7+
  • Fedora

Einschränkungen

Diese Rolle kann derzeit tang Bindungen erstellen. TPM2 wird momentan nicht unterstützt.

Rollenvariablen

Dies sind die Variablen, die der Rolle übergeben werden können:

Variable Standard/Wahlmöglichkeiten Beschreibung
nbde_client_provider clevis identifiziert den Anbieter für die Rolle nbde_client. Derzeit wird clevis unterstützt.
nbde_client_bindings eine Liste, die Bindungskonfigurationen enthält, z.B. Geräte und Slots.
nbde_client_early_boot true standardmäßig konfiguriert nbde_client das Initrd, um das Volume zu entsperren. Dies muss möglicherweise deaktiviert werden, wenn der verwaltete Host statische IP-Adressen verwendet oder das Volume durch clevis-luks-askpass entsperrt werden soll.

nbde_client_bindings

nbde_client_bindings ist eine Liste von Wörterbüchern, die die folgenden Schlüssel unterstützt:

Name Standard/Wahlmöglichkeiten Beschreibung
device gibt den Pfad des zugrunde liegenden Geräts eines verschlüsselten Geräts auf dem verwalteten Host an. Dieses Gerät muss bereits als LUKS-Gerät konfiguriert sein, bevor die Rolle verwendet wird (ERFORDERLICH).
encryption_password ein gültiges Passwort oder Phrase zum Öffnen/Entsperren des angegebenen Geräts. Es wird empfohlen, den Wert zu verschlüsseln. Siehe https://docs.ansible.com/ansible/latest/user_guide/vault.html
encryption_key_src entweder der absolute oder relative Pfad auf dem Steuerknoten zu einer Datei, die einen Verschlüsselungsschlüssel für das Öffnen/Entsperren des angegebenen Geräts enthält. Die Rolle kopiert diese Datei zu den verwalteten Knoten.
state present / absent gibt an, ob eine Bindung mit der beschriebenen Konfiguration hinzugefügt oder entfernt werden soll. Der Status present (Standard) bedeutet, dass eine Bindung hinzugefügt wird; absent bedeutet, dass eine Bindung vom Gerät/Slot entfernt wird.
slot 1 gibt den Slot an, der für die Bindung verwendet werden soll.
servers gibt eine Liste von Servern an, mit denen verbunden werden soll. Um hohe Verfügbarkeit zu gewährleisten, geben Sie hier mehr als einen Server an.
threshold 1 gibt die Schwelle für das Shamir Secret Sharing (SSS) Verfahren an, das in Platz gesetzt wird, wenn mehr als ein Server verwendet wird. Bei Verwendung mehrerer Server zeigt die Schwelle an, wie viele dieser Server in Bezug auf die Entschlüsselung erfolgreich sein müssen, um den Prozess der Wiederherstellung des LUKS-Passworts zum Öffnen des Geräts abzuschließen.
password_temporary false Wenn true, wird das Passwort oder die Phrase, die über die Argumente encryption_password oder encryption_key bereitgestellt wurde, verwendet, um das Gerät zu entsperren und anschließend nach dem Abschluss der Bindungsoperation vom LUKS-Gerät entfernt. Es wird verwendet, wenn das Gerät zuvor mit einem Beispielpasswort oder einer Phrase erstellt wurde (z.B. durch eine automatisierte Installation wie Kickstart, die ein "Standard"-Passwort festgelegt hat), das die Rolle durch ein stärkeres ersetzen soll.

Beispiel:

nbde_client_bindings:
  - device: /dev/sda1
    encryption_key_src: /vault/keyfile
    state: present
    slot: 2
    threshold: 1
    password_temporary: false
    servers:
      - http://server1.example.com
      - http://server2.example.com

Beispiel-Playbooks

Beispiel 1: hohe Verfügbarkeit

---
- hosts: all
  vars:
    nbde_client_bindings:
      - device: /dev/sda1
        # Es wird empfohlen, das encryption_password zu verschlüsseln
        # siehe https://docs.ansible.com/ansible/latest/user_guide/vault.html
        encryption_password: password
        servers:
          - http://server1.example.com
          - http://server2.example.com
  roles:
    - linux-system-roles.nbde_client

Beispiel 2: Bindung aus Slot 2 in /dev/sda1 entfernen

---
- hosts: all
  vars:
    nbde_client_bindings:
      - device: /dev/sda1
        # Es wird empfohlen, das encryption_password zu verschlüsseln
        # siehe https://docs.ansible.com/ansible/latest/user_guide/vault.html
        encryption_password: password
        slot: 2
        state: absent
  roles:
    - linux-system-roles.nbde_client

Lizenz

MIT

Über das Projekt

Ansible role for configuring Network-Bound Disk Encryption clients (e.g. clevis)

Installieren
ansible-galaxy install linux-system-roles.nbde_client
Lizenz
mit
Downloads
10.5k