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.2 (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 alternativa en tránsito.

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 siguientes reglas nuevas 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.

  • Una regla de entrada con estado que permita el tráfico TCP al Rango de puertos de destino 2051.
  • Una regla de salida con estado que permite el tráfico TCP desde un Rango de puertos de origen de 2051.
Importante

Para el acceso estándar (no cifrado) a los destinos de montaje de File Storage se necesita acceso a los siguientes puertos:

  • Entrada con estado para los puertos TCP 111, 2048, 2049 y 2050.
  • Entrada con estado para los puertos UDP 111 y 2048.
  • Salida con estado de los puertos TCP 111, 2048, 2049 y 2050.
  • Salida con estado del puerto UDP 111.

Si ha configurado previamente reglas para el acceso estándar y desea aplicar solo el acceso cifrado, puede desactivar los puertos de acceso estándar.

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. oci-fss-utils está disponible para los siguientes tipos de instancias:

  • Oracle Linux, CentOS 7 x86
  • Oracle Linux, CentOS 8 x86
  • Oracle Linux, CentOS 7 Arm*
  • Oracle Linux, CentOS 8 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 de reenvío 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. Descargue el paquete oci-fss-utils. Para obtener instrucciones, consulte Tarea 1: Descarga del paquete OCI-FSS-UTILS.
  3. Instale el paquete oci-fss-utils en la instancia. Para obtener instrucciones, consulte Tarea 2: Instalación del paquete OCI-FSS-UTILS en Oracle Linux o CentOS.
  4. Utilice el comando de cifrado en tránsito para montar el sistema de archivos. Para obtener instrucciones, consulte Tarea 3: Montaje del 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 y se puede descargar de cloud-infrastructure-file-storage-downloads.html
  • 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

Tarea 1: Descarga del paquete OCI-FSS-UTILS

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 de cloud-infrastructure-file-storage-downloads.html en el directorio de la instancia de destino o en una instancia temporal de la red.

    Si ha descargado el paquete directamente en la instancia de destino, salte el siguiente paso y continúe directamente con la Tarea 2: Instalación del paquete de OCI-FSS-UTILS en Oracle Linux o CentOS.

    Si ha descargado el paquete en una instancia temporal, continúe con el siguiente paso de estas instrucciones.

  3. 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>

    Después de descargar el paquete RPM en la instancia de destino, continúe con la Tarea 2: Instalación del paquete OCI-FSS-UTILS en Oracle Linux o CentOS.

Tarea 2: Instalación del paquete OCI-FSS-UTILS en Oracle Linux o CentOS
  1. Abra una ventana de terminal en la instancia de destino.
  2. 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
  3. 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 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 la Tarea 3: Montaje del sistema de archivos con el comando de cifrado.

Tarea 3: 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

    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. 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 actualmente para montar sistemas de archivos con el comando mount -t oci-fss. Debe utilizar la dirección IP de destino de montaje.

    Ejemplo de resultado del comando 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.

    Cada vez que monta un sistema de archivos con este comando, un nuevo servicio oci-fss se inicia con un número de secuencia que se incrementa entre 2 y 255. Por ejemplo, oci-fss-2.service, oci-fss-3.service, etc.

    Consejo

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

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

Gestión del cifrado en tránsito para Linux

Para realizar el 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 Tarea 2: Instalación del paquete OCI-FSS-UTILS en Oracle Linux o CentOS.
  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
Para 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.

Para desinstalar el paquete OCI-FSS-UTILS
  1. En primer lugar, desmonte todos los sistemas de archivos montados. Para obtener instrucciones, consulte Para desmontar 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: