Gestión de sistemas de archivos ZFS en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Diciembre de 2014
 
 

Cifrado de sistemas de archivos ZFS

El cifrado es el proceso en que los datos se codifican para fines de privacidad, y el propietario de los datos necesita una clave para acceder a los datos codificados. Las ventajas de utilizar el cifrado de ZFS son las siguientes:

  • El cifrado ZFS está integrado con el conjunto de comandos ZFS. Al igual que otras operaciones de ZFS, las operaciones de cifrado, como los cambios de claves y la regeneración de claves, se realizan en línea.

  • Puede utilizar las agrupaciones de almacenamiento existentes cuando se actualizan. Tiene la posibilidad de cifrar solamente determinados sistemas de archivos.

  • Los datos se cifran mediante AES (estándar de cifrado avanzado) con longitudes de clave de 128, 192 y 256, en los modos de operación CCM y GCM.

  • El cifrado de ZFS utiliza la estructura criptográfica de Oracle Solaris, la cual le da acceso a cualquier aceleración de hardware disponible o a implementaciones de software optimizado de los algoritmos de cifrado de forma automática.

  • Actualmente, no puede cifrar el sistema de archivos raíz ZFS u otros componentes del sistema operativo, como el directorio /var, incluso si se trata de un sistema de archivos independiente.

  • Los sistemas de archivos subordinados pueden heredar el cifrado ZFS.

  • Un usuario común puede crear un sistema de archivos cifrado y gestionar las operaciones de clave si se le asignan permisos de create, mount, keysource, checksum y encryption.

Puede establecer una política de cifrado cuando se crea un sistema de archivos ZFS, pero no es posible modificar la política. Por ejemplo, el sistema de archivos tank/home/darren se crea con la propiedad de cifrado activada. La política de cifrado predeterminada debe proporcionar una frase de contraseña, que debe tener un mínimo de 8 caracteres de longitud.

# zfs create -o encryption=on tank/home/darren
Enter passphrase for 'tank/home/darren': xxxxxxx
Enter again: xxxxxxxx

Confirme que el sistema de archivos tiene activado el cifrado. Por ejemplo:

# zfs get encryption tank/home/darren
NAME              PROPERTY    VALUE        SOURCE
tank/home/darren  encryption  on           local

El algoritmo de cifrado predeterminado es aes-128-ccm cuando el valor de cifrado de un sistema de archivos está on (activado).

Una clave de ajuste se utiliza para cifrar las claves de cifrado de datos reales. La clave de ajuste es enviada del comando zfs, como en el ejemplo anterior cuando se crea el sistema de archivos cifrados, al núcleo. Una clave de ajuste se encuentra en un archivo (sin formato o en formato hexadecimal) o deriva de una frase de contraseña.

El formato y la ubicación de la clave de ajuste se especifican en la propiedad keysource, como se indica a continuación:

keysource=format,location
  • El formato es uno de los siguientes:

    • raw: los bytes de clave sin formato.

    • hex: una cadena de clave hexadecimanl

    • passphrase: una cadena de caracteres que genera una clave.

  • La ubicación es una de las siguientes:

    • prompt: se le solicitará una clave o una frase de contraseña cuando se crea o se monta el sistema de archivos.

    • file:///filename: la ubicación de un archivo de frase de contraseña o clave en un sistema de archivos

    • pkcs11: URI que describe la ubicación de un archivo de frase de contraseña o clave en un token PKCS#11

    • https://location: ubicación de un archivo de frase de contraseña o clave en un servidor seguro. No se recomienda transportar información de claves sin cifrar con este método. La operación GET en la URL devuelve solamente el valor de la clave o frase de contraseña, según lo solicitado en la parte de formato de la propiedad keysource.

      Al utilizar un localizador https:// para keysource, el certificado que el servidor presenta debe ser uno que tenga una relación de confianza con libcurl y OpenSSL. Agregue su propio anclaje de confianza o certificado autofirmado al almacén de certificados en /etc/openssl/certs. Coloque el certificado con formato PEM en el directorio /etc/certs/CA y ejecute el comando siguiente:

      # svcadm refresh ca-certificates

Si el formato de keysource es frase de contraseña, la clave de ajuste deriva de la frase de contraseña. De lo contrario, el valor de la propiedad keysource apunta a la clave de ajuste real, como bytes sin formato o en formato hexadecimal. Puede especificar que la frase de contraseña se almacene en un archivo o en un flujo de bytes sin formato que se soliciten, lo cual, probablemente, solo sea adecuado para secuencias de comandos.

Cuando los valores de la propiedad keysource de un sistema de archivos identifican la passphrase, la clave de ajuste deriva de la frase de contraseña utilizando PKCS#5 PBKD2 y una sal generada de forma aleatoria por sistema de archivos. Esto significa que la misma frase de contraseña genera una clave de ajuste diferente si se utiliza en sistemas de archivos descendientes.

La política de cifrado de un sistema de archivos es heredada por sistemas de archivos descendientes y no se puede eliminar. Por ejemplo:

# zfs snapshot tank/home/darren@now
# zfs clone tank/home/darren@now tank/home/darren-new
Enter passphrase for 'tank/home/darren-new': xxxxxxx
Enter again: xxxxxxxx
# zfs set encryption=off tank/home/darren-new
cannot set property for 'tank/home/darren-new': 'encryption' is readonly

Si necesita copiar o migrar sistemas de archivos ZFS cifrados o no cifrados, tenga en cuenta los siguientes puntos:

  • Actualmente, no se puede enviar un flujo de conjunto de datos no cifrado y recibirlo como un flujo cifrado, aunque el conjunto de datos de la agrupación receptora tenga activado el cifrado.

  • Puede utilizar los siguientes comandos para migrar datos no cifrados a una agrupación o a un sistema de archivos con cifrado activado:

    • cp –r

    • find | cpio

    • tar

    • rsync

  • Un flujo replicado de sistema de archivos cifrado puede ser recibido en un sistema de archivos cifrado y los datos permanecen cifrados. Para obtener más información, consulte el Example 5–4.