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

Rol de Ansible para configurar clientes de cifrado de disco vinculado a la red (por ejemplo, clevis).

Este rol actualmente soporta clevis como proveedor y lo utiliza para operaciones como cifrado y descifrado.

Distribuciones Soportadas

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

Limitaciones

Este rol puede crear enlaces tang. TPM2 no es compatible por el momento.

Variables del Rol

Estas son las variables que se pueden pasar al rol:

Variable Default/Opciones Descripción
nbde_client_provider clevis identifica el proveedor para el rol nbde_client. Actualmente soportamos clevis.
nbde_client_bindings una lista que contiene configuraciones de enlaces, que incluyen por ejemplo dispositivos y ranuras.
nbde_client_early_boot true por defecto, nbde_client configurará el initrd para desbloquear el volumen. Esto podría necesitar ser desactivado si el host administrado utiliza direcciones IP estáticas, o si el volumen debe ser desbloqueado por clevis-luks-askpass.

nbde_client_bindings

nbde_client_bindings es una lista de diccionarios que soporta las siguientes claves:

Nombre Default/Opciones Descripción
device especifica la ruta del dispositivo de respaldo de un dispositivo cifrado en el host administrado. Este dispositivo debe estar ya configurado como un dispositivo LUKS antes de usar el rol (REQUERIDO).
encryption_password una contraseña o frase de contraseña válida para abrir/desbloquear el dispositivo especificado. Se recomienda cifrar el valor con vault. Ver https://docs.ansible.com/ansible/latest/user_guide/vault.html
encryption_key_src ya sea la ruta absoluta o relativa, en el nodo de control, de un archivo que contenga una clave de cifrado válida para abrir/desbloquear el dispositivo especificado. El rol copiará este archivo a los nodos gestionados.
state present / absent especifica si un enlace con la configuración descrita debe ser añadido o eliminado. Configurar el estado en presente (el valor por defecto) significa que se añadirá un enlace; configurar el estado en ausente significa que se eliminará un enlace del dispositivo/ranura.
slot 1 especifica la ranura a usar para el enlace.
servers especifica una lista de servidores a los que vincular. Para habilitar alta disponibilidad, especifica más de un servidor aquí.
threshold 1 especifica el umbral para el esquema de Shamir Secret Sharing (SSS) que se pone en marcha cuando se utilizan más de un servidor. Cuando se usan varios servidores, el umbral indica cuántos de esos servidores deben tener éxito, en términos de descifrado, para completar el proceso de recuperación de la frase de contraseña LUKS para abrir el dispositivo.
password_temporary false Si es true, la contraseña o frase de contraseña proporcionada a través de los argumentos encryption_password o encryption_key se utilizará para desbloquear el dispositivo y luego se eliminará del dispositivo LUKS después de que se complete la operación de enlace, es decir, ya no será válida. Se debe usar si el dispositivo ha sido creado anteriormente con una contraseña o frase de contraseña de muestra (por ejemplo, por una instalación automatizada como kickstart que configuró algún tipo de "contraseña predeterminada"), que el rol debería reemplazar por una más fuerte.

Ejemplo:

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

Ejemplos de Playbooks

Ejemplo 1: alta disponibilidad

---
- hosts: all
  vars:
    nbde_client_bindings:
      - device: /dev/sda1
        # se recomienda cifrar el encryption_password con vault
        # ver 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

Ejemplo 2: eliminar enlace de la ranura 2 en /dev/sda1

---
- hosts: all
  vars:
    nbde_client_bindings:
      - device: /dev/sda1
        # se recomienda cifrar el encryption_password con vault
        # ver https://docs.ansible.com/ansible/latest/user_guide/vault.html
        encryption_password: password
        slot: 2
        state: absent
  roles:
    - linux-system-roles.nbde_client

Licencia

MIT

Acerca del proyecto

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

Instalar
ansible-galaxy install linux-system-roles.nbde_client
Licencia
mit
Descargas
10.5k
Propietario