TLS-Verschlüsselung während der Übertragung verwenden

Die Verschlüsselung während der Übertragung mit oci-fss-utils oder stunnel bietet eine Möglichkeit, Ihre Daten zwischen Instanzen und gemounteten Dateisystemen mit TLS v.1.3-(Transport Layer Security-)Verschlüsselung zu sichern. Zusammen mit anderen Sicherheitsmethoden wie Oracle Cloud Infrastructure Vault und der Data-at-Rest-Verschlüsselung von File Storage bietet die Verschlüsselung während der Übertragung End-to-End-Sicherheit.

Tipp

Wenn Sie Kerberos für die Authentifizierung verwenden, bietet die Sicherheitsoption KRB5P die Authentifizierung über NFS, die Datenintegrität (nicht autorisierte Änderung von Daten während der Übertragung) und den Datenschutz als alternative Verschlüsselungsoption während der Übertragung.

Für Verschlüsselung während der Übertragung mit oci-fss-utils oder stunnel sind keine Aktualisierungen des Mountziels oder der Exportkonfiguration des Dateisystems erforderlich. Die Schritte unterscheiden sich jedoch für Benutzer von Linux und von Windows.

Voraussetzungen

Fügen Sie der Sicherheitsliste die erforderlichen Regeln für das Subnetz des Mountziels hinzu. Alternativ können Sie die folgenden Regeln zu einer Netzwerksicherheitsgruppe (NSG) und anschließend das Mountziel zur NSG hinzufügen. Weitere Informationen und Anweisungen zum Hinzufügen von Sicherheitslistenregeln für File Storage finden Sie unter VCN-Sicherheitsregeln für File Storage konfigurieren, insbesondere Szenario C: Mountziel und Instanz verwenden TLS-Verschlüsselung während der Übertragung.

Wichtig

Für den verschlüsselten Zugriff sind nur die Regeln für TCP-Port 2051 erforderlich.

Verschlüsselung während der Übertragung für Linux-Benutzer

Um die Verschlüsselung während der Übertragung zu aktivieren, installieren Sie ein Package namens oci-fss-utils auf der Instanz. Das Tool oci-fss-utils ist für folgende Instanztypen verfügbar:

  • Oracle Linux, CentOS 7 x86
  • Oracle Linux, CentOS 8 x86
  • Oracle Linux, CentOS 9 x86
  • Oracle Linux, CentOS 7 Arm*
  • Oracle Linux, CentOS 8 Arm*
  • Oracle Linux, CentOS 9 Arm*

* Oracle bietet eine ARM-basierte Compute-Plattform auf Basis des Ampere Altra-Prozessors an. Weitere Informationen finden Sie unter ARM-basierte Compute-Ausprägungen.

Aktivierung der Verschlüsselung während der Übertragung

Das Package oci-fss-utils erstellt einen Netzwerk-Namespace und eine virtuelle Netzwerkschnittstelle auf der Instanz und stellt einen lokalen NFS-Endpunkt bereit. Das Package oci-fss-utils führt auch einen Weiterleitungsprozess im Hintergrund namens oci-fss-forwarder aus.

Der Netzwerk-Namespace isoliert den Weiterleitungsprozess von der Netzwerkumgebung der Instanz. Die virtuelle Netzwerkschnittstelle bietet dem Weiterleitungsprozess eine eindeutige IP-Adresse. Der lokale NFS-Endpunkt sorgt für die NFS-Verbindungsfähigkeit.

Das Dateisystem wird mit einem speziellen Befehl gemountet, durch den die Verschlüsselung initiiert wird. Nachdem das Dateisystem gemountet wurde, wird der lokale NFS-Client durch den oci-fss-forwarder-Prozess mit dem NFS-Endpunkt verbunden. Dann empfängt der Prozess Anforderungen vom NFS-Client, verschlüsselt diese und sendet sie über einen TLS-Tunnel an das Mountziel.

