Skip to main content
BeeGFS on NetApp with E-Series Storage
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Configura el cifrado TLS para BeeGFS 8

Colaboradores mcwhiteside

Configura el cifrado TLS para proteger la comunicación entre los servicios de gestión de BeeGFS 8 y los clientes.

Descripción general

BeeGFS 8 introduce la compatibilidad con TLS para cifrar las comunicaciones de red entre herramientas administrativas (como la beegfs utilidad de línea de comandos) y servicios de servidor BeeGFS como Management o Remote. Configura el cifrado TLS en tu clúster BeeGFS usando uno de tres métodos:

  • Usando una autoridad de certificación de confianza: Usa los certificados firmados por CA existentes en tu clúster BeeGFS.

  • Creación de una autoridad de certificación local: Crea una autoridad de certificación local y úsala para firmar certificados para tus servicios BeeGFS. Este enfoque es adecuado para entornos donde quieres gestionar tu propia cadena de confianza sin depender de una CA externa.

  • TLS Disabled: deshabilita TLS por completo para entornos donde no se requiere cifrado o para la resolución de problemas. Evita esta opción en entornos de producción porque expone información potencialmente sensible sobre la estructura del sistema de archivos y la configuración como texto sin cifrar.

Elige el método que mejor se adapte a tu entorno y políticas organizativas. Consulta la "BeeGFS TLS" documentación para más detalles.

Nota

Los clientes que ejecutan el beegfs-client servicio no necesitan TLS para montar el sistema de archivos BeeGFS. TLS es necesario para usar la CLI de BeeGFS y otros servicios de BeeGFS, como Remote y Sync.

Uso de una autoridad de certificación de confianza

Si tienes acceso a certificados emitidos por una autoridad de certificación (CA) de confianza, ya sea de una CA interna de la empresa o de un proveedor externo, puedes configurar BeeGFS 8 para usar estos certificados firmados por la CA en vez de generar certificados autofirmados.

Poner en marcha un nuevo clúster BeeGFS 8

Para un nuevo despliegue de clúster de BeeGFS 8, configura el archivo user_defined_params.yml del inventario de Ansible para que haga referencia a tus certificados firmados por CA:

beegfs_ha_tls_enabled: true

beegfs_ha_ca_cert_src_path: files/beegfs/cert/ca_cert.pem

beegfs_ha_tls_cert_src_path: files/beegfs/cert/mgmtd_tls_cert.pem

beegfs_ha_tls_key_src_path: files/beegfs/cert/mgmtd_tls_key.pem
Nota

Si beegfs_ha_tls_config_options.alt_names no está vacío, Ansible generará automáticamente un certificado y una clave TLS autofirmados usando los alt_names proporcionados como Subject Alternative Names (SANs) en el certificado. Para usar tu propio certificado y clave TLS personalizados (como se especifica en beegfs_ha_tls_cert_src_path y beegfs_ha_tls_key_src_path), tienes que comentar o eliminar toda la sección beegfs_ha_tls_config_options. De lo contrario, la generación del certificado autofirmado tendrá prioridad y tu certificado y clave personalizados no se usarán.

Configurar un clúster BeeGFS 8 existente

Para un clúster BeeGFS 8 existente, establece las rutas en el archivo de configuración de los servicios de gestión de BeeGFS a los certificados firmados por CA del nodo de archivos:

tls-cert-file = /path/to/cert.pem
tls-key-file = /path/to/key.pem

Configurar clientes BeeGFS 8 con certificados firmados por CA

Importante

Si estás actualizando un clúster BeeGFS 7 existente a BeeGFS 8, sigue el procedimiento "Actualiza a BeeGFS 8". No configures TLS de cliente hasta que se te indique en el procedimiento de actualización.

Para configurar los clientes de BeeGFS 8 para que confíen en los certificados firmados por CA usando el grupo de certificados del sistema, pon tls-cert-file = " en la configuración de cada cliente. Si no se está usando el grupo de certificados del sistema, pon la ruta a un certificado local configurando tls-cert-file = <local cert>. Esta configuración permite que los clientes autentiquen los certificados presentados por los servicios de gestión de BeeGFS.

Creando una autoridad de certificación local

Si tu organización quiere crear su propia infraestructura de certificados para el clúster BeeGFS, puedes crear una autoridad de certificación (CA) local para emitir y firmar certificados para tu clúster BeeGFS. Este enfoque implica crear una CA que firme certificados para los servicios de gestión de BeeGFS, los cuales luego se distribuyen a los clientes para establecer una cadena de confianza.

Poner en marcha un nuevo clúster BeeGFS 8

