Utilisation du chiffrement TLS en transit

Le chiffrement en transit à l'aide de oci-fss-utils ou de stunnel permet de sécuriser vos données entre des instances et des systèmes de fichiers montés à l'aide du chiffrement TLS v.1.3 (Sécurité de la couche de transport). Avec d'autres méthodes de sécurité telles qu'Oracle Cloud Infrastructure Vault et le chiffrement au repos du service File Storage, le chiffrement en transit fournit une sécurité de bout en bout.

Conseil

Si vous utilisez Kerberos pour l'authentification, l'option de sécurité KRB5P fournit l'authentification sur NFS, l'intégrité des données (modification non autorisée des données en transit) et la confidentialité des données comme autre option de chiffrement en transit.

Le chiffrement en transit à l'aide de oci-fss-utils ou de stunnel ne nécessite aucune mise à jour de la cible de montage ou de la configuration d'exportation de votre système de fichiers, mais les étapes diffèrent pour les utilisateurs Linux et les utilisateurs Windows.

Préalables

Ajoutez les règles requises à la liste de sécurité pour le sous-réseau de la cible de montage. Vous pouvez également ajouter les règles suivantes à un groupe de sécurité de réseau, puis ajouter la cible de montage au groupe. Pour plus d'informations et des instructions sur l'ajout de règles de liste de sécurité pour le service de stockage de fichiers, voir Configuration de règles de sécurité de réseau VCN pour le service de stockage de fichiers, notamment Scénario C : La cible de montage et l'instance utilisent le chiffrement en transit TLS.

Important

Seules les règles pour le port TCP 2051 sont requises pour l'accès chiffré.

Chiffrement en transit pour les utilisateurs Linux

Pour activer le chiffrement en transit, vous installez un ensemble nommé oci-fss-utils sur l'instance. L'outil oci-fss-utils est disponible pour les types d'instance suivants :

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

*Oracle propose une plate-forme de calcul basée sur ARM, basée sur le processeur Ampere Altra. Pour plus d'informations, voir Calcul basé sur ARM.

Comment le chiffrement en transit est activé

L'ensemble oci-fss-utils crée un espace de noms de réseau et une interface réseau virtuelle sur votre instance et fournit un point d'extrémité NFS local. L'ensemble oci-fss-utils exécute également un processus de redirection en arrière-plan nommé oci-fss-forwarder.

L'espace de noms de réseau isole le processus de transfert de l'environnement réseau de l'instance. L'interface réseau virtuelle fournit une adresse IP unique au processus redirecteur. Le point d'extrémité NFS local fournit les fonctions de connexion NFS.

Le système de fichiers est monté à l'aide d'une commande spéciale qui lance le chiffrement. Une fois le système de fichiers monté, le processus oci-fss-forwarder connecte le client NFS local au point d'extrémité NFS. Le processus reçoit ensuite les demandes du client NFS, les chiffre et les envoie à la cible de montage à l'aide d'un tunnel TLS.

Voici les étapes générales pour configurer le chiffrement en transit :

  1. Assurez-vous de respecter les préalables avant de configurer le chiffrement en transit.
  2. Installer l'ensemble oci-fss-utils.

    1. Si vous utilisez Oracle Linux, voir 1. Installer l'ensemble OCI-FSS-UTILS.
    2. Si vous utilisez CentOS, voir Installation manuelle et hors ligne.
  3. Utiliser la commande de chiffrement en transit pour monter le système de fichiers. Pour les instructions, voir 2. Montez le système de fichiers avec la commande de chiffrement.

Limites et points à considérer

  • L'ensemble d'installation de chiffrement en transit est distribué en tant que fichier RPM pour Oracle Linux et CentOS. Les utilisateurs d'Oracle Linux peuvent installer l'ensemble à l'aide de yum. Il peut également être téléchargé à partir du référentiel yum pour Oracle Linux.
  • Vous devez installer l'ensemble oci-fss-utils sur chaque instance nécessitant un accès chiffré à une cible de montage.
  • Le nombre de connexions NFS/TLS chiffrées pour une seule cible de montage est limité à 4096.
  • Les noms d'hôte DNS ne sont pas pris en charge pour le montage de systèmes de fichiers chiffrés avec oci-fss-forwarder. Utilisez l'adresse IP de la cible de montage pour monter des systèmes de fichiers chiffrés.
Important