Im Folgenden werden die allgemeinen Schritte beim Einrichten der Verschlüsselung während der Übertragung aufgeführt:

  1. Stellen Sie sicher, dass alle Voraussetzungen erfüllt sind, bevor Sie die Verschlüsselung während der Übertragung einrichten.
  2. Installieren Sie das Package oci-fss-utils.

    1. Wenn Sie Oracle Linux verwenden, finden Sie weitere Informationen unter 1. Installieren Sie das OCI-FSS-UTILS-Package.
    2. Wenn Sie CentOS verwenden, lesen Sie Manuelle und Offlineinstallation.
  3. Mounten Sie das Dateisystem mit dem Befehl für die Verschlüsselung während der Übertragung. Anweisungen hierzu finden Sie unter 2. Mounten Sie das Dateisystem mit dem Verschlüsselungsbefehl.

Einschränkungen und Überlegungen

  • Das Installationspackage für die Verschlüsselung während der Übertragung wird als RPM für Oracle Linux und CentOS verteilt. Oracle Linux-Benutzer können das Package mit yum installieren. Sie kann auch aus dem Oracle Linux yum Repository heruntergeladen werden.
  • Sie müssen das Package oci-fss-utils auf jeder Instanz installieren, die verschlüsselten Zugriff auf ein Mountziel erfordert.
  • Die Anzahl der verschlüsselten NFS/TLS-Verbindungen für ein einzelnes Mountziel ist auf 4096 begrenzt.
  • DNS-Hostnamen werden für das Mounten verschlüsselter Dateisysteme mit oci-fss-forwarder nicht unterstützt. Verwenden Sie für das Mounten verschlüsselter Dateisysteme die IP-Adresse des Mountziels.
Wichtig

Wenn Sie nicht die neueste Version des oci-fss-utils-Packages verwenden, kann es zu SSL-Verbindungsfehlern kommen. SSL-Verbindungsfehler können dazu führen, dass NFSv3-Vorgänge nicht erfolgreich ausgeführt werden können.

Es wird empfohlen, immer ein Upgrade auf die neueste Version des oci-fss-utils-Packages durchzuführen, sobald diese verfügbar ist. Informationen zu neuen RPM-Versionsreleases finden Sie in den Versionshinweisen zu File Storage.

Verschlüsselung während der Übertragung für Linux einrichten

1. OCI-FSS-UTILS-Package installieren

Oracle Linux-Benutzer können das TLS-Utility direkt aus dem Oracle Linux yum-Repository installieren.

  1. Öffnen Sie ein Terminalfenster auf der Zielinstanz.
  2. Stellen Sie mit dem folgenden Befehl sicher, dass das Oracle-Entwickler-yum-Repository für die Oracle Linux-Version aktiviert ist:

    sudo yum-config-manager --enable ol<oracle_linux_major_version>_developer

    Installieren Sie das Package mit dem folgenden Befehl:

    sudo yum install oci-fss-utils

Das Package erstellt einen Namespace namens ns1 auf Ihrer Instanz, der eine Standardnetzwerkschnittstelle für Ethernettraffic enthält. Für jedes Mountziel wird ein Netzwerkschnittstellenpaar erstellt.

Wenn das Package vollständig installiert wurde, gehen Sie zu 2. Mounten Sie das Dateisystem mit dem Verschlüsselungsbefehl.

Manuelle und Offlineinstallation

Um das RPM-Installationspackage herunterzuladen, ist ein Internetzugriff erforderlich. Wenn die Zielinstanz über keinen Internetzugriff verfügt, können Sie das RPM-Package auf eine Staging-Instanz in Ihrem Netzwerk herunterladen und dann mit dem Befehl scp sicher von der Staging-Instanz in die Zielinstanz kopieren.

