Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 55. Gestión de los secretos del servicio IdM: almacenamiento y recuperación de secretos

Esta sección muestra cómo un administrador puede utilizar el módulo ansible-freeipa vault para almacenar de forma segura un secreto de servicio en una ubicación centralizada. La bóveda utilizada en el ejemplo es asimétrica, lo que significa que para utilizarla, el administrador necesita realizar los siguientes pasos:

  1. Genere una clave privada utilizando, por ejemplo, la utilidad openssl.
  2. Generar una clave pública basada en la clave privada.

El secreto del servicio se encripta con la clave pública cuando un administrador lo archiva en la bóveda. Después, una instancia de servicio alojada en una máquina específica del dominio recupera el secreto utilizando la clave privada. Sólo el servicio y el administrador pueden acceder al secreto.

Si el secreto está comprometido, el administrador puede reemplazarlo en la bóveda de servicios y luego redistribuirlo a aquellas instancias de servicio individuales que no han sido comprometidas.

Requisitos previos

Esta sección incluye este procedimiento

Terminología utilizada

En los procedimientos:

  • admin es el administrador que gestiona la contraseña del servicio.
  • private-key-to-an-externally-signed-certificate.pem es el archivo que contiene el secreto del servicio, en este caso una clave privada de un certificado firmado externamente. No confundas esta clave privada con la clave privada utilizada para recuperar el secreto de la bóveda.
  • secret_vault es la bóveda creada para el servicio.
  • HTTP/webserver.idm.example.com es el servicio cuyo secreto se está archivando.
  • service-public.pem es la clave pública del servicio utilizada para cifrar la contraseña almacenada en password_vault.
  • service-private.pem es la clave privada del servicio utilizada para descifrar la contraseña almacenada en secret_vault.

55.1. Almacenamiento de un secreto de servicio IdM en una cámara acorazada asimétrica

Esta sección describe cómo crear una bóveda asimétrica y utilizarla para archivar un secreto de servicio.

Requisitos previos

  • Conoce la contraseña del administrador de IdM.

Procedimiento

  1. Inicie sesión como administrador:

    $ kinit admin
  2. Obtener la clave pública de la instancia de servicio. Por ejemplo, utilizando la utilidad openssl:

    1. Generar la clave privada service-private.pem.

      $ openssl genrsa -out service-private.pem 2048
      Generating RSA private key, 2048 bit long modulus
      .+++
      ...........................................+++
      e is 65537 (0x10001)
    2. Generar la clave pública service-public.pem a partir de la clave privada.

      $ openssl rsa -in service-private.pem -out service-public.pem -pubout
      writing RSA key
  3. Cree una bóveda asimétrica como la bóveda de la instancia de servicio, y proporcione la clave pública:

    $ ipa vault-add secret_vault --service HTTP/webserver.idm.example.com --type asymmetric --public-key-file service-public.pem
    ----------------------------
    Added vault "secret_vault"
    ----------------------------
    Vault name: secret_vault
    Type: asymmetric
    Public key: LS0tLS1C...S0tLS0tCg==
    Owner users: admin
    Vault service: HTTP/webserver.idm.example.com@IDM.EXAMPLE.COM

    La contraseña archivada en la cámara acorazada estará protegida con la llave.

  4. Archivar el secreto de servicio en la bóveda de servicio:

    $ ipa vault-archive secret_vault --service HTTP/webserver.idm.example.com --in private-key-to-an-externally-signed-certificate.pem
    -----------------------------------
    Archived data into vault "secret_vault"
    -----------------------------------

    Esto encripta el secreto con la clave pública de la instancia de servicio.

Repita estos pasos para cada instancia de servicio que requiera el secreto. Cree una nueva bóveda asimétrica para cada instancia de servicio.