Si vous n'utilisez pas la dernière version de l'ensemble oci-fss-utils, vous pourriez rencontrer des échecs de connexion SSL. Les échecs de connexion SSL peuvent entraîner l'échec des opérations NFSv3.

Nous vous recommandons de toujours effectuer une mise à niveau vers la dernière version de l'ensemble oci-fss-utils dès qu'il est disponible. Voir Notes de version du stockage de fichiers pour plus d'informations sur les nouvelles versions de RPM.

Configuration du chiffrement en transit pour Linux

1. Installer l'ensemble OCI-FSS-UTILS

Les utilisateurs d'Oracle Linux peuvent installer directement l'utilitaire TLS à partir du référentiel yum d'Oracle Linux.

  1. Ouvrez une fenêtre de terminal sur l'instance de destination.
  2. Assurez-vous que le référentiel yum pour les développeurs Oracle est activé pour la version d'Oracle Linux à l'aide de la commande suivante :

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

    Installez l'ensemble à l'aide de la commande suivante :

    sudo yum install oci-fss-utils

L'ensemble crée un espace de noms nommé ns1 dans votre instance, qui contient une interface réseau par défaut pour le trafic Ethernet. Une paire d'interfaces réseaux est créée pour chaque cible de montage.

Une fois l'installation terminée, passez à 2. Montez le système de fichiers avec la commande de chiffrement.

Installation manuelle et hors ligne

L'accès Internet est requis pour télécharger l'ensemble d'installation RPM. Si l'instance de destination ne dispose pas d'un accès Internet, vous pouvez télécharger le RPM vers une instance intermédiaire de votre réseau, puis utiliser la commande scp pour copier, en toute sécurité, le RPM de l'instance intermédiaire vers l'instance de destination.

La commande scp requiert une paire de clés SSH pour authentifier un utilisateur distant. Si vos instances sont des systèmes de type UNIX, il est probable que l'utilitaire ssh-keygen soit déjà installé. Pour vérifier s'il est installé, ouvrez un écran ou une fenêtre de terminal et entrez ssh-keygen dans la ligne de commande. S'il n'est pas installé, vous pouvez obtenir OpenSSH pour UNIX à l'adresse http://www.openssh.com/portable.html.

  1. (Facultatif) Créez un répertoire pour l'ensemble d'installation RPM sur l'instance de destination. Par exemple : 

    sudo mkdir -p /<rpm_directory_name>
  2. Téléchargez le dernier ensemble oci-fss-utils à partir du référentiel yum Oracle Linux dans le répertoire de l'instance de destination ou dans une instance intermédiaire de votre réseau.

    1. Dans la page Référentiel yum pour Oracle Linux, sous Parcourir les référentiels, sélectionnez une version d'Oracle Linux.
    2. Sous Ensembles pour le test et le développement, recherchez Ensembles pour développeurs, puis sélectionnez le type d'architecture Linux, par exemple x86_64 ou aarch64.
    3. Recherchez et sélectionnez la dernière version de l'ensemble oci-fss-utils. Pour plus d'informations sur la dernière version, voir Notes de version pour le service de stockage de fichiers.

  3. Si vous avez téléchargé l'ensemble vers une instance intermédiaire, ouvrez une fenêtre de terminal sur l'instance intermédiaire et utilisez la commande scp pour copier, en toute sécurité, le RPM de l'instance intermédiaire vers l'instance de destination. Par exemple :

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

    Ignorez cette étape si vous avez téléchargé l'ensemble directement dans l'instance de destination.

  4. Si le nom de fichier du package téléchargé n'inclut pas la version et l'architecture du package, utilisez la commande suivante pour identifier le fichier RPM à installer :

    rpm -qp <downloaded_file_name>

    Une fois le package identifié, renommez le fichier à l'aide du RPM retourné par l'interrogation. Par exemple :

    mv <downloaded_file_name> $(rpm -qp <downloaded_file_name>).rpm
  5. Installez l'ensemble à l'aide de la commande suivante :

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

L'ensemble crée un espace de noms nommé ns1 dans l'instance, qui contient une interface réseau par défaut pour le trafic Ethernet. Une paire d'interfaces réseaux est créée pour chaque cible de montage.

Une fois l'installation terminée, passez à 2. Montez le système de fichiers avec la commande de chiffrement.

