Uso del cifrado TLS en tránsito

El cifrado en tránsito mediante oci-fss-utils o stunnel proporciona una manera de proteger los datos entre instancias y sistemas de archivos montados mediante el cifrado TLS v.1.3 (seguridad de capa de transporte). Junto con otros métodos de seguridad como Oracle Cloud Infrastructure Vault y el cifrado estático de File Storage, el cifrado en tránsito proporciona seguridad completa.

Consejo

Si utiliza Kerberos para la autenticación, la opción de seguridad KRB5P proporciona autenticación mediante NFS, integridad de datos (modificación no autorizada de datos en tránsito) y privacidad de datos como una opción de cifrado en tránsito alternativa.

El cifrado en tránsito que utiliza oci-fss-utils o stunnel no requiere ninguna actualización del destino de montaje o la configuración de exportación del sistema de archivos, pero los pasos son diferentes para los usuarios de Linux y los usuarios de Windows.

Requisitos previos

Agregue las reglas necesarias a la lista de seguridad para la subred del destino de montaje. También puede agregar las reglas siguientes a un grupo de seguridad de red (NSG) y, a continuación, agregar el destino de montaje al NSG. Para obtener más información e instrucciones sobre cómo agregar reglas de listas de seguridad para File Storage, consulte Configuración de reglas de seguridad de VCN para File Storage, en particular Escenario C: destino de montaje y uso de instancias de cifrado en tránsito TLS.

Importante

Solo se necesitan las reglas para el puerto TCP 2051 para el acceso cifrado.

Cifrado en tránsito para usuarios de Linux

Para activar el cifrado en tránsito, instale un paquete denominado oci-fss-utils en la instancia. La herramienta oci-fss-utils está disponible para los siguientes tipos de instancias:

  • 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 ofrece una plataforma informática basada en Arm basada en el procesador Ampere Altra. Consulte Recursos informáticos basados en Arm para obtener más información.

Cómo activar el cifrado en tránsito

El paquete oci-fss-utils crea un espacio de nombres de red y una interfaz de red virtual en su instancia y proporciona un punto final NFS local. El paquete oci-fss-utils también ejecuta un proceso de reenvío en segundo plano denominado oci-fss-forwarder.

El espacio de nombres de red aísla el proceso del reenviador del entorno de red de la instancia. La interfaz de red virtual proporciona al proceso de reenvío una dirección IP única. El punto final de NFS local proporciona la capacidad de conexión de NFS.

El sistema de archivos se monta mediante un comando especial que inicia el cifrado. Una vez montado el sistema de archivos, el proceso oci-fss-forwarder conecta al cliente NFS local con el punto final NFS. A continuación, el proceso recibe solicitudes del cliente NFS, las cifra y las envía al destino de montaje mediante un túnel TLS.

A continuación se muestran los pasos generales para configurar el cifrado en tránsito:

  1. Asegúrese de cumplir los requisitos antes de configurar el cifrado en tránsito.
  2. Instale el paquete oci-fss-utils.

    1. Si utiliza Oracle Linux, consulte 1. Instale el paquete OCI-FSS-UTILS.
    2. Si utiliza CentOS, consulte Instalación manual y fuera de línea.
  3. Utilice el comando de cifrado en tránsito para montar el sistema de archivos. Para obtener instrucciones, consulte 2. Monte el sistema de archivos con el comando de cifrado.

Limitaciones y consideraciones

  • El paquete de instalación de cifrado en tránsito se distribuye como un RPM para Oracle Linux y CentOS. Los usuarios de Oracle Linux pueden instalar el paquete mediante yum. También se puede descargar desde el repositorio de yum de Oracle Linux.
  • Debe instalar el paquete oci-fss-utils en cada instancia que requiera acceso cifrado a un destino de montaje.
  • El número de conexiones NFS/TLS cifradas para un único destino de montaje se limita a 4096.
  • Los nombres de host de DNS no están soportados para montar sistemas de archivos cifrados con oci-fss-forwarder. Utilice la dirección IP de destino de montaje para montar sistemas de archivos cifrados.
Importante

Si no utiliza la versión más reciente del paquete oci-fss-utils, es posible que experimente fallos de conexión SSL. Los fallos de conexión SSL pueden provocar fallos en las operaciones NFSv3.

Le recomendamos que cambie siempre a la versión más reciente del paquete oci-fss-utils tan pronto como esté disponible. Consulte las notas de la versión de File Storage para obtener información sobre las nuevas versiones de RPM.

Configuración del cifrado en tránsito para Linux

1. Instalación del paquete OCI-FSS-UTILS

Los usuarios de Oracle Linux pueden instalar directamente la utilidad TLS desde el repositorio de yum de Oracle Linux.

  1. Abra una ventana de terminal en la instancia de destino.
  2. Asegúrese de que el repositorio de yum para desarrolladores de Oracle esté activado para la versión de Oracle Linux mediante el siguiente comando:

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

    Instale el paquete con el siguiente comando:

    sudo yum install oci-fss-utils

El paquete crea un espacio de nombres denominado ns1 en su instancia, que contiene una interfaz de red por defecto para el tráfico Ethernet. Se crea un par de interfaces de red para cada destino de montaje.

Después de finalizar la instalación del paquete, continúe con el 2. Monte el sistema de archivos con el comando de cifrado.

Instalación manual y fuera de línea

Se necesita acceso a Internet para descargar el paquete de instalación de RPM. Si la instancia de destino no tiene acceso a Internet, puede descargar el RPM en una instancia temporal de la red y, a continuación, utilizar el comando scp para copiar de forma segura el RPM de la instancia temporal en la instancia de destino.

El comando scp requiere un par de claves SSH para autenticar un usuario remoto. Si las instancias son sistemas de estilo UNIX, probablemente ya tenga instalada la utilidad ssh-keygen. Para comprobar si está instalada, abra un shell o terminal y escriba ssh-keygen en la línea de comandos. Si no está instalada, puede obtener OpenSSH para UNIX en http://www.openssh.com/portable.html.

  1. (Opcional) Cree un directorio para el paquete de instalación de RPM en la instancia de destino. Por ejemplo: 

    sudo mkdir -p /<rpm_directory_name>
  2. Descargue el paquete oci-fss-utils más reciente del repositorio de yum de Oracle Linux en el directorio de la instancia de destino o en una instancia temporal de la red.

    1. En la página Repositorio de yum de Oracle Linux, en Examinar los repositorios, seleccione una versión de Oracle Linux.
    2. En Paquetes para prueba y desarrollo, busque Paquetes de desarrollador y, a continuación, seleccione el tipo de arquitectura de Linux, como x86_64 o aarch64.
    3. Busque y seleccione la última versión del paquete oci-fss-utils. Para obtener más información sobre la última versión, consulte Notas de la versión de File Storage.

  3. Si ha descargado el paquete en una instancia temporal, abra una ventana de terminal en la instancia temporal y utilice el comando scp para copiar de forma segura el RPM de la instancia temporal en la instancia de destino. Por ejemplo:

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

    Omita este paso si ha descargado el paquete directamente en la instancia de destino.

  4. Si el nombre de archivo del paquete descargado no incluye la versión y la arquitectura del paquete, utilice el siguiente comando para identificar el archivo RPM que se va a instalar:

    rpm -qp <downloaded_file_name>

    Una vez identificado el paquete, cambie el nombre del archivo mediante el RPM devuelto por la consulta. Por ejemplo:

    mv <downloaded_file_name> $(rpm -qp <downloaded_file_name>).rpm
  5. Instale el paquete con el siguiente comando:

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

El paquete crea un espacio de nombres denominado ns1 en la instancia, que contiene una interfaz de red por defecto para el tráfico Ethernet. Se crea un par de interfaces de red para cada destino de montaje.

Después de finalizar la instalación del paquete, continúe con el 2. Monte el sistema de archivos con el comando de cifrado.

2. Montaje del sistema de archivos con el comando de cifrado
  1. Abra una ventana de terminal en la instancia.
  2. Cree un punto de montaje escribiendo lo siguiente, reemplazando yourmountpoint por el directorio local desde el que desea acceder al sistema de archivos.

    sudo mkdir -p /mnt/yourmountpoint
  3. Monte el sistema de archivos con el siguiente comando:

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

    Sustituya 10.x.x.x: por la dirección IP de subred local asignada al destino de montaje, fs-export-path por la ruta de exportación especificada al asociar el sistema de archivos al destino de montaje y yourmountpoint por la ruta al punto de montaje local. La ruta de exportación es la ruta al sistema de archivos (relativa a la dirección IP del destino de montaje).

    Si ha instalado oci-fss-utils versión 2.0-1 o posterior, puede montar el sistema de archivos en el modo aprobado por FIPS incluyendo -o fips en el comando de montaje. Por ejemplo:
    sudo mount -t oci-fss -o fips 10.x.x.x:/fs-export-path /mnt/yourmountpoint
    Importante

    Los nombres de host de DNS no están soportados para montar sistemas de archivos con el comando mount -t oci-fss. Debe utilizar la dirección IP de destino de montaje.

    Cada vez que monta un sistema de archivos con este comando, el servicio systemd-managed crea un nuevo servicio oci-fss-forwarder con un nombre como oci-fss-0<number>.service.

    Consejo

    De manera predeterminada, el cliente NFS de la herramienta utiliza puertos reservados durante el montaje. Utilice la opción de montaje noresvport si necesita utilizar puertos sin privilegios.

Gestión del cifrado en tránsito para Linux

Montaje automático de un sistema de archivos

El montaje automático garantiza que un sistema de archivos se vuelva a montar automáticamente en una instancia si se reinicia.

  1. Abra una ventana de terminal en la instancia. Monte el sistema de archivos como se describe en 2. Monte el sistema de archivos con el comando de cifrado.
  2. Abra el archivo /etc/fstab para editarlo: 

    cd /etc
    vi fstab
  3. Agregue la siguiente línea al archivo fstab:

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

    Reemplace 10.x.x.x: por la dirección IP de subred local asignada al destino de montaje, fs-export-path por la ruta de exportación especificada al asociar el sistema de archivos al destino de montaje y yourmountpoint por la ruta al punto de montaje local.

    Si ha instalado oci-fss-utils versión 2.0-1 o posterior, puede montar el sistema de archivos en el modo aprobado por FIPS incluyendo -o fips en el comando de montaje. Por ejemplo:
    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,fips 0 0
    Importante

    Los nombres de host de DNS no están soportados actualmente para montar sistemas de archivos con el comando mount -t oci-fss. Debe utilizar la dirección IP de destino de montaje.
    Consejo

    Puede utilizar la opción resvport para que el cliente solo pueda usar un puerto reservado específico. Por ejemplo:

    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,resvport=900 0 0
Desmontar un sistema de archivos

Al desmontar un sistema de archivos, debe utilizar otro comando oci-fss-utils para asegurarse de que el espacio de nombres de red local asociado se elimina:

  1. Abra una ventana de terminal en la instancia.
  2. Utilice el siguiente comando para desmontar el sistema de archivos:

    sudo umount -t oci-fss /mnt/yourmountpoint

    Reemplace yourmountpoint por la ruta al punto de montaje local.

Actualizar el paquete OCI-FSS-UTILS

Si está utilizando una versión en desuso de la utilidad oci-fss-utils, como oci-fss-utils-3.x, o desea aprovechar las nuevas funciones, puede actualizar a una versión más reciente. Puede encontrar información sobre la versión en las Notas de la versión de File Storage.

Al actualizar oci-fss-utils a una nueva versión, cualquier nueva configuración, como una nueva dirección IP o el nombre de proceso del reenviador TLS, no se aplicará hasta que se vuelva a montar el sistema de archivos.

Nota

Es necesario volver a montar si está actualizando la utilidad oci-fss-utils para que el cliente TLS pueda utilizar una dirección IPv6. Las aplicaciones que utilizan el sistema de archivos montado experimentarán tiempo de inactividad mientras vuelve a montar el sistema de archivos.
  1. Abra una ventana de terminal en la instancia de destino.
  2. Actualice el paquete.

    1. Los usuarios de Oracle Linux pueden actualizar oci-fss-utils desde el repositorio de yum de Oracle Linux. Asegúrese de que el repositorio de yum para desarrolladores de Oracle esté activado para la versión de Oracle Linux mediante el siguiente comando:

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

      A continuación, actualice el paquete con el siguiente comando:

      sudo yum update -y oci-fss-utils
    2. Si no utiliza Oracle Linux, descargue el paquete oci-fss-utils más reciente del repositorio de yum de Oracle Linux. Para obtener instrucciones, consulte Instalación manual y fuera de línea. A continuación, actualice el paquete con el siguiente comando:

      sudo yum localinstall -y oci-fss-utils-<version>.rpm
  3. Después de actualizar, verifique la versión de oci-fss-utils mediante el siguiente comando:

    sudo rpm -qa | grep oci-fss-utils
  4. Desmonte el sistema de archivos y remonte el sistema de archivos para que se apliquen las nuevas configuraciones.
Para desinstalar el paquete OCI-FSS-UTILS
  1. En primer lugar, desmonte todos los sistemas de archivos montados. Para obtener instrucciones, consulte Desmontaje de un sistema de archivos.
  2. Abra una ventana de terminal en la instancia.
  3. Escriba el siguiente comando para desinstalar el paquete oci-fss:

    sudo yum remove oci-fss-utils

Cifrado en tránsito para usuarios de Windows

Los clientes de Windows pueden utilizar stunnel para activar el cifrado en tránsito en los sistemas de archivos.

Limitaciones y consideraciones

  • El número de conexiones NFS/TLS cifradas para un único destino de montaje se limita a 64. Esta limitación está causada por requisitos de memoria de TLS. A diferencia de las conexiones NFS, las conexiones TLS no comparten buffer de memoria. Por lo tanto, una vez que se haya establecido una conexión TLS, la memoria asignada sigue estando dedicada a la misma.
  • Los nombres de host de DNS no están soportados para montar sistemas de archivos cifrados. Utilice la dirección IP de destino de montaje para montar sistemas de archivos cifrados.

Configuración del cifrado en tránsito para Windows

En estas instrucciones se describe cómo instalar y configurar stunnel para utilizar el cifrado en tránsito con los sistemas de archivos. Asegúrese de cumplir los requisitos antes de configurar el cifrado en tránsito.

Consejo

Puede automatizar este proceso mediante un script por lotes que contenga los siguientes pasos.

Tareas de configuración

Tarea 1: Instalación del cliente NFS de Windows
  1. Abra Windows PowerShell en la instancia de destino y utilice el siguiente comando para instalar el cliente NFS de Windows:

    Install-WindowsFeature NFS-Client

    Después de instalar el cliente, continúe con la Tarea 2: Descarga e instalación de stunnel.

Tarea 2: Descarga e instalación de stunnel
  1. Descargue e instale stunnel desde https://www.stunnel.org/downloads.html.

    Nota

    El último paso de instalación solicita información de certificado. La introducción de un valor aquí es opcional.

    Por defecto, stunnel se instala en el siguiente directorio: C:\Program Files (x86)\stunnel

  2. Abra el archivo C:\Program Files (x86)\stunnel\config\stunnel.cfg para editarlo y especifique la siguiente configuración:

    [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. Inicie stunnel mediante C:\Program Files (x86)\stunnel\bin\tstunnel.exe.

    Continúe con la Tarea 3: Montaje y prueba de la conexión.

Tarea 3: Montaje y prueba de la conexión

Abra un símbolo del sistema y escriba la siguiente serie de comandos:

  1. Monte el sistema de archivos:

    mount \\127.0.0.1\fss z:
  2. Pruebe la conexión al sistema de archivos mostrando el contenido del directorio:

    dir z:
  3. Desmonte el sistema de archivos:

    umount z: