La función de cifrado a nivel de sistema de archivos BTRFS todavía no está disponible. Pero puede usar una herramienta de cifrado de terceros como dm-crypt Para cifrar todos los dispositivos de almacenamiento de su sistema de archivos BTRFS.
En este artículo, le mostraré cómo cifrar los dispositivos de almacenamiento agregados a un sistema de archivos BTRFS con DM-Crypt. Entonces empecemos.
Abreviaturas
Requisitos previos
Para seguir este artículo:
Como puedes ver, tengo un HDD SDB en mi ubuntu 20.04 máquina LTS. Lo encriptaré y lo formatearé con el sistema de archivos BTRFS.
$ sudo lsblk -e7
Instalación de los paquetes requeridos en Ubuntu 20.04 LTS
Para cifrar dispositivos de almacenamiento y formatearlos con el sistema de archivos BTRFS, debe tener el btrfs-progs y criptetup Paquetes instalados en su Ubuntu 20.04 máquina LTS. Afortunadamente, estos paquetes están disponibles en el repositorio oficial de paquetes de Ubuntu 20.04 LTS.
Primero, actualice el caché del repositorio del paquete APT con el siguiente comando:
$ sudo apt actualización
Instalar btrfs-progs y criptetup, Ejecute el siguiente comando:
$ sudo apt install btrfs-progs cryptsetup
Para confirmar la instalación, presione Y y luego presiona <Ingresar>.
El btrfs-progs y criptetup Los paquetes y sus dependencias se están instalando.
El btrfs-progs y criptetup Los paquetes deben instalarse en este momento.
Instalación de paquetes requeridos en Fedora 33
Para cifrar dispositivos de almacenamiento y formatearlos con el sistema de archivos BTRFS, debe tener el btrfs-progs y criptetup Paquetes instalados en su máquina de estación de trabajo Fedora 33. Afortunadamente, estos paquetes están disponibles en el repositorio oficial de paquetes de la estación de trabajo Fedora 33.
Primero, actualice el caché del repositorio del paquete DNF con el siguiente comando:
$ sudo dnf makecache
Instalar btrfs-progs y criptetup, Ejecute el siguiente comando:
$ sudo dnf instalación btrfs -progs cryptsetup -y
Fedora 33 Workstation utiliza el sistema de archivos BTRFS de forma predeterminada. Por lo tanto, es más probable que ya tenga estos paquetes instalados, como puede ver en la captura de pantalla a continuación. Si por alguna razón, no están instalados, se instalarán.
Generando una clave de cifrado
Antes de que pueda cifrar sus dispositivos de almacenamiento con criptetup, Necesita generar una llave aleatoria de 64 bytes largas.
Puede generar su clave de cifrado y almacenarla en el /etc/cryptkey Archivo con el siguiente comando:
$ sudo dd if =/dev/urandom of =/etc/cryptkey bs = 64 count = 1
Se debe generar y almacenar una nueva clave de cifrado en el /etc/cryptkey archivo.
El archivo clave de cifrado /etc/cryptkey todos pueden ser leídos por defecto, como puede ver en la captura de pantalla a continuación. Este es un riesgo de seguridad. Solo queremos el raíz el usuario para poder leer/escribir en el /etc/archivo cryptkey.
$ ls -lh /etc /cryptkey
Para permitir que solo el usuario raíz lea/escriba al /etc/archivo cryptkey, Cambie los permisos de archivo de la siguiente manera:
$ sudo chmod -v 600 /etc /cryptkey
Como puede ver, solo el raíz El usuario tiene permiso de lectura/escritura (RW) para el /etc/cryptkey archivo. Entonces, nadie más puede ver lo que hay en el /etc/cryptkey archivo.
$ ls -lh /etc /cryptkey
Cifrar los dispositivos de almacenamiento con DM-Crypt
Ahora que ha generado una clave de cifrado, puede cifrar su dispositivo de almacenamiento. digamos, SDB, Con la tecnología de cifrado de disco Luks V2 (versión 2) de la siguiente manera:
$ sudo cryptSetup -v --Type Luks2 Luksformat /dev /sdb /etc /cryptkey
criptetup le pedirá que confirme la operación de cifrado.
NOTA: Todos los datos de su HDD/SSD deben eliminarse. Por lo tanto, asegúrese de mover todos sus datos importantes antes de intentar cifrar su HDD/SSD.
Para confirmar la operación de cifrado de disco, escriba SÍ (en mayúsculas) y presione . Puede tomar un tiempo completar.
En este punto, el dispositivo de almacenamiento /dev/sdb debe estar encriptado con la clave de cifrado /etc/cryptkey.
Apertura de dispositivos de almacenamiento cifrado
Una vez que haya cifrado un dispositivo de almacenamiento con criptetup, necesitas abrirlo con el criptetup herramienta para poder usarlo.
Puede abrir el dispositivo de almacenamiento encriptado SDB y asignarlo a su computadora como datos Dispositivo de almacenamiento de la siguiente manera:
$ sudo cryptsetup open --key-archivo =/etc/cryptkey-data de type luks2/dev/sdb
Ahora, el dispositivo de almacenamiento descifrado estará disponible en la ruta /dev/mapper/data. Debe crear su sistema de archivos deseado en el /dev/mapper/dispositivo de datos y monta el /dev/mapper/dispositivo de datos en lugar de /dev/sdb de aquí en adelante.
Creación del sistema de archivos BTRFS en dispositivos cifrados:
Para crear un sistema de archivos BTRFS en el dispositivo de almacenamiento descifrado /dev/mapper/data Con los datos de la etiqueta, ejecute el siguiente comando:
$ sudo mkfs.btrfs -l data/dev/mapper/data
Se debe crear un sistema de archivos BTRFS en el /dev/mapper/dispositivo de almacenamiento de datos, que se descifra desde el dispositivo de almacenamiento /dev/sdb (encriptado con luks 2).
Montaje del sistema de archivos BTRFS cifrado
Puede montar el sistema de archivos BTRFS que también ha creado anteriormente.
Digamos que desea montar el sistema de archivos BTRFS que ha creado anteriormente en el /datos directorio.
Entonces, crea el /datos Directorio de la siguiente manera:
$ sudo mkdir -v /datos
Para montar el sistema de archivos BTRFS creado en el /dev/mapper/dispositivo de almacenamiento de datos en el /datos directorio, ejecute el siguiente comando:
$ sudo monte /dev /mapper /data /data
Como puede ver, el sistema de archivos BTRFS creado en el dispositivo de almacenamiento cifrado SDB está montado en el /datos directorio.
$ sudo BTRFS FileSystem Show /Data
Montaje automáticamente en el sistema de archivos BTRFS encriptado en el tiempo de arranque
También puede montar el sistema de archivos BTRFS cifrado en el momento de arranque.
Para montar el sistema de archivos BTRFS cifrado en el momento de la arranque, debe:
Primero, encuentre el uuid del SDB Dispositivo de almacenamiento cifrado con el siguiente comando:
$ sudo blkid /dev /sdb
Como puede ver, el uuid del SDB El dispositivo de almacenamiento cifrado es 1C66B0DE-B2A3-4D28-81C5-81950434F972. Será diferente para ti. Entonces, asegúrese de cambiarlo con el tuyo de ahora en adelante.
Para descifrar automáticamente el SDB Dispositivo de almacenamiento en el momento de arranque, debe agregar una entrada en el /etc/crypttab archivo.
Abre el /etc/crypttab archivo con el nano Editor de texto de la siguiente manera:
$ sudo nano /etc /crypttab
Agregue la siguiente línea al final del /etc/crypttab Archivo si está utilizando un HDD.
Datos UUID = 1C66B0DE-B2A3-4D28-81C5-81950434F972 /ETC /LUKS CRIPTYKEY, NOARLY
Agregue la siguiente línea al final del /etc/crypttab Archivo si está utilizando un SSD.
datos uuid = 1c66b0de-b2a3-4d28-81c5-81950434f972 /etc /cryptkey luks, noarly, descarte
Una vez que haya terminado, presione <Control> + X, seguido por Y, y <Ingresar> Para guardar el /etc/crypttab archivo.
Ahora, encuentre el uuid de los descifrados /dev/mapper/data Dispositivo de almacenamiento con el siguiente comando:
$ sudo blkid/dev/mapper/data
Como puede ver, el uuid del /dev/mapper/data El dispositivo de almacenamiento descifrado es DAFD9D61-BDC9-446A-8B0C-AA209BFAB98D. Será diferente para ti. Entonces, asegúrese de cambiarlo con el tuyo de ahora en adelante.
Para montar automáticamente el dispositivo de almacenamiento descifrado /dev/mapper/data En el directorio /Data en el momento del arranque, debe agregar una entrada en el /etc/fstab archivo.
Abre el /etc/archivo fstab con el nano Editor de texto de la siguiente manera:
$ sudo nano /etc /fstab
Ahora, agregue la siguiente línea al final del /etc/fstab archivo:
Uuid = dafd9d61-bdc9-446a-8b0c-aa209bfab98d /datos btrfs predeterminados 0 0 0
Una vez que haya terminado, presione <Control> + X, seguido por Y, y <Ingresar> Para guardar el /etc/fstab archivo.
Finalmente, reinicie su computadora para que los cambios entren en vigencia.
$ sudo reinicio
El dispositivo de almacenamiento encriptado SDB se descifra en un datos dispositivo de almacenamiento y el datos El dispositivo de almacenamiento está montado en el /datos directorio.
$ sudo lsblk -e7
Como puede ver, el sistema de archivos BTRFS, que se creó en el descifrado /dev/mapper/data El dispositivo de almacenamiento está montado en el /datos directorio.
$ sudo BTRFS FileSystem Show /Data
Conclusión
En este artículo, le he mostrado cómo cifrar un dispositivo de almacenamiento utilizando la tecnología de cifrado Luks 2 con criptsetup. También aprende cómo descifrar el dispositivo de almacenamiento encriptado y formatearlo con el sistema de archivos BTRFS también. Así como cómo descifrar automáticamente el dispositivo de almacenamiento encriptado y montarlo en el momento de arranque. Este artículo debería ayudarlo a comenzar con el cifrado del sistema de archivos BTRFS.