Para una nueva puesta en marcha de BeeGFS 8, el rol de Ansible beegfs_8 (incluido en la colección BeeGFS HA) crea una CA local en el nodo de control y genera los certificados necesarios para los servicios de gestión. Activa esto configurando los siguientes parámetros en el archivo de inventario de Ansible user_defined_params.yml:

beegfs_ha_tls_enabled: true

beegfs_ha_ca_cert_src_path: files/beegfs/cert/local_ca_cert.pem

beegfs_ha_tls_cert_src_path: files/beegfs/cert/mgmtd_tls_cert.pem

beegfs_ha_tls_key_src_path: files/beegfs/cert/mgmtd_tls_key.pem

beegfs_ha_tls_config_options:
  alt_names: [<mgmt_service_ip>]
Nota

Si beegfs_ha_tls_config_options.alt_names no se proporciona, entonces Ansible intentará usar los certificados existentes en las rutas de certificado/clave especificadas.

Configurar un clúster BeeGFS 8 existente

Para un clúster BeeGFS existente, puedes integrar TLS creando una autoridad de certificación local y generando los certificados necesarios para los servicios de gestión. Actualiza las rutas en el archivo de configuración de los servicios de gestión de BeeGFS para que apunten a los certificados recién creados.

Importante

Usa estas instrucciones como referencia. Toma las precauciones de seguridad adecuadas al manejar claves privadas y certificados.

Crear la autoridad de certificación

En un equipo de confianza, crea una Autoridad de Certificación local para firmar certificados para tus servicios de gestión de BeeGFS. El certificado CA se distribuirá a los clientes para establecer confianza y permitir una comunicación segura con los servicios de BeeGFS.

Las siguientes instrucciones son una referencia para crear una Autoridad de Certificación local en un sistema basado en RHEL.

  1. Instala OpenSSL si aún no está instalado:

    dnf install openssl
  2. Crea un directorio de trabajo para guardar los archivos de certificados:

    mkdir -p ~/beegfs_tls && cd ~/beegfs_tls
  3. Genera la clave privada de la CA:

    openssl genrsa -out ca_key.pem 4096
  4. Crea un archivo de configuración de CA llamado ca.cnf y ajusta los campos de nombre distintivo para que coincidan con tu organización:

    [ req ]
    default_bits       = 4096
    distinguished_name = req_distinguished_name
    x509_extensions    = v3_ca
    prompt             = no
    
    [ req_distinguished_name ]
    C  = <Country>
    ST = <State>
    L  = <City>
    O  = <Organization>
    OU = <OrganizationalUnit>
    CN = BeeGFS-CA
    
    [ v3_ca ]
    basicConstraints = critical,CA:TRUE
    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid:always,issuer:always
  5. Genera el certificado CA. Este certificado debe ser válido durante la vida del sistema. Planea regenerar los certificados antes de que caduquen. Después de que un certificado caduque, la comunicación entre algunos componentes falla. Actualizar los certificados TLS normalmente requiere reiniciar los servicios.

    El siguiente comando genera un certificado CA válido por 1 año:

    openssl req -new -x509 -key ca_key.pem -out ca_cert.pem -days 365 -config ca.cnf
    Nota Aunque en este ejemplo se utiliza un periodo de validez de 1 año para simplificar, deberías ajustar el parámetro -days según los requisitos de seguridad de tu organización y establecer un proceso de renovación de certificados.

Crear certificados de servicio de administración