Für den Befehl scp ist ein SSH-Schlüsselpaar erforderlich, um einen Remotebenutzer zu authentifizieren. Wenn sich Ihre Instanzen auf UNIX-Systemen befinden, ist das Utility ssh-keygen wahrscheinlich bereits installiert. Um zu prüfen, ob es installiert ist, öffnen Sie eine Shell oder ein Terminal, und geben Sie ssh-keygen in die Befehlszeile ein. Wenn es nicht installiert ist, finden Sie OpenSSH für UNIX unter http://www.openssh.com/portable.html.

  1. (Optional) Erstellen Sie ein Verzeichnis für das RPM-Installationspackage auf der Zielinstanz. Beispiel: 

    sudo mkdir -p /<rpm_directory_name>
  2. Laden Sie das neueste oci-fss-utils-Package aus dem Oracle Linux yum-Repository in das Verzeichnis auf der Zielinstanz oder in eine Staging-Instanz im Netzwerk herunter.

    1. Wählen Sie auf der Seite Oracle Linux-yum-Repository unter Repositorys durchsuchen eine Oracle Linux-Version aus.
    2. Suchen Sie unter Packages für Test und Entwicklung nach Entwicklerpackages, und wählen Sie dann den Linux-Architekturtyp aus, z.B. x86_64 oder aarch64.
    3. Suchen und wählen Sie die neueste Version des oci-fss-utils-Packages aus. Weitere Informationen zur neuesten Version finden Sie in den Versionshinweisen zu File Storage.

  3. Wenn Sie das Package in eine Staging-Instanz heruntergeladen haben, öffnen Sie ein Terminalfenster auf der Staging-Instanz, und kopieren Sie das RPM mit dem Befehl scp sicher aus der Staging-Instanz in die Zielinstanz. Beispiel:

    scp -i <private_key> <downloaded_file_name> <username>@<destination_public_ip_address>:/<rpm_directory_name>

    Überspringen Sie diesen Schritt, wenn Sie das Package direkt in die Zielinstanz heruntergeladen haben.

  4. Wenn der Dateiname des heruntergeladenen Packages die Packageversion und Architektur nicht enthält, verwenden Sie den folgenden Befehl, um die zu installierende RPM-Datei zu identifizieren:

    rpm -qp <downloaded_file_name>

    Nachdem das Package identifiziert wurde, benennen Sie die Datei mit dem von der Abfrage zurückgegebenen RPM um. Beispiel:

    mv <downloaded_file_name> $(rpm -qp <downloaded_file_name>).rpm
  5. Installieren Sie das Package mit dem folgenden Befehl:

    sudo yum localinstall oci-fss-utils-<version>.rpm

Das Package erstellt einen Namespace namens ns1 auf der Instanz, der eine Standardnetzwerkschnittstelle für Ethertraffic enthält. Für jedes Mountziel wird ein Netzwerkschnittstellenpaar erstellt.

Wenn das Package vollständig installiert wurde, gehen Sie zu 2. Mounten Sie das Dateisystem mit dem Verschlüsselungsbefehl.

2. Dateisystem mit dem Verschlüsselungsbefehl mounten
  1. Öffnen Sie ein Terminalfenster auf der Instanz.
  2. Erstellen Sie einen Mount Point, indem Sie Folgendes eingeben, und ersetzen Sie dabei yourmountpoint durch das lokale Verzeichnis, über das Sie auf das Dateisystem zugreifen möchten.

    sudo mkdir -p /mnt/yourmountpoint
  3. Mounten Sie das Dateisystem mit dem folgenden Befehl:

    sudo mount -t oci-fss 10.x.x.x:/fs-export-path /mnt/yourmountpoint

    Ersetzen Sie 10.x.x.x: durch die IP-Adresse des lokalen Subnetzes, die dem Mount-Ziel zugewiesen ist, fs-export-path durch den Exportpfad, den Sie beim Verknüpfen des Dateisystems mit dem Mount-Ziel angegeben haben, und yourmountpoint durch den Pfad zum lokalen Mount Point. Der Exportpfad ist der Pfad zum Dateisystem (relativ zur IP-Adresse des Mountziels).

    Wenn Sie oci-fss-utils Version 2.0-1 oder höher installiert haben, können Sie das Dateisystem im FIPS-genehmigten Modus mounten, indem Sie -o fips in den Mountbefehl aufnehmen. Beispiel:
    sudo mount -t oci-fss -o fips 10.x.x.x:/fs-export-path /mnt/yourmountpoint
    Wichtig

    Für das Mounten von Dateisystemen mit dem Befehl mount -t oci-fss werden DNS-Hostnamen nicht unterstützt. Verwenden Sie stattdessen die IP-Adresse des Mountziels.

    Jedes Mal, wenn Sie ein Dateisystem mit diesem Befehl mounten, erstellt der systemd-managed-Service einen neuen oci-fss-forwarder-Service mit einem Namen wie oci-fss-0<number>.service.

    Tipp

    Standardmäßig verwendet der NFS-Client des Tools beim Einhängen reservierte Ports. Verwenden Sie die Mountoption noresvport, wenn Sie nicht privilegierte Ports verwenden müssen.

Verschlüsselung während der Übertragung für Linux verwalten

Dateisystem automatisch mounten

Beim automatischen Mounten wird sichergestellt, dass ein Dateisystem beim Neustart automatisch auf einer Instanz neu gemountet wird.

  1. Öffnen Sie ein Terminalfenster auf der Instanz. Hängen Sie das Dateisystem wie unter 2 beschrieben ein. Mounten Sie das Dateisystem mit dem Verschlüsselungsbefehl.
  2. Öffnen Sie die Datei /etc/fstab zur Bearbeitung:

    cd /etc
    vi fstab
  3. Fügen Sie der Datei fstab folgende Zeile hinzu:

    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail 0 0

    Ersetzen Sie 10.x.x.x: durch die dem Mountziel zugewiesene IP-Adresse des lokalen Subnetzes, fs-export-path durch den Exportpfad, den Sie beim Verknüpfen des Dateisystems mit dem Mountziel angegeben haben, und yourmountpoint durch den Pfad zum lokalen Mount Point.

    Wenn Sie oci-fss-utils Version 2.0-1 oder höher installiert haben, können Sie das Dateisystem im FIPS-genehmigten Modus mounten, indem Sie -o fips in den Mountbefehl aufnehmen. Beispiel:
    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,fips 0 0
    Wichtig

    Für das Mounten von Dateisystemen mit dem Befehl mount -t oci-fss werden DNS-Hostnamen derzeit nicht unterstützt. Verwenden Sie stattdessen die IP-Adresse des Mountziels.
    Tipp

    Mit der Option resvport können Sie den Client auf einen bestimmten reservierten Port beschränken. Beispiel:

    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,resvport=900 0 0
Aushängen eines Dateisystems

Wenn Sie ein Dateisystem unmounten, müssen Sie einen anderen oci-fss-utils-Befehl verwenden, um sicherzustellen, dass der verknüpfte lokale Netzwerk-Namespace entfernt wird:

  1. Öffnen Sie ein Terminalfenster auf der Instanz.
  2. Mit dem folgenden Befehl können Sie das Dateisystem unmounten:

    sudo umount -t oci-fss /mnt/yourmountpoint

    Ersetzen Sie yourmountpoint durch den Pfad zum lokalen Mount Point.

OCI-FSS-UTILS-Package upgraden

Wenn Sie eine veraltete Version des oci-fss-utils-Utilitys verwenden, wie oci-fss-utils-3.x, oder Sie neue Features nutzen möchten, können Sie ein Upgrade auf eine neuere Version durchführen. Versionsinformationen finden Sie in den Versionshinweisen zu File Storage.

Beim Upgrade von oci-fss-utils auf eine neue Version werden neue Einstellungen, wie eine neue IP-Adresse oder ein TLS-Forwarder-Prozessname, erst nach dem erneuten Mounten des Dateisystems angewendet.

Hinweis

Ein erneutes Mounten ist erforderlich, wenn Sie das Utility oci-fss-utils upgraden, damit der TLS-Client eine IPv6-Adresse verwenden kann. Bei Anwendungen, die das gemountete Dateisystem verwenden, treten beim erneuten Mounten des Dateisystems Ausfallzeiten auf.
  1. Öffnen Sie ein Terminalfenster auf der Zielinstanz.
  2. Aktualisieren Sie das Paket.

    1. Oracle Linux-Benutzer können oci-fss-utils aus dem Oracle Linux yum-Repository upgraden. Stellen Sie mit dem folgenden Befehl sicher, dass das Oracle-Entwickler-yum-Repository für die Oracle Linux-Version aktiviert ist:

      sudo yum-config-manager --enable ol<oracle_linux_major_version>_developer

      Führen Sie dann ein Upgrade des Packages mit dem folgenden Befehl aus:

      sudo yum update -y oci-fss-utils
    2. Wenn Sie Oracle Linux nicht verwenden, laden Sie das neueste oci-fss-utils-Package aus dem Oracle Linux-yum-Repository herunter. Weitere Anweisungen finden Sie in Manuelle und Offline-Installation. Führen Sie dann ein Upgrade des Packages mit dem folgenden Befehl aus:

      sudo yum localinstall -y oci-fss-utils-<version>.rpm
  3. Prüfen Sie nach dem Upgrade die Version von oci-fss-utils mit dem folgenden Befehl:

    sudo rpm -qa | grep oci-fss-utils
  4. Unmounten Sie das Dateisystem, und mounten Sie das Dateisystem, damit neue Einstellungen wirksam werden.
So deinstallieren Sie das OCI-FSS-UTILS-Package
  1. Unmounten Sie zuerst alle gemounteten Dateisysteme. Anweisungen hierzu finden Sie unter Unmount a file system.
  2. Öffnen Sie ein Terminalfenster auf der Instanz.
  3. Geben Sie den folgenden Befehl ein, um das oci-fss-Package zu deinstallieren:

    sudo yum remove oci-fss-utils

Verschlüsselung während der Übertragung für Windows-Benutzer

Windows-Clients können stunnel verwenden, um die Verschlüsselung während der Übertragung für Dateisysteme zu aktivieren.

Einschränkungen und Überlegungen

  • Die Anzahl der verschlüsselten NFS/TLS-Verbindungen für ein einzelnes Mountziel ist auf 64 begrenzt. Diese Einschränkung gilt aufgrund von TLS-Speicheranforderungen. Im Gegensatz zu NFS-Verbindungen verwenden TLS-Verbindungen keine gemeinsamen Speicherpuffer. Sobald also eine TLS-Verbindung hergestellt wurde, behält sie den zugewiesenen Speicher bei.
  • DNS-Hostnamen werden für das Mounten verschlüsselter Dateisysteme nicht unterstützt. Verwenden Sie für das Mounten verschlüsselter Dateisysteme die IP-Adresse des Mountziels.

Verschlüsselung während der Übertragung für Windows einrichten

In diesen Anweisungen wird beschrieben, wie Sie stunnel für die Verschlüsselung während der Übertragung für Ihre Dateisysteme installieren und einrichten. Stellen Sie sicher, dass alle Voraussetzungen erfüllt sind, bevor Sie die Verschlüsselung während der Übertragung einrichten.

Tipp

Sie können diesen Prozess mit einem Batchskript automatisieren, das die folgenden Schritte enthält.

Setupaufgaben

Aufgabe 1: Windows NFS-Client installieren
  1. Öffnen Sie Windows PowerShell auf der Zielinstanz, und installieren Sie mit dem folgenden Befehl den Windows NFS-Client:

    Install-WindowsFeature NFS-Client

    Fahren Sie nach der Installation des Clients mit Aufgabe 2: stunnel herunterladen und installieren fort.

Aufgabe 2: stunnel herunterladen und installieren
  1. Laden Sie stunnel von https://www.stunnel.org/downloads.html herunter, und installieren Sie es.

    Hinweis

    Im letzten Installationsschritt werden Zertifikatsinformationen angefordert. Die Eingabe eines Wertes hier ist optional.

    Standardmäßig wird stunnel in folgendem Verzeichnis installiert: C:\Program Files (x86)\stunnel

  2. Öffnen Sie die Datei C:\Program Files (x86)\stunnel\config\stunnel.cfg zur Bearbeitung, und geben Sie die folgende Konfiguration an:

    [mount]
        client=yes
        accept=127.0.0.1:2048
        connect=10.0.1.155:2051
     
    [nfs]
        client=yes
        accept=127.0.0.1:2049
        connect=10.0.1.155:2051
     
    [nlm]
        client=yes
        accept=127.0.0.1:2050
        connect=10.0.1.155:2051
     
    [rpcbind]
        client=yes
        accept=127.0.0.1:111
        connect=10.0.1.155:2051
  3. Starten Sie stunnel mit C:\Program Files (x86)\stunnel\bin\tstunnel.exe.

    Fahren Sie mit Aufgabe 3: Mounten und Verbindung testen fort.

Aufgabe 3: Mounten und Verbindung testen

Öffnen Sie eine Eingabeaufforderung, und geben Sie folgende Befehlsfolge ein:

  1. Mounten Sie das Dateisystem:

    mount \\127.0.0.1\fss z:
  2. Testen Sie die Verbindung zum Dateisystem, indem Sie den Inhalt des Verzeichnisses auflisten:

    dir z:
  3. Unmounten Sie das Dateisystem:

    umount z: