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.2 (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 sur 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 chiffrement en transit.

Le cryptage en transit à l'aide de oci-fss-utils ou de stunnel ne nécessite 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 les utilisateurs Windows.

Prérequis

Ajoutez les nouvelles règles suivantes à 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 des règles de sécurité de réseaux cloud virtuels pour File Storage.

  • Une règle entrante avec conservation de statut autorisant le trafic TCP vers une plage de ports de destination de 2051.
  • Une règle sortante avec conservation de statut autorisant le trafic TCP à partir d'une plage de ports source de 2051.
Important

L'accès standard (non crypté) aux cibles de montage File Storage requiert l'accès aux ports suivants :

  • Entrée avec conservation de statut sur les ports TCP 111, 2048, 2049 et 2050
  • Entrée avec conservation de statut sur les ports UDP 111 et 2048
  • Sortie avec conservation de statut des ports TCP 111, 2048, 2049 et 2050
  • Sortie avec conservation de statut du port UDP 111

Si vous avez déjà configuré des règles pour l'accès standard et que vous voulez mettre en application un accès crypté uniquement, vous pouvez désactiver les ports d'accès standard.

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. oci-fss-utils est disponible pour les types d'instance suivants :

Type d'instance RPM
Oracle Linux, CentOS 7 x86 oci-fss-utils-3.0-0.el7.x86_64.rpm
Oracle Linux, CentOS 8 x86 oci-fss-utils-3.0-0.el8.x86_64.rpm
Oracle Linux, CentOS 7 Arm* oci-fss-utils-3.0-0.el7.aarch64.rpm
Oracle Linux, CentOS 8 Arm* oci-fss-utils-3.0-0.el8.aarch64.rpm

*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 retransmetteur 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. Téléchargez le package oci-fss-utils. Pour obtenir des instructions, reportez-vous à Tâche 1 : téléchargement du package OCI-FSS-UTILS.
  3. Installez le package oci-fss-utils sur l'instance. Pour obtenir des instructions, reportez-vous à Tâche 2 : installation du package OCI-FSS-UTILS sur Oracle Linux ou CentOS.
  4. Utilisez la commande de cryptage en transit pour monter le système de fichiers. Pour obtenir des instructions, reportez-vous à Tâche 3 : montage du 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, et peut être téléchargé à l'adresse cloud-infrastructure-file-storage-downloads.html
  • 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é à 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 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 effectuer la mise à 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

Tâche 1 : téléchargement du package OCI-FSS-UTILS

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 déterminer 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 package oci-fss-utils à l'adresse cloud-infrastructure-file-storage-downloads.html dans le répertoire de l'instance de destination ou dans une instance intermédiaire sur le réseau.

    Si vous avez téléchargé le package directement sur l'instance de destination, ignorez l'étape suivante et passez directement à Tâche 2 : installation du package OCI-FSS-UTILS sur Oracle Linux ou CentOS.

    Si vous avez téléchargé le package vers une instance intermédiaire, passez à l'étape suivante de ces instructions.

  3. 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> <path_to_.rpm> <username>@<destination-public-ip-address>:/<rpm_directory_name>

    Une fois le package RPM téléchargé vers l'instance cible, passez à Tâche 2 : installation du package OCI-FSS-UTILS sur Oracle Linux ou CentOS.

Tâche 2 : installation du package OCI-FSS-UTILS sur Oracle Linux ou CentOS
  1. Ouvrez une fenêtre de terminal sur l'instance de destination.
  2. 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 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 à Tâche 3 : montage du système de fichiers à l'aide de la commande de cryptage.

Tâche 3 : montage du système de fichiers à l'aide de la commande de cryptage
  1. Ouvrez une fenêtre de terminal dans votre instance.
  2. Créez un point de montage avec l'instruction suivante, en remplaçant yourmountpoint par le répertoire local à partir duquel vous souhaitez 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 à 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. 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 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 :
    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 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.

    Exemple de sortie de la commande mount -t oci-fss :

    Created symlink from /etc/systemd/system/multi-user.target.wants/oci-fss-2.service to /usr/lib/systemd/system/oci-fss-2.service.

    Chaque fois que vous montez un système de fichiers à l'aide de cette commande, un nouveau service oci-fss est lancé avec un numéro de séquence incrémenté compris entre 2 et 255. Par exemple, oci-fss-2.service, oci-fss-3.service, etc.

    Conseil

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

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

Gestion du cryptage en transit pour Linux

Procédure de 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 Tâche 2 : installation du package OCI-FSS-UTILS sur Oracle Linux ou CentOS.
  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
Procédure de démontage d'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.

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 à Procédure de démontage d'un système de fichiers.
  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 le modifier. 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: