Skip to main content
BeeGFS on NetApp with E-Series Storage
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

TLS-Verschlüsselung für BeeGFS 8 konfigurieren

Beitragende mcwhiteside
Änderungen vorschlagen

Konfigurieren Sie die TLS-Verschlüsselung, um die Kommunikation zwischen BeeGFS 8 Management-Services und Clients zu sichern.

Überblick

BeeGFS 8 führt TLS-Unterstützung für die Verschlüsselung der Netzwerkkommunikation zwischen Verwaltungstools (wie dem beegfs Befehlszeilenprogramm) und BeeGFS-Serverdiensten wie Management oder Remote ein. Konfigurieren Sie die TLS-Verschlüsselung in Ihrem BeeGFS-Cluster mit einer der drei Methoden:

  • Verwendung einer vertrauenswürdigen Zertifizierungsstelle: Verwenden Sie vorhandene, von einer CA signierte Zertifikate auf Ihrem BeeGFS-Cluster.

  • Lokale Zertifizierungsstelle erstellen: Erstellen Sie eine lokale Zertifizierungsstelle und verwenden Sie diese, um Zertifikate für Ihre BeeGFS Services zu signieren. Dieser Ansatz eignet sich für Umgebungen, in denen Sie Ihre eigene Vertrauenskette verwalten möchten, ohne auf eine externe CA angewiesen zu sein.

  • TLS deaktiviert: Deaktivieren Sie TLS vollständig für Umgebungen, in denen keine Verschlüsselung erforderlich ist oder zur Fehlerbehebung. Vermeiden Sie diese Option in Produktionsumgebungen, da sie potenziell sensible Informationen über die Dateisystemstruktur und -konfiguration als Klartext offenlegt.

Wählen Sie die Methode, die am besten zu Ihrer Umgebung und Ihren Unternehmensrichtlinien passt. Siehe die "BeeGFS TLS" Dokumentation für weitere Details.

Hinweis

Clients, die den beegfs-client Dienst ausführen, benötigen kein TLS, um das BeeGFS-Dateisystem einzubinden. TLS ist erforderlich, um die BeeGFS CLI und andere BeeGFS-Dienste wie Remote und Sync zu verwenden.

Verwendung einer vertrauenswürdigen Zertifizierungsstelle

Wenn Sie Zugriff auf Zertifikate haben, die von einer vertrauenswürdigen Zertifizierungsstelle (CA) ausgestellt wurden—sei es von einer internen Unternehmens-CA oder einem Drittanbieter—, können Sie BeeGFS 8 so konfigurieren, dass diese CA-signierten Zertifikate anstelle von selbstsignierten verwendet werden.

Bereitstellung eines neuen BeeGFS 8-Clusters

Konfigurieren Sie für eine neue BeeGFS 8-Clusterbereitstellung die user_defined_params.yml-Datei des Ansible-Inventars so, dass sie auf Ihre von der CA signierten Zertifikate verweist:

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
Hinweis

Wenn beegfs_ha_tls_config_options.alt_names nicht leer ist, generiert Ansible automatisch ein selbstsigniertes TLS-Zertifikat und einen Schlüssel, wobei die angegebenen alt_names als Subject Alternative Names (SANs) im Zertifikat verwendet werden. Um Ihr eigenes TLS-Zertifikat und Ihren eigenen Schlüssel zu verwenden (wie durch beegfs_ha_tls_cert_src_path und beegfs_ha_tls_key_src_path angegeben), müssen Sie den gesamten beegfs_ha_tls_config_options Abschnitt auskommentieren oder entfernen. Andernfalls hat die Generierung des selbstsignierten Zertifikats Vorrang, und Ihr benutzerdefiniertes Zertifikat und Ihr benutzerdefinierter Schlüssel werden nicht verwendet.

Konfigurieren eines bestehenden BeeGFS 8 Clusters

Für einen bestehenden BeeGFS 8-Cluster legen Sie die Pfade in der Konfigurationsdatei der BeeGFS-Managementdienste auf die CA-signierten Zertifikate des Dateiknotens fest:

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

Konfiguration von BeeGFS 8 Clients mit CA-signierten Zertifikaten

Wichtig

Wenn Sie einen bestehenden BeeGFS 7-Cluster auf BeeGFS 8 aktualisieren, befolgen Sie die "Upgrade auf BeeGFS 8" Vorgehensweise. Konfigurieren Sie Client-TLS erst, wenn Sie im Rahmen der Aktualisierungsprozedur dazu aufgefordert werden.

Um BeeGFS 8-Clients so zu konfigurieren, dass sie von einer Zertifizierungsstelle signierten Zertifikaten aus dem Systemzertifikatspool vertrauen, setzen Sie in der Konfiguration jedes Clients tls-cert-file = "". Wenn der Systemzertifikatspool nicht verwendet wird, geben Sie den Pfad zu einem lokalen Zertifikat an, indem Sie tls-cert-file = <local cert> setzen. Diese Konfiguration ermöglicht es Clients, die von den BeeGFS-Managementdiensten präsentierten Zertifikate zu authentifizieren.

Erstellung einer lokalen Zertifizierungsstelle

Wenn Ihre Organisation eine eigene Zertifikatsinfrastruktur für den BeeGFS-Cluster erstellen möchte, können Sie eine lokale Zertifizierungsstelle (CA) einrichten, die Zertifikate für Ihren BeeGFS-Cluster ausstellt und signiert. Dieser Ansatz beinhaltet die Erstellung einer CA, die Zertifikate für BeeGFS-Managementdienste signiert, welche dann an Clients verteilt werden, um eine Vertrauenskette herzustellen.

Bereitstellung eines neuen BeeGFS 8-Clusters

Für eine neue BeeGFS 8-Bereitstellung erstellt die beegfs_8 Ansible-Rolle (enthalten in der BeeGFS HA-Collection) eine lokale CA auf dem Kontrollknoten und generiert die notwendigen Zertifikate für die Management-Services. Aktivieren Sie dies, indem Sie die folgenden Parameter in der user_defined_params.yml Ansible-Inventardatei festlegen:

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

Wenn beegfs_ha_tls_config_options.alt_names nicht angegeben wird, versucht Ansible, vorhandene Zertifikate in den angegebenen Zertifikats-/Schlüsselpfaden zu verwenden.

Konfigurieren eines bestehenden BeeGFS 8 Clusters

Für einen bestehenden BeeGFS-Cluster können Sie TLS integrieren, indem Sie eine lokale Zertifizierungsstelle erstellen und die erforderlichen Zertifikate für die Managementdienste generieren. Aktualisieren Sie die Pfade in der BeeGFS-Managementdienste-Konfigurationsdatei, sodass sie auf die neu erstellten Zertifikate verweisen.

Wichtig

Diese Anweisungen dienen als Referenz. Treffen Sie beim Umgang mit privaten Schlüsseln und Zertifikaten die erforderlichen Sicherheitsvorkehrungen.

Erstellen Sie die Zertifizierungsstelle

Erstellen Sie auf einem vertrauenswürdigen Rechner eine lokale Certificate Authority, um Zertifikate für Ihre BeeGFS-Managementdienste zu signieren. Das CA-Zertifikat wird an die Clients verteilt, um Vertrauen herzustellen und eine sichere Kommunikation mit BeeGFS-Services zu ermöglichen.

Die folgenden Anweisungen sind eine Referenz für die Erstellung einer lokalen Zertifizierungsstelle auf einem RHEL-basierten System.

  1. Installieren Sie OpenSSL, falls es noch nicht installiert ist:

    dnf install openssl
  2. Erstellen Sie ein Arbeitsverzeichnis zum Speichern der Zertifikatsdateien:

    mkdir -p ~/beegfs_tls && cd ~/beegfs_tls
  3. Generieren Sie den privaten CA-Schlüssel:

    openssl genrsa -out ca_key.pem 4096
  4. Erstellen Sie eine CA Konfigurationsdatei mit dem Namen ca.cnf und passen Sie die Felder für den individuellen Namen an Ihre Organisation an:

    [ 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. Generieren Sie das CA-Zertifikat. Dieses Zertifikat sollte für die gesamte Lebensdauer des Systems gültig sein. Planen Sie, die Zertifikate vor ihrem Ablauf zu erneuern. Nach Ablauf eines Zertifikats schlägt die Kommunikation zwischen einigen Komponenten fehl. Die Aktualisierung von TLS-Zertifikaten erfordert typischerweise einen Neustart der Dienste.

    Der folgende Befehl generiert ein CA-Zertifikat, das 1 Jahr gültig ist:

    openssl req -new -x509 -key ca_key.pem -out ca_cert.pem -days 365 -config ca.cnf
    Hinweis Während in diesem Beispiel der Einfachheit halber eine Gültigkeitsdauer von 1 Jahr verwendet wird, sollten Sie den -days Parameter entsprechend den Sicherheitsanforderungen Ihrer Organisation anpassen und einen Prozess zur Zertifikatserneuerung einrichten.

Management-Service-Zertifikate erstellen

Generieren Sie Zertifikate für Ihre BeeGFS management services und signieren Sie diese mit der von Ihnen erstellten CA. Diese Zertifikate werden auf den Dateiknoten installiert, auf denen BeeGFS management services ausgeführt werden.

  1. Generieren Sie den privaten Schlüssel des Verwaltungsdienstes:

    openssl genrsa -out mgmtd_tls_key.pem 4096
  2. Erstellen Sie eine Konfigurationsdatei tls_san.cnf mit Subject Alternative Names (SANs) für alle Management-Service-IP-Adressen:

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

    Aktualisieren Sie die Felder für den individuellen Namen, sodass sie Ihrer CA-Konfiguration entsprechen, und ersetzen Sie die IP.1 und IP.2 Werte durch die IP-Adressen Ihres Management-Service.

  3. Generieren Sie eine Certificate Signing Request (CSR):

    openssl req -new -key mgmtd_tls_key.pem -out mgmtd_tls_csr.pem -config tls_san.cnf
  4. Signieren Sie das Zertifikat mit Ihrer CA (gültig für 1 Jahr):

    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
    Hinweis Passen Sie die Gültigkeitsdauer des Zertifikats (-days 365) an die Sicherheitsrichtlinien Ihrer Organisation an. Viele Organisationen verlangen eine Zertifikatsrotation alle 1–2 Jahre.
  5. Überprüfen Sie, ob das Zertifikat korrekt erstellt wurde:

    openssl x509 -in mgmtd_tls_cert.pem -text -noout

    Bestätigen Sie, dass der Abschnitt „Subject Alternative Name“ alle Ihre Management-IP-Adressen enthält.

Zertifikate an Dateiknoten verteilen

Verteilen Sie das CA-Zertifikat und die Management-Service-Zertifikate an die entsprechenden Dateiknoten und Clients.

  1. Kopieren Sie das CA-Zertifikat sowie das Zertifikat und den Schlüssel des Verwaltungsdienstes auf die Dateiknoten, auf denen die Verwaltungsdienste ausgeführt werden:

    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/

Weisen Sie den Verwaltungsdienst auf die TLS-Zertifikate zu.

Aktualisieren Sie die Konfiguration des BeeGFS-Managementdienstes, um TLS zu aktivieren und auf die erstellten TLS-Zertifikate zu verweisen.

  1. Bearbeiten Sie auf einem Dateiknoten, auf dem der BeeGFS-Managementdienst ausgeführt wird, die Konfigurationsdatei, zum Beispiel unter /mnt/mgmt_tgt_mgmt01/mgmt_config/beegfs-mgmtd.toml. Fügen Sie die folgenden TLS-bezogenen Parameter hinzu oder aktualisieren Sie sie:

    tls-disable = false
    tls-cert-file = "/etc/beegfs/mgmtd_tls_cert.pem"
    tls-key-file = "/etc/beegfs/mgmtd_tls_key.pem"
  2. Starten Sie den BeeGFS Management Service neu:

    systemctl restart beegfs-mgmtd
  3. Überprüfen Sie, ob der Managementdienst erfolgreich gestartet wurde:

    journalctl -xeu beegfs-mgmtd
    Hinweis

    Suchen Sie nach Logeinträgen, die eine erfolgreiche TLS-Initialisierung und das Laden des Zertifikats anzeigen.

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

Konfigurieren Sie TLS für BeeGFS 8 clients

Wichtig

Wenn Sie einen bestehenden BeeGFS 7-Cluster auf BeeGFS 8 aktualisieren, befolgen Sie die "Upgrade auf BeeGFS 8" Vorgehensweise. Konfigurieren Sie Client-TLS erst, wenn Sie im Rahmen der Aktualisierungsprozedur dazu aufgefordert werden.

Erstellen und verteilen Sie von der lokalen CA signierte Zertifikate an alle BeeGFS-Clients, die eine Kommunikation mit BeeGFS-Management-Services benötigen.

  1. Generieren Sie ein Clientzertifikat mit dem gleichen Verfahren, das in [create-management-service-certificates] beschrieben ist, und ersetzen Sie dabei die IP-Adresse oder den Hostnamen des Clients im Feld Subject Alternative Name (SAN).

  2. Kopieren Sie das Clientzertifikat auf den Clientknoten und benennen Sie es in cert.pem um:

    scp client_cert.pem user@client:/etc/beegfs/cert.pem
  3. Starten Sie den BeeGFS client service auf allen Clients neu:

    systemctl restart beegfs-client
  4. Überprüfen Sie die Client-Konnektivität, indem Sie einen BeeGFS CLI-Befehl ausführen, z. B.:

    beegfs health check

TLS deaktivieren

Deaktivieren Sie TLS zur Fehlerbehebung oder wenn Ihre Umgebung keine Verschlüsselung erfordert. Vermeiden Sie diese Option in Produktionsumgebungen, da dadurch potenziell sensible Informationen über die Dateisystemstruktur und -konfiguration als Klartext offengelegt werden.

Bereitstellung eines neuen BeeGFS 8-Clusters

Bei der Bereitstellung eines neuen BeeGFS-Clusters deaktivieren Sie TLS, indem Sie den folgenden Parameter in der user_defined_params.yml Konfigurationsdatei des Ansible-Inventars festlegen:

beegfs_ha_tls_enabled: false

Konfigurieren eines bestehenden BeeGFS 8 Clusters

Bearbeiten Sie für einen bestehenden BeeGFS 8-Cluster die Konfigurationsdatei des Management-Dienstes. Bearbeiten Sie beispielsweise die Datei unter /mnt/mgmt_tgt_mgmt01/mgmt_config/beegfs-mgmtd.toml und legen Sie Folgendes fest:

tls-disable = true

Starten Sie den Verwaltungsdienst neu, damit die Änderungen wirksam werden.