Configura el cifrado TLS para BeeGFS 8
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.
|
|
Los clientes que ejecutan el |
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
|
|
Si |
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
|
|
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>]
|
|
Si |
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.
|
|
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.
-
Instala OpenSSL si aún no está instalado:
dnf install openssl -
Crea un directorio de trabajo para guardar los archivos de certificados:
mkdir -p ~/beegfs_tls && cd ~/beegfs_tls -
Genera la clave privada de la CA:
openssl genrsa -out ca_key.pem 4096 -
Crea un archivo de configuración de CA llamado
ca.cnfy 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 -
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.cnfAunque en este ejemplo se utiliza un periodo de validez de 1 año para simplificar, deberías ajustar el parámetro -dayssegú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.
-
Genera la clave privada del servicio de gestión:
openssl genrsa -out mgmtd_tls_key.pem 4096 -
Crea un archivo de configuración de certificados llamado
tls_san.cnfcon 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.1yIP.2por las direcciones IP de tu servicio de gestión. -
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 -
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.cnfAjusta el periodo de validez del certificado ( -days 365según las políticas de seguridad de tu organización. Muchas organizaciones requieren la rotación de certificados cada 1-2 años. -
Verifica que el certificado se haya creado correctamente:
openssl x509 -in mgmtd_tls_cert.pem -text -nooutConfirma 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.
-
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.
-
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" -
Reinicia el servicio de gestión de BeeGFS:
systemctl restart beegfs-mgmtd -
Verifica que el servicio de gestión se inició correctamente:
journalctl -xeu beegfs-mgmtdBusca 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
|
|
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.
-
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).
-
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 -
Reinicia el servicio cliente BeeGFS en todos los clientes:
systemctl restart beegfs-client -
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.