Genera certificados para tus servicios de gestión de BeeGFS y fírmales con la CA que creaste. Estos certificados se instalarán en los nodos de archivos que ejecutan servicios de gestión de BeeGFS.

  1. Genera la clave privada del servicio de gestión:

    openssl genrsa -out mgmtd_tls_key.pem 4096
  2. Crea un archivo de configuración de certificados llamado tls_san.cnf con Subject Alternative Names (SANs) para todas las direcciones IP de los servicios de gestión:

    [ req ]
    default_bits       = 4096
    distinguished_name = req_distinguished_name
    req_extensions     = req_ext
    prompt             = no
    
    [ req_distinguished_name ]
    C  = <Country>
    ST = <State>
    L  = <City>
    O  = <Organization>
    OU = <OrganizationalUnit>
    CN = beegfs-mgmt
    
    [ req_ext ]
    subjectAltName = @alt_names
    
    [ v3_ca ]
    subjectAltName = @alt_names
    basicConstraints = CA:FALSE
    
    [ alt_names ]
    IP.1 = <beegfs_mgmt_service_ip_1>
    IP.2 = <beegfs_mgmt_service_ip_2>

    Actualiza los campos de nombre distintivo para que coincidan con la configuración de tu CA y reemplaza los valores IP.1 y IP.2 por las direcciones IP de tu servicio de gestión.

  3. Genera una solicitud de firma de certificado (CSR):

    openssl req -new -key mgmtd_tls_key.pem -out mgmtd_tls_csr.pem -config tls_san.cnf
  4. Firma el certificado con tu CA (válido por 1 año):

    openssl x509 -req -in mgmtd_tls_csr.pem -CA ca_cert.pem -CAkey ca_key.pem -CAcreateserial -out mgmtd_tls_cert.pem -days 365 -sha256 -extensions v3_ca -extfile tls_san.cnf
    Nota Ajusta el periodo de validez del certificado (-days 365 según las políticas de seguridad de tu organización. Muchas organizaciones requieren la rotación de certificados cada 1-2 años.
  5. Verifica que el certificado se haya creado correctamente:

    openssl x509 -in mgmtd_tls_cert.pem -text -noout

    Confirma que la sección Nombre alternativo del asunto incluye todas tus direcciones IP de gestión.

Distribuye certificados a los nodos de archivos

Distribuye el certificado CA y los certificados del servicio de gestión a los nodos de archivos y clientes adecuados.

  1. Copia el certificado de CA y el certificado y la clave del servicio de gestión en los nodos de archivos que ejecutan los servicios de gestión:

    scp ca_cert.pem mgmtd_tls_cert.pem mgmtd_tls_key.pem user@beegfs_01:/etc/beegfs/
    scp ca_cert.pem mgmtd_tls_cert.pem mgmtd_tls_key.pem user@beegfs_02:/etc/beegfs/

Apunta el servicio de gestión a los certificados TLS

Actualiza la configuración del servicio de gestión de BeeGFS para habilitar TLS y referenciar los certificados TLS creados.

  1. Desde un nodo de archivos que ejecuta el servicio de gestión BeeGFS, edita el archivo de configuración del servicio de gestión, por ejemplo en /mnt/mgmt_tgt_mgmt01/mgmt_config/beegfs-mgmtd.toml. Agrega o actualiza los siguientes parámetros relacionados con TLS:

    tls-disable = false
    tls-cert-file = "/etc/beegfs/mgmtd_tls_cert.pem"
    tls-key-file = "/etc/beegfs/mgmtd_tls_key.pem"
  2. Reinicia el servicio de gestión de BeeGFS:

    systemctl restart beegfs-mgmtd
  3. Verifica que el servicio de gestión se inició correctamente:

    journalctl -xeu beegfs-mgmtd
    Nota

    Busca entradas de registro que indiquen una inicialización TLS exitosa y la carga de certificados.

    Successfully initialized certificate verification library.
    Successfully loaded license certificate: TMP-XXXXXXXXXX

Configura TLS para clientes BeeGFS 8

Importante

Si estás actualizando un clúster BeeGFS 7 existente a BeeGFS 8, sigue el procedimiento "Actualiza a BeeGFS 8". No configures TLS de cliente hasta que se te indique en el procedimiento de actualización.

Crea y distribuye certificados firmados por la CA local a todos los clientes BeeGFS que requieran comunicación con los servicios de gestión de BeeGFS.

  1. Genera un certificado de cliente usando el mismo proceso descrito en [create-management-service-certificates], sustituyendo la dirección IP o el nombre de host del cliente en el campo Subject Alternative Name (SAN).

  2. Copia el certificado de cliente en el nodo cliente y cámbiale el nombre a cert.pem:

    scp client_cert.pem user@client:/etc/beegfs/cert.pem
  3. Reinicia el servicio cliente BeeGFS en todos los clientes:

    systemctl restart beegfs-client
  4. Verifica la conectividad del cliente ejecutando un comando CLI de BeeGFS, como:

    beegfs health check

Desactivar TLS

Desactiva TLS para solucionar problemas o si tu entorno no requiere cifrado. Evita esta opción en entornos de producción porque expone información potencialmente sensible sobre la estructura del sistema de archivos y la configuración como texto sin cifrar.

Poner en marcha un nuevo clúster BeeGFS 8

Para un nuevo despliegue de clúster BeeGFS, desactiva TLS estableciendo el siguiente parámetro en el archivo de inventario de Ansible user_defined_params.yml:

beegfs_ha_tls_enabled: false

Configurar un clúster BeeGFS 8 existente

Para un clúster BeeGFS 8 existente, edita el archivo de configuración del servicio de gestión. Por ejemplo, edita el archivo en /mnt/mgmt_tgt_mgmt01/mgmt_config/beegfs-mgmtd.toml y establece:

tls-disable = true

Reinicia el servicio de gestión para que los cambios surtan efecto.