Skip to main content
BeeGFS on NetApp with E-Series Storage
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Configurer le chiffrement TLS pour BeeGFS 8

Contributeurs mcwhiteside

Configurez le chiffrement TLS pour sécuriser la communication entre les services de gestion BeeGFS 8 et les clients.

Présentation

BeeGFS 8 introduit la prise en charge de TLS pour le chiffrement des communications réseau entre les outils d'administration (tels que l' `beegfs`utilitaire en ligne de commande) et les services serveur BeeGFS comme Management ou Remote. Configurez le chiffrement TLS dans votre cluster BeeGFS à l'aide de l'une des trois méthodes suivantes :

  • Utilisation d'une autorité de certification de confiance : Utilisez les certificats signés par une autorité de certification existante sur votre cluster BeeGFS.

  • Création d'une autorité de certification locale : Créez une autorité de certification locale et utilisez-la pour signer les certificats de vos services BeeGFS. Cette approche convient aux environnements où vous souhaitez gérer votre propre chaîne de confiance sans dépendre d'une autorité de certification externe.

  • TLS désactivé : Désactivez complètement TLS dans les environnements où le chiffrement n’est pas requis ou pour le dépannage. Évitez cette option en production car elle expose des informations potentiellement sensibles concernant la structure et la configuration du système de fichiers en clair.

Choisissez la méthode la mieux adaptée à votre environnement et à vos politiques organisationnelles. Consultez la "BeeGFS TLS" documentation pour plus de détails.

Remarque

Les clients exécutant le beegfs-client service n'ont pas besoin de TLS pour monter le système de fichiers BeeGFS. TLS est requis pour utiliser l'interface de ligne de commande BeeGFS et d'autres services BeeGFS, tels que Remote et Sync.

Utilisation d'une autorité de certification de confiance

Si vous avez accès à des certificats émis par une autorité de certification (CA) de confiance—qu'il s'agisse d'une CA interne à l'entreprise ou d'un fournisseur tiers—vous pouvez configurer BeeGFS 8 pour utiliser ces certificats signés par la CA au lieu de générer des certificats auto-signés.

Déploiement d'un nouveau cluster BeeGFS 8

Pour un nouveau déploiement de cluster BeeGFS 8, configurez le fichier d'inventaire Ansible user_defined_params.yml pour qu'il référence vos certificats signés par une autorité de certification :

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
Remarque

Si beegfs_ha_tls_config_options.alt_names n'est pas vide, Ansible générera automatiquement un certificat TLS auto-signé et une clé, en utilisant les alt_names fournis comme Subject Alternative Names (SANs) dans le certificat. Pour utiliser votre propre certificat et clé TLS personnalisés (tels que spécifiés par beegfs_ha_tls_cert_src_path et beegfs_ha_tls_key_src_path), vous devez commenter ou supprimer l'intégralité de la section beegfs_ha_tls_config_options. Sinon, la génération du certificat auto-signé prendra le dessus et votre certificat et clé personnalisés ne seront pas utilisés.

Configuration d'un cluster BeeGFS 8 existant

Pour un cluster BeeGFS 8 existant, définissez les chemins dans le fichier de configuration des services de gestion BeeGFS sur les certificats signés par l'autorité de certification du nœud de fichiers :

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

Configuration des clients BeeGFS 8 avec des certificats signés par une autorité de certification

Important

Si vous mettez à niveau un cluster BeeGFS 7 existant vers BeeGFS 8, suivez la "Mise à niveau vers BeeGFS 8" procédure. Ne configurez pas le protocole TLS côté client avant d'y être invité lors de la procédure de mise à niveau.

Pour configurer les clients BeeGFS 8 afin qu'ils fassent confiance aux certificats signés par une autorité de certification à l'aide du pool de certificats système, définissez tls-cert-file = " dans la configuration de chaque client. Si le pool de certificats système n'est pas utilisé, indiquez le chemin d'accès à un certificat local en définissant tls-cert-file = <local cert>. Cette configuration permet aux clients d'authentifier les certificats présentés par les services de gestion BeeGFS.

