Utilisation du cryptage TLS en transit

Le cryptage en transit à l'aide de oci-fss-utils ou de stunnel permet de sécuriser les données entre les instances et les systèmes de fichiers montés à l'aide du cryptage TLS v. 1.3 (Transport Layer Security). Associé à d'autres méthodes de sécurité, comme Oracle Cloud Infrastructure Vault et le cryptage au repos de File Storage, le cryptage en transit offre une sécurité de bout en bout.

Conseil

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

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

Prérequis

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é réseau, puis ajouter la cible de montage au groupe. Pour plus d'informations et d'instructions sur l'ajout de règles de liste de sécurité pour File Storage, reportez-vous à Configuration de règles de sécurité VCN pour File Storage, en particulier Scénario C : la cible de montage et l'instance utilisent le cryptage TLS en transit.

Important

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

Cryptage en transit pour les utilisateurs Linux

Pour activer le cryptage en transit, vous devez installer un package 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 Arm*
  • Oracle Linux, CentOS 8 Arm*
  • Oracle Linux, CentOS 9 Arm*

*Oracle propose une plate-forme de calcul reposant sur Arm et basée sur le processeur Ampere Altra. Pour plus d'informations, reportez-vous à Calcul reposant sur Arm.

Mode d'activation du cryptage en transit

Le package oci-fss-utils crée un espace de noms réseau et une interface réseau virtuelle sur l'instance, et fournit une adresse NFS locale. Le package oci-fss-utils exécute également un processus retransmetteur en arrière-plan nommé oci-fss-forwarder.

L'espace de noms 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 retransmetteur. L'adresse NFS locale fournit la fonction de connexion NFS.

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

Les étapes générales de configuration du cryptage en transit sont les suivantes :

  1. Veillez à respecter les prérequis avant de configurer le cryptage en transit.
  2. Installez le package oci-fss-utils.

    1. Si vous utilisez Oracle Linux, reportez-vous à 1. Installez le package OCI-FSS-UTILS.
    2. Si vous utilisez CentOS, reportez-vous à Installation manuelle et hors ligne.
  3. Utilisez la commande de cryptage en transit pour monter le système de fichiers. Pour obtenir des instructions, reportez-vous à 2. Montez le système de fichiers à l'aide de la commande de cryptage.

Limites et remarques

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

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

Nous vous recommandons de toujours mettre à niveau vers la dernière version du package oci-fss-utils dès qu'elle est disponible. Reportez-vous à notes sur la version de File Storage pour plus d'informations sur les nouvelles versions de RPM.

Configuration du cryptage en transit pour Linux

1. Installation du package OCI-FSS-UTILS

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

  1. Ouvrez une fenêtre de terminal sur l'instance de destination.
  2. Assurez-vous que le référentiel yum de développeur 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 le package à l'aide de la commande suivante :

    sudo yum install oci-fss-utils

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

Une fois l'installation du package terminée, passez à 2. Montez le système de fichiers à l'aide de la commande de cryptage.

Installation manuelle et hors ligne

Un accès Internet est requis pour télécharger le package 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 sur le réseau, puis utiliser la commande scp pour copier en toute sécurité le RPM à partir 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, l'utilitaire ssh-keygen est probablement déjà installé. Pour vérifier s'il est installé, ouvrez un shell ou un terminal, puis saisissez ssh-keygen sur la ligne de commande. S'il n'est pas installé, vous pouvez obtenir OpenSSH pour UNIX sur http://www.openssh.com/portable.html.

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

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

    1. Sur la page Référentiel yum Oracle Linux, sous Parcourir les référentiels, sélectionnez une version d'Oracle Linux.
    2. Sous Packages pour le test et le développement, recherchez Packages de développeur, puis sélectionnez le type d'architecture Linux, tel que x86_64 ou aarch64.
    3. Recherchez et sélectionnez la dernière version du package oci-fss-utils. Pour plus d'informations sur la dernière version, reportez-vous aux notes sur la version de File Storage.

  3. Si vous avez téléchargé le package vers une instance intermédiaire, ouvrez une fenêtre de terminal sur l'instance intermédiaire et utilisez la commande scp pour copier le RPM de l'instance intermédiaire vers l'instance de destination en toute sécurité. 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é le package directement vers l'instance de destination.

  4. Si le nom du 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 renvoyé par la requête. Par exemple :

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

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

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

Une fois l'installation du package terminée, passez à 2. Montez le système de fichiers à l'aide de la commande de cryptage.

2. Monter le système de fichiers à l'aide de la commande de cryptage
  1. Ouvrez une fenêtre de terminal dans l'instance.
  2. Créez un point de montage en saisissant l'instruction suivante, en remplaçant yourmountpoint 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 du sous-réseau local affectée à la cible de montage, fs-export-path par le chemin d'export indiqué lors de l'association du système de fichiers à la cible de montage et yourmountpoint par le chemin d'accès au point de montage local. Le chemin d'export est le chemin d'accès au 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é par FIPS en incluant -o fips dans la commande mount. 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 à l'aide de la commande mount -t oci-fss. Vous devez utiliser l'adresse IP de 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 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 non privilégiés.

Gestion du cryptage en transit pour Linux

Montage automatique d'un système de fichiers

Le montage automatique garantit qu'un système de fichiers est automatiquement monté de nouveau sur une instance en cas de redémarrage.

  1. Ouvrez une fenêtre de terminal sur l'instance. Montez le système de fichiers comme décrit dans 2. Montage du système de fichiers à l'aide de la commande de cryptage.
  2. Ouvrez le fichier /etc/fstab afin de le modifier :

    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 du sous-réseau local affectée à votre cible de montage, fs-export-path par le chemin d'export indiqué lors de l'association du système de fichiers à la cible de montage et yourmountpoint par le chemin d'accès au point de montage local.

    Si vous avez installé oci-fss-utils version 2.0-1 ou supérieure, vous pouvez inclure -o fips dans la commande mount afin de monter le système de fichiers en mode homologué FIPS. 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 actuellement pas pris en charge pour le montage de systèmes de fichiers à l'aide de la commande mount -t oci-fss. Vous devez utiliser l'adresse IP de cible de montage.
    Conseil

    Vous pouvez utiliser l'option resvport pour restreindre le client à 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 réseau local associé est enlevé :

  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 d'accès au point de montage local.

Mettre à niveau le package 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 souhaitez tirer parti des nouvelles fonctionnalités, vous pouvez effectuer une mise à niveau vers une version plus récente. Vous trouverez des informations sur la version dans les notes sur la version de File Storage.

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

Remarque

Un remontage est nécessaire 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'inactivité 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 Oracle Linux peuvent mettre à niveau oci-fss-utils à partir du référentiel yum Oracle Linux. Assurez-vous que le référentiel yum de développeur 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

      Ensuite, mettez à niveau le package à 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 package oci-fss-utils à partir du référentiel yum Oracle Linux. Pour obtenir des instructions, reportez-vous à la section Manual and offline installation. Ensuite, mettez à niveau le package à 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 pour que les nouveaux paramètres prennent effet.
Procédure de désinstallation du package OCI-FSS-UTILS
  1. Pour commencer, démontez tous les systèmes de fichiers montés. Pour obtenir des instructions, reportez-vous à Unmount a file system.
  2. Ouvrez une fenêtre de terminal sur l'instance.
  3. Entrez la commande suivante pour désinstaller le package oci-fss :

    sudo yum remove oci-fss-utils

Cryptage en transit pour les utilisateurs Windows

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

Limites et remarques

  • Le nombre de connexions NFS/TLS cryptées pour une cible de montage unique est limité à 64. Cette limite est due aux exigences de mémoire TLS. Contrairement aux connexions NFS, les connexions TLS ne partagent pas de mémoire tampon. Ainsi, une fois qu'une connexion TLS est établie, la mémoire allouée reste dédiée à cette connexion.
  • Les noms d'hôte DNS ne sont pas pris en charge pour le montage de systèmes de fichiers cryptés. Utilisez l'adresse IP de cible de montage pour monter des systèmes de fichiers cryptés.

Configuration du cryptage en transit pour Windows

Ces instructions décrivent comment installer et configurer stunnel pour l'utilisation du cryptage en transit avec les systèmes de fichiers. Veillez à respecter les prérequis avant de configurer le cryptage en transit.

Conseil

Vous pouvez automatiser le processus à l'aide d'un script de traitement par lot qui contient les étapes suivantes.

Tâches de configuration

Tâche 1 : installation du client NFS Windows
  1. Ouvrez Windows PowerShell sur l'instance cible et utilisez la commande suivante pour installer le client NFS Windows :

    Install-WindowsFeature NFS-Client

    Une fois le client installé, passez à la tâche 2 : téléchargement et installation de stunnel.

Tâche 2 : téléchargement et installation de stunnel
  1. Téléchargez stunnel à partir de https://www.stunnel.org/downloads.html et installez-le.

    Remarque

    La dernière étape d'installation demande des informations de certificat. La saisie d'une valeur 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 la modification 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 à la tâche 3 : montage et test de la connexion.

Tâche 3 : montage et test de la connexion

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

  1. Montez le système de fichiers:

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

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

    umount z: