En el siguiente ejemplo, se genera la clave de cifrado aes-256-ccm utilizando el comando pktool y dicha clave se escribe en el 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/cindyEjemplo 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 localEjemplo 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: xxxxxxxxEjemplo 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.