Red Hat Training

A Red Hat training course is available for RHEL 8

9.4. Rotación de las claves del servidor Tang y actualización de los enlaces en los clientes

Siga los siguientes pasos para rotar las claves del servidor Tang y actualizar los enlaces existentes en los clientes. El intervalo exacto con el que debe rotarlas depende de su aplicación, del tamaño de las claves y de la política institucional.

Requisitos previos

  • Se está ejecutando un servidor Tang.
  • Los paquetes clevis y clevis-luks están instalados en sus clientes.
  • Tenga en cuenta que clevis luks list, clevis luks report, y clevis luks regen se han introducido en RHEL 8.2.

Procedimiento

  1. Para rotar las claves, genere nuevas claves utilizando el comando /usr/libexec/tangd-keygen en el directorio de la base de datos de claves /var/db/tang en el servidor Tang:

    # ls /var/db/tang
    UV6dqXSwe1bRKG3KbJmdiR020hY.jwk y9hxLTQSiSB5jSEGWnjhY8fDTJU.jwk
    # /usr/libexec/tangd-keygen /var/db/tang
    # ls /var/db/tang
    UV6dqXSwe1bRKG3KbJmdiR020hY.jwk y9hxLTQSiSB5jSEGWnjhY8fDTJU.jwk
    3ZWS6-cDrCG61UPJS2BMmPU4I54.jwk zyLuX6hijUy_PSeUEFDi7hi38.jwk
  2. Compruebe que su servidor Tang anuncia la clave de firma del nuevo par de claves, por ejemplo:

    # tang-show-keys 7500
    3ZWS6-cDrCG61UPJS2BMmPU4I54
  3. Cambie el nombre de las claves antiguas para que tengan un . inicial para ocultarlas de la publicidad. Tenga en cuenta que los nombres de archivo en el siguiente ejemplo difieren de los nombres de archivo únicos en el directorio de la base de datos de claves de su servidor Tang:

    # cd /var/db/tang
    # ls -l
    -rw-r--r--. 1 root tang 354 Sep 23 16:08 3ZWS6-cDrCG61UPJS2BMmPU4I54.jwk
    -rw-r--r--. 1 root tang 349 Sep 23 16:08 I-zyLuX6hijUy_PSeUEFDi7hi38.jwk
    -rw-r--r--. 1 root root 349 Feb  7 14:55 UV6dqXSwe1bRKG3KbJmdiR020hY.jwk
    -rw-r--r--. 1 root root 354 Feb  7 14:55 y9hxLTQSiSB5jSEGWnjhY8fDTJU.jwk
    # mv UV6dqXSwe1bRKG3KbJmdiR020hY.jwk .UV6dqXSwe1bRKG3KbJmdiR020hY.jwk
    # mv y9hxLTQSiSB5jSEGWnjhY8fDTJU.jwk .y9hxLTQSiSB5jSEGWnjhY8fDTJU.jwk

    Tang recoge inmediatamente todos los cambios. No es necesario reiniciar. En este momento, los nuevos enlaces de los clientes recogen las nuevas claves y los antiguos clientes pueden seguir utilizando las antiguas claves.

  4. En sus clientes NBDE, utilice el comando clevis luks report para comprobar si las claves anunciadas por el servidor Tang siguen siendo las mismas. Puede identificar las ranuras con el enlace correspondiente utilizando el comando clevis luks list, por ejemplo:

    # clevis luks list -d /dev/sda2
    1: tang '{"url":"http://tang.srv"}'
    # clevis luks report -d /dev/sda2 -s 1
    ...
    Report detected that some keys were rotated.
    Do you want to regenerate luks metadata with "clevis luks regen -d /dev/sda2 -s 1"? [ynYN]
  5. Para regenerar los metadatos LUKS para las nuevas claves, pulse y en el prompt del comando anterior, o utilice el comando clevis luks regen:

    # clevis luks regen -d /dev/sda2 -s 1
  6. Cuando esté seguro de que todos los clientes antiguos utilizan las nuevas claves, puede eliminar las antiguas claves del servidor Tang, por ejemplo:

    # cd /var/db/tang
    # rm .*.jwk
Aviso

La eliminación de las claves antiguas mientras los clientes aún las utilizan puede provocar la pérdida de datos. Si elimina accidentalmente dichas claves, utilice el comando clevis luks regen en los clientes y proporcione su contraseña LUKS manualmente.

Recursos adicionales

  • tang-show-keys(1), clevis-luks-list(1), clevis-luks-report(1), y clevis-luks-regen(1) páginas de manual