Création d'une autorité de certification locale

Si votre organisation souhaite créer sa propre infrastructure de certificats pour le cluster BeeGFS, vous pouvez créer une autorité de certification (CA) locale pour émettre et signer les certificats de votre cluster BeeGFS. Cette approche consiste à créer une CA qui signe les certificats des services de gestion BeeGFS, lesquels sont ensuite distribués aux clients afin d'établir une chaîne de confiance.

Déploiement d'un nouveau cluster BeeGFS 8

Pour un nouveau déploiement de BeeGFS 8, le beegfs_8 rôle Ansible (inclus dans la collection BeeGFS HA) crée une autorité de certification locale sur le nœud de contrôle et génère les certificats nécessaires pour les services de gestion. Activez cette fonctionnalité en définissant les paramètres suivants dans le fichier user_defined_params.yml d'inventaire Ansible :

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>]
Remarque

Si beegfs_ha_tls_config_options.alt_names n'est pas fourni, alors Ansible tentera d'utiliser les certificats existants dans les chemins de certificat/clé spécifiés.

Configuration d'un cluster BeeGFS 8 existant

Pour un cluster BeeGFS existant, vous pouvez intégrer TLS en créant une autorité de certification locale et en générant les certificats nécessaires pour les services de gestion. Mettez à jour les chemins dans le fichier de configuration des services de gestion BeeGFS pour qu'ils pointent vers les certificats nouvellement créés.

Important

Utilisez ces instructions comme référence. Prenez les précautions de sécurité appropriées lors de la manipulation de clés privées et de certificats.

Créer l'autorité de certification

Sur une machine de confiance, créez une autorité de certification locale pour signer les certificats de vos services de gestion BeeGFS. Le certificat de l'autorité de certification sera distribué aux clients pour établir la confiance et permettre une communication sécurisée avec les services BeeGFS.

Les instructions suivantes servent de référence pour la création d'une autorité de certification locale sur un système basé sur RHEL.

  1. Installez OpenSSL s'il n'est pas déjà installé :

    dnf install openssl
  2. Créez un répertoire de travail pour stocker les fichiers de certificat :

    mkdir -p ~/beegfs_tls && cd ~/beegfs_tls
  3. Générez la clé privée de la CA :

    openssl genrsa -out ca_key.pem 4096
  4. Créez un fichier de configuration CA nommé ca.cnf et ajustez les champs de nom unique pour qu'ils correspondent à votre organisation :

    [ 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. Générez le certificat d'autorité de certification. Ce certificat doit être valide pendant toute la durée de vie du système. Prévoyez de régénérer les certificats avant leur expiration. Après l'expiration d'un certificat, la communication entre certains composants échoue. La mise à jour des certificats TLS nécessite généralement le redémarrage des services.

    La commande suivante génère un certificat d'autorité de certification valable 1 an :

    openssl req -new -x509 -key ca_key.pem -out ca_cert.pem -days 365 -config ca.cnf
    Remarque Bien que cet exemple utilise une période de validité d'un an par souci de simplicité, vous devez ajuster le -days paramètre en fonction des exigences de sécurité de votre organisation et mettre en place un processus de renouvellement de certificat.

Créer des certificats de service de gestion

Générez des certificats pour vos services de gestion BeeGFS et signez-les avec la CA que vous avez créée. Ces certificats seront installés sur les nœuds de fichiers exécutant les services de gestion BeeGFS.

  1. Générez la clé privée du service de gestion :

    openssl genrsa -out mgmtd_tls_key.pem 4096
  2. Créez un fichier de configuration de certificat nommé tls_san.cnf avec des Subject Alternative Names (SAN) pour toutes les adresses IP du service de gestion :

    [ 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>

    Mettez à jour les champs de nom unique pour qu'ils correspondent à la configuration de votre autorité de certification, et remplacez les IP.1 et IP.2 valeurs par les adresses IP de votre service de gestion.

  3. Générez une demande de signature de certificat (CSR) :

    openssl req -new -key mgmtd_tls_key.pem -out mgmtd_tls_csr.pem -config tls_san.cnf
  4. Signez le certificat avec votre CA (valable 1 an) :

    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
    Remarque Ajustez la période de validité du certificat (-days 365 en fonction des politiques de sécurité de votre organisation. De nombreuses organisations exigent un renouvellement des certificats tous les 1-2 ans.
  5. Vérifiez que le certificat a été créé correctement :

    openssl x509 -in mgmtd_tls_cert.pem -text -noout

    Confirmez que la section Nom alternatif du sujet inclut toutes vos adresses IP de gestion.

Distribuer les certificats aux nœuds de fichiers

Distribuez le certificat d'autorité de certification et les certificats de service de gestion aux nœuds de fichiers et aux clients appropriés.

  1. Copiez le certificat d'autorité de certification (CA), le certificat du service de gestion et la clé de ce service sur les nœuds de fichiers exécutant les services de gestion :

    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/

Pointez le service de gestion vers les certificats TLS

Mettez à jour la configuration du service de gestion BeeGFS pour activer TLS et référencer les certificats TLS créés.

  1. Depuis un nœud de fichier exécutant le service de gestion BeeGFS, modifiez le fichier de configuration du service de gestion, par exemple à /mnt/mgmt_tgt_mgmt01/mgmt_config/beegfs-mgmtd.toml. Ajoutez ou mettez à jour les paramètres liés à TLS suivants :

    tls-disable = false
    tls-cert-file = "/etc/beegfs/mgmtd_tls_cert.pem"
    tls-key-file = "/etc/beegfs/mgmtd_tls_key.pem"
  2. Redémarrez le service de gestion BeeGFS :

    systemctl restart beegfs-mgmtd
  3. Vérifiez que le service de gestion a démarré avec succès :

    journalctl -xeu beegfs-mgmtd
    Remarque

    Recherchez les entrées de journal indiquant une initialisation TLS réussie et un chargement du certificat.

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

Configurer TLS pour les clients BeeGFS 8

Important

Si vous mettez à niveau un cluster BeeGFS 7 existant vers BeeGFS 8, suivez la "Mise à niveau vers BeeGFS 8" procédure. Ne configurez pas le protocole TLS côté client avant d'y être invité lors de la procédure de mise à niveau.

Créer et distribuer des certificats signés par l'autorité de certification locale à tous les clients BeeGFS qui nécessitent une communication avec les services de gestion BeeGFS.

  1. Générez un certificat client en utilisant le même processus décrit dans [create-management-service-certificates], en remplaçant l'adresse IP ou le nom d'hôte du client dans le champ Nom alternatif du sujet (SAN).

  2. Copiez le certificat client sur le nœud client et renommez-le cert.pem :

    scp client_cert.pem user@client:/etc/beegfs/cert.pem
  3. Redémarrez le service client BeeGFS sur tous les clients :

    systemctl restart beegfs-client
  4. Vérifiez la connectivité du client en exécutant une commande BeeGFS CLI, telle que :

    beegfs health check

Désactivation de TLS

Désactivez TLS pour le dépannage ou si votre environnement ne requiert pas de chiffrement. Évitez cette option en environnement de production, car elle expose des informations potentiellement sensibles concernant la structure et la configuration du système de fichiers en clair.

Déploiement d'un nouveau cluster BeeGFS 8

Pour un nouveau déploiement de cluster BeeGFS, désactivez TLS en définissant le paramètre suivant dans le fichier user_defined_params.yml d'inventaire Ansible :

beegfs_ha_tls_enabled: false

Configuration d'un cluster BeeGFS 8 existant

Pour un cluster BeeGFS 8 existant, modifiez le fichier de configuration du service de gestion. Par exemple, modifiez le fichier à /mnt/mgmt_tgt_mgmt01/mgmt_config/beegfs-mgmtd.toml et définissez :

tls-disable = true

Redémarrez le service de gestion pour que les modifications prennent effet.