Omitir Vínculos de navegación | |
Salir de la Vista de impresión | |
Administración de Oracle Solaris 11.1: sistemas de archivos ZFS Oracle Solaris 11.1 Information Library (Español) |
1. Sistema de archivos ZFS de Oracle Solaris (introducción)
2. Procedimientos iniciales con Oracle Solaris ZFS
3. Administración de agrupaciones de almacenamiento de Oracle Solaris ZFS
4. Gestión de componentes de la agrupación raíz ZFS
5. Administración de sistemas de archivos ZFS de Oracle Solaris
Administración de sistemas de archivos AFS (descripción general)
Creación, destrucción y cambio de nombre de sistemas de archivos ZFS
Creación de un sistema de archivos ZFS
Destrucción de un sistema de archivos ZFS
Cambio de nombre de un sistema de archivos ZFS
Introducción a las propiedades de ZFS
Propiedades nativas de sólo lectura de ZFS
Propiedades nativas de ZFS configurables
Consulta de información del sistema de archivos ZFS
Visualización de información básica de ZFS
Creación de consultas de ZFS complejas
Administración de propiedades de ZFS
Configuración de propiedades de ZFS
Herencia de propiedades de ZFS
Consulta de las propiedades de ZFS
Consulta de propiedades de ZFS para secuencias de comandos
Montaje de sistemas de archivos ZFS
Administración de puntos de montaje de ZFS
Montaje de sistemas de archivos ZFS
Uso de propiedades de montaje temporales
Desmontaje de los sistemas de archivos ZFS
Cómo compartir y anular la compartición de sistemas de archivos ZFS
Sintaxis del uso compartido de ZFS heredados
Sintaxis de uso compartido de ZFS nuevo
Uso compartido de ZFS con herencia por propiedad
Herencia de uso compartido de ZFS en agrupaciones más antiguas
Recursos compartidos ZFS designados
Recursos compartidos ZFS automáticos
Visualización de información de recurso compartido ZFS
Cambio de valores de propiedad de un recurso compartido ZFS
Publicación y anulación de la publicación de recursos compartidos ZFS
Eliminación de un recurso compartido ZFS
Uso compartido de archivos ZFS en una zona no global
Migración del uso compartido de ZFS y problemas de transición
Resolución de problemas de uso compartido de sistemas de archivos ZFS
Configuración de cuotas y reservas de ZFS
Establecimiento de cuotas en sistemas de archivos ZFS
Establecimiento de las cuotas de usuarios y grupos en un sistema de archivos ZFS
Establecimiento de reservas en sistemas de archivos ZFS
Cifrado de sistemas de archivos ZFS
Cambio de claves de un sistema de archivos ZFS cifrado
Gestión de claves de cifrado ZFS
Delegación de permisos de operaciones de claves de ZFS
Montaje de un sistema de archivos ZFS cifrado
Actualización de sistemas de archivos ZFS cifrados
Interacciones entre propiedades de compresión, eliminación de datos duplicados y cifrado de ZFS
Migración de sistemas de archivos ZFS
Cómo migrar un sistema de archivos a un sistema de archivos ZFS
Resolución de problemas de migraciones del sistema de archivos ZFS
Actualización de sistemas de archivos ZFS
6. Uso de clones e instantáneas de Oracle Solaris ZFS
7. Uso de listas de control de acceso y atributos para proteger archivos Oracle Solaris ZFS
8. Administración delegada de ZFS Oracle Solaris
9. Temas avanzados de Oracle Solaris ZFS
10. Recuperación de agrupaciones y solución de problemas de Oracle Solaris ZFS
11. Archivado de instantáneas y recuperación de agrupaciones raíz
12. Prácticas de ZFS recomendadas por Oracle Solaris
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. Los beneficios de utilizar el cifrado ZFS son los 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 sistemas de archivos subordinados pueden heredar el cifrado ZFS. La gestión de claves se puede delegar mediante la administración delegada de ZFS.
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.
Puede establecer una política de cifrado cuando se crea un sistema de archivos ZFS, pero la política no se puede cambiar. Por ejemplo, el sistema de archivos tank/home/darren se crea con la propiedad de cifrado activada. La política de cifrado predeterminada es solicitar una frase de contraseña, que deberá 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, sólo 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 Ejemplo 5-4.
Puede cambiar la clave de ajuste de un sistema de archivos cifrado utilizando el comando zfs key -c. La clave de ajuste existente debe haber sido cargada primero, en el momento del inicio o al cargar la clave del sistema de archivos de forma explícita (zfs key -l), o al montar el sistema de archivos (zfs mount sistema de archivos). Por ejemplo:
# zfs key -c tank/home/darren Enter new passphrase for 'tank/home/darren': xxxxxxxx Enter again: xxxxxxxx
En el siguiente ejemplo, se cambia la clave de ajuste y el valor de la propiedad keysource cambia para especificar que la clave de ajuste proviene de un archivo.
# zfs key -c -o keysource=raw,file:///media/stick/key tank/home/darren
La clave de cifrado de datos para un sistema de archivos cifrado se puede cambiar mediante el comando zfs key -K, pero la nueva clave de cifrado sólo se utiliza para los datos escritos recientemente. Esta función se puede utilizar para proporcionar conformidad con las pautas NIST 800-57 sobre el límite de tiempo de una clave de cifrado de datos. Por ejemplo:
# zfs key -K tank/home/darren
En el ejemplo anterior, la clave de cifrado de datos no está visible ni está directamente gestionada por usted. Además, necesita la delegación de keychange para realizar una operación de cambio de clave.
Los siguientes algoritmos de cifrado están disponibles:
aes-128-ccm, aes-192-ccm, aes-256-ccm
aes-128-gcm, aes-192-gcm, aes-256-gcm
La propiedad keysource de ZFS identifica el formato y la ubicación de la clave que se ajusta a las claves de cifrado de datos del sistema de archivos. Por ejemplo:
# zfs get keysource tank/home/darren NAME PROPERTY VALUE SOURCE tank/home/darren keysource passphrase,prompt local
La propiedad rekeydate de ZFS identifica la fecha de la última operación de zfs key -K. Por ejemplo:
# zfs get rekeydate tank/home/darren NAME PROPERTY VALUE SOURCE tank/home/darren rekeydate Wed Jul 25 16:54 2012 local
Si las propiedades creation y rekeydate de un sistema de archivos cifrado tienen el mismo valor, las claves del sistema de archivos nunca han sido regeneradas por una operación zfs key -K.
Las claves de cifrado ZFS se pueden gestionar de diferentes maneras, según sus necesidades, ya sea en el sistema local o de forma remota si se necesita una ubicación centralizada.
Localmente: los ejemplos anteriores muestran que la clave de ajuste puede ser una solicitud de frase de contraseña o una clave sin formato almacenada en un archivo del sistema local.
Remotamente: la información de clave puede estar almacenada de forma remota mediante un sistema de gestión de claves centralizado, como Oracle Key Manager, o con un servicio web que admite una simple solicitud GET en una URI http o https. Un sistema Oracle Solaris puede acceder a la información de claves de Oracle Key Manager mediante el token PKCS#11.
Para obtener más información sobre la gestión de claves de cifrado ZFS, consulte
http://www.oracle.com/technetwork/articles/servers-storage-admin/manage-zfs-encryption-1715034.html
Para obtener información sobre el uso de Oracle Key Manager para gestionar información de claves, consulte:
http://docs.oracle.com/cd/E24472_02/
Revise las siguientes descripciones de permisos para delegar operaciones de claves:
La carga o descarga de una clave del sistema de archivos utilizando los comandos zfs key -l y zfs key -u requieren el permiso de key. En la mayoría de los casos, también necesitará el permiso mount.
El cambio de la clave de un sistema de archivos utilizando los comandos zfs key -c y zfs key -K requiere el permiso de keychange.
Considere delegar permisos separados para el uso de claves (carga o descarga) y para los cambios de claves, lo que le permite tener un modelo de operaciones de claves de dos personas. Por ejemplo, determine los usuarios que pueden utilizar las claves y los usuarios que pueden cambiarlas. O bien, ambos usuarios deben estar presentes para realizar cambios en las claves. Este modelo también permite crear un sistema de custodia de claves.
Revise las siguientes consideraciones al intentar montar un sistema de archivos ZFS cifrado:
Si una clave del sistema de archivos cifrado no está disponible en el momento del inicio, el sistema de archivos no se monta automáticamente. Por ejemplo, un sistema de archivos con un conjunto de políticas de cifrado establecido en passphrase,prompt no se montará durante el momento del inicio, ya que el proceso de inicio no se interrumpe para solicitar una frase de contraseña.
Si desea montar un sistema de archivos con un conjunto de políticas de cifrado establecido en passphrase,prompt en el momento del inicio, deberá montarlo de forma explícita con el comando zfs mount y especificar la frase de contraseña o utilizar el comando zfs key -l para que se le solicite la clave después de iniciar el sistema.
Por ejemplo:
# zfs mount -a Enter passphrase for 'tank/home/darren': xxxxxxxx Enter passphrase for 'tank/home/ws': xxxxxxxx Enter passphrase for 'tank/home/mark': xxxxxxxx
Si la propiedad keysource de un sistema de archivos cifrado apunta a un archivo en otro sistema de archivos, el orden de montaje de los sistemas de archivos se puede afectar si el sistema de archivos cifrado se monta en el inicio y , en especial, si el archivo se encuentra en un soporte extraíble.
Antes de actualizar el sistema Solaris 11 al sistema Solaris 11.1, asegúrese de que se monten los sistemas de archivos cifrados. Monte los sistemas de archivos cifrados y proporcione las frases de contraseña, si se le solicitan.
# zfs mount -a Enter passphrase for 'pond/amy': xxxxxxxx Enter passphrase for 'pond/rory': xxxxxxxx # zfs mount | grep pond pond /pond pond/amy /pond/amy pond/rory /pond/rory
A continuación, actualice los sistemas de archivos cifrados.
# zfs upgrade -a
Si intenta actualizar los sistemas de archivos ZFS cifrados que no están montados, se muestra un mensaje similar al siguiente:
# zfs upgrade -a cannot set property for 'pond/amy': key not present
Además, la salida de zpool status puede mostrar datos dañados.
# zpool status -v pond . . . pond/amy:<0x1> pond/rory:<0x1>
Si se producen los errores anteriores, vuelva a montar los sistemas de archivos cifrados como se indica arriba. Después, solucione los errores de la agrupación.
# zpool scrub pond # zpool clear pond
Para obtener más información sobre la actualización de sistemas de archivos, consulte Actualización de sistemas de archivos ZFS.
Revise las siguientes consideraciones al utilizar propiedades de compresión, eliminación de datos duplicados y cifrado de ZFS:
Cuando se escribe un archivo, se comprimen y se cifran los datos y se verifica la suma de comprobación. Luego, si es posible, se eliminan los datos duplicados.
Cuando se lee un archivo, se verifica la suma de comprobación y se descifran los datos. Luego, de ser necesario, se descomprimen los datos.
Si la propiedad dedup está activada en un sistema de archivos cifrado que también está clonado y en los clones no se ha utilizado el comando zfs key -K o el comando zfs clone -K, se eliminan los datos duplicados de todos los clones, si es posible.
Ejemplo 5-1 Cifrado de un sistema de archivos ZFS mediante una clave sin formato
En el siguiente ejemplo, se utiliza el comando pktool para generar una clave de cifrado aes-256-ccm escribirla en un archivo: /cindykey.file.
# pktool genkey keystore=file outkey=/cindykey.file keytype=aes keylen=256
Luego, el archivo /cindykey.file se especifica cuando se crea el sistema de archivos tank/home/cindy.
# zfs create -o encryption=aes-256-ccm -o keysource=raw,file:///cindykey.file tank/home/cindy
Ejemplo 5-2 Cifrado de un sistema de archivos ZFS con un algoritmo de cifrado diferente
Puede crear una agrupación de almacenamiento ZFS y hacer que todos los sistemas de archivos en la agrupación de almacenamiento hereden un algoritmo de cifrado. En este ejemplo, se crea la agrupación users y se crea el sistema de archivos users/home y se cifra utilizando una frase de contraseña. El algoritmo de cifrado predeterminado es aes-128-ccm.
Luego, se crea el sistema de archivos users/home/mark y se cifra utilizando el algoritmo de cifrado aes-256-ccm.
# zpool create -O encryption=on users mirror c0t1d0 c1t1d0 mirror c2t1d0 c3t1d0 Enter passphrase for 'users': xxxxxxxx Enter again: xxxxxxxx # zfs create users/home # zfs get encryption users/home NAME PROPERTY VALUE SOURCE users/home encryption on inherited from users # zfs create -o encryption=aes-256-ccm users/home/mark # zfs get encryption users/home/mark NAME PROPERTY VALUE SOURCE users/home/mark encryption aes-256-ccm local
Ejemplo 5-3 Clonación de un sistema de archivos ZFS cifrado
Si el sistema de archivos clonado hereda la propiedad keysource del mismo sistema de archivos que su instantánea de origen, no es necesario un nuevo keysource y no se le solicitará una nueva frase de contraseña si keysource=passphrase,prompt. El mismo keysource se utiliza para el clon. Por ejemplo:
De manera predeterminada, no se le solicitará una clave al clonar un descendiente de un sistema de archivos cifrado.
# zfs create -o encryption=on tank/ws Enter passphrase for 'tank/ws': xxxxxxxx Enter again: xxxxxxxx # zfs create tank/ws/fs1 # zfs snapshot tank/ws/fs1@snap1 # zfs clone tank/ws/fs1@snap1 tank/ws/fs1clone
Si desea crear una nueva clave para el sistema de archivos clonado, utilice el comando zfs clone -K.
Si realiza la clonación de un sistema de archivos cifrado en lugar de un sistema de archivos cifrado descendiente, se le solicitará que proporcione una nueva clave. Por ejemplo:
# zfs create -o encryption=on tank/ws Enter passphrase for 'tank/ws': xxxxxxxx Enter again: xxxxxxxx # zfs snapshot tank/ws@1 # zfs clone tank/ws@1 tank/ws1clone Enter passphrase for 'tank/ws1clone': xxxxxxxx Enter again: xxxxxxxx
Ejemplo 5-4 Envío y recepción de un sistema de archivos ZFS cifrado
En el siguiente ejemplo, se crea la instantánea tank/home/darren@snap1 a partir del sistema de archivos cifrado /tank/home/darren. Luego, la instantánea se envía a bpool/snaps con la propiedad de cifrado activada para que se cifren los datos recibidos resultantes. Sin embargo, el flujo tank/home/darren@snap1 no se cifra durante el proceso de envío.
# zfs get encryption tank/home/darren NAME PROPERTY VALUE SOURCE tank/home/darren encryption on local # zfs snapshot tank/home/darren@snap1 # zfs get encryption bpool/snaps NAME PROPERTY VALUE SOURCE bpool/snaps encryption on inherited from bpool # zfs send tank/home/darren@snap1 | zfs receive bpool/snaps/darren1012 # zfs get encryption bpool/snaps/darren1012 NAME PROPERTY VALUE SOURCE bpool/snaps/darren1012 encryption on inherited from bpool
En este caso, se genera una nueva clave de forma automática para el sistema de archivos cifrado recibido.