2. Montez le système de fichiers avec la commande de chiffrement
  1. Ouvrez une fenêtre de terminal dans l'instance.
  2. Créez un point de montage en entrant ce qui suit : yourmountpoint est remplacé par le répertoire local à partir duquel vous voulez accéder au système de fichiers.

    sudo mkdir -p /mnt/yourmountpoint
  3. Montez le système de fichiers à l'aide de la commande suivante :

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

    Remplacez 10.x.x.x: par l'adresse IP de sous-réseau local affectée à la cible de montage, fs-export-path par le chemin d'exportation que vous avez spécifié lors de l'association du système de fichiers avec la cible de montage, et yourmountpoint par le point de montage local. Le chemin d'exportation est le chemin du système de fichiers (relatif à l'adresse IP de la cible de montage).

    Si vous avez installé oci-fss-utils version 2.0-1 ou ultérieure, vous pouvez monter le système de fichiers en mode approuvé FIPS en incluant -o fips dans la commande de montage. Par exemple :
    sudo mount -t oci-fss -o fips 10.x.x.x:/fs-export-path /mnt/yourmountpoint
    Important

    Les noms d'hôte DNS ne sont pas pris en charge pour le montage de systèmes de fichiers avec la commande mount -t oci-fss. Vous devez utiliser l'adresse IP de la cible de montage.

    Chaque fois que vous montez un système de fichiers à l'aide de cette commande, le service systemd-managed crée un nouveau service oci-fss-forwarder avec un nom tel que oci-fss-0<number>.service.

    Conseil

    Par défaut, le client NFS de l'outil utilise des ports réservés lors du montage. Utilisez l'option de montage noresvport si vous devez utiliser des ports sans privilèges.

Gestion du chiffrement en transit pour Linux

Montage automatique d'un système de fichiers

Le montage automatique garantit qu'un système de fichiers est remonté automatiquement sur une instance si celle-ci est redémarrée.

  1. Ouvrez une fenêtre de terminal sur l'instance. Montez le système de fichiers, comme indiqué sous 2. Montez le système de fichiers avec la commande de chiffrement.
  2. Ouvrez le fichier /etc/fstab pour modification :

    cd /etc
    vi fstab
  3. Ajoutez la ligne suivante au fichier fstab :

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

    Remplacez 10.x.x.x: par l'adresse IP de sous-réseau local affectée à votre cible de montage, fs-export-path par le chemin d'exportation que vous avez spécifié lors de l'association du système de fichiers avec la cible de montage, et yourmountpoint par le chemin du point de montage local.

    Si vous avez installé oci-fss-utils version 2.0-1 ou supérieure, vous pouvez monter le système de fichiers en mode approuvé FIPS en incluant -o fips dans la commande de montage. Par exemple :
    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,fips 0 0
    Important

    Les noms d'hôte DNS ne sont pas pris en charge actuellement pour le montage de systèmes de fichiers avec la commande mount -t oci-fss. Vous devez utiliser l'adresse IP de la cible de montage.
    Conseil

    Vous pouvez utiliser l'option resvport pour forcer le client à utiliser un port réservé spécifique. Par exemple :

    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,resvport=900 0 0
Démonter un système de fichiers

Lorsque vous démontez un système de fichiers, vous devez utiliser une autre commande oci-fss-utils pour vous assurer que l'espace de noms de réseau local qui lui est associé est supprimé :

  1. Ouvrez une fenêtre de terminal sur l'instance.
  2. Utilisez la commande suivante pour démonter le système de fichiers :

    sudo umount -t oci-fss /mnt/yourmountpoint

    Remplacez yourmountpoint par le chemin du point de montage local.

Mettre à niveau l'ensemble OCI-FSS-UTILS

Si vous utilisez une version obsolète de l'utilitaire oci-fss-utils, telle que oci-fss-utils-3.x, ou si vous voulez tirer parti des nouvelles fonctions, vous pouvez effectuer une mise à niveau vers une version plus récente. Vous trouverez des informations sur la version dans les notes de version sur le service de stockage de fichiers.

Lors de la mise à niveau de oci-fss-utils vers une nouvelle version, les nouveaux paramètres, tels qu'une nouvelle adresse IP ou un nom de processus de transfert TLS, ne seront pas appliqués tant que le système de fichiers n'aura pas été remonté.

Note

Le montage est requis si vous mettez à niveau l'utilitaire oci-fss-utils afin que le client TLS puisse utiliser une adresse IPv6. Les applications utilisant le système de fichiers monté subiront un temps d'arrêt pendant que vous remontez le système de fichiers.
  1. Ouvrez une fenêtre de terminal sur l'instance de destination.
  2. Mettez à niveau le package.

    1. Les utilisateurs d'Oracle Linux peuvent mettre à niveau oci-fss-utils à partir du référentiel yum d'Oracle Linux. Assurez-vous que le référentiel yum pour les développeurs Oracle est activé pour la version d'Oracle Linux à l'aide de la commande suivante :

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

      Mettez ensuite à niveau l'ensemble à l'aide de la commande suivante :

      sudo yum update -y oci-fss-utils
    2. Si vous n'utilisez pas Oracle Linux, téléchargez le dernier ensemble oci-fss-utils à partir du référentiel yum d'Oracle Linux. Pour obtenir des instructions, voir Installation manuelle et hors ligne. Mettez ensuite à niveau l'ensemble à l'aide de la commande suivante :

      sudo yum localinstall -y oci-fss-utils-<version>.rpm
  3. Après la mise à niveau, vérifiez la version de oci-fss-utils à l'aide de la commande suivante :

    sudo rpm -qa | grep oci-fss-utils
  4. Démontez le système de fichiers et remontez le système de fichiers afin que les nouveaux paramètres puissent prendre effet.
Pour désinstaller l'ensemble OCI-FSS-UTILS
  1. Tout d'abord, démontez tous les systèmes de fichiers montés. Pour obtenir des instructions, voir Démonter un système de fichiers.
  2. Ouvrez une fenêtre de terminal sur l'instance.
  3. Pour désinstaller l'ensemble oci-fss, entrez la commande suivante :

    sudo yum remove oci-fss-utils

Chiffrement en transit pour les utilisateurs Windows

Les clients Windows peuvent utiliser stunnel pour activer le chiffrement en transit dans les systèmes de fichiers.

Limites et points à considérer

  • Le nombre de connexions NFS/TLS chiffrées pour une seule cible de montage est limité à 64. Cette limite est induite par les exigences en mémoire de TLS. Contrairement aux connexions NFS, les connexions TLS ne partagent pas de mémoires tampons. Ainsi, une fois une connexion TLS établie, la mémoire qui lui est affectée lui reste dédiée.
  • Les noms d'hôte DNS ne sont pas pris en charge pour le montage de systèmes de fichiers chiffrés. Utilisez l'adresse IP de la cible de montage pour monter des systèmes de fichiers chiffrés.

Configuration du chiffrement en transit pour Windows

Ces instructions décrivent comment installer et configurer stunnel pour utiliser le chiffrement en transit avec vos systèmes de fichiers. Assurez-vous de respecter les préalables avant de configurer le chiffrement en transit.

Conseil

Vous pouvez automatiser ce processus à l'aide d'un script par lots qui contient les étapes suivantes.

Tâches de configuration

Tâche 1 : Installer le client NFS Windows
  1. Ouvrez Windows PowerShell sur votre instance cible et utilisez la commande suivante pour installer le client NFS Windows :

    Install-WindowsFeature NFS-Client

    Une fois le client installé, passez à Tâche 2 : Télécharger et installer stunnel.

Tâche 2 : Télécharger et installer stunnel
  1. Téléchargez et installez stunnel à partir de https://www.stunnel.org/downloads.html.

    Note

    La dernière étape d'installation demande des informations sur le certificat. L'entrée d'une valeur dans ce champ est facultative.

    Par défaut, stunnel est installé dans le répertoire suivant : C:\Program Files (x86)\stunnel

  2. Ouvrez le fichier C:\Program Files (x86)\stunnel\config\stunnel.cfg pour le modifier et spécifiez la configuration suivante :

    [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. Démarrez stunnel à l'aide de C:\Program Files (x86)\stunnel\bin\tstunnel.exe.

    Passez à Tâche 3 : Monter et tester votre connexion.

Tâche 3 : Monter et tester votre connexion

Ouvrez une invite de commande et entrez la série de commandes suivantes :

  1. Montez le système de fichiers :

    mount \\127.0.0.1\fss z:
  2. Testez la connexion au système de fichiers en listant le contenu du répertoire :

    dir z:
  3. Démontez le système de fichiers :

    umount z: