La función de cifrado a nivel del sistema de archivos Btrfs aún no está disponible. Pero puede utilizar una herramienta de cifrado de terceros como cripta-dm 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
- LUKS - Configuración de clave unificada de Linux
- HDD - Disco duro
- SSD - Unidad de estado sólido
Prerrequisitos
Para seguir este artículo:
- Debe ejecutar Fedora 33 Workstation o Ubuntu 20.04 distribución LTS Linux en su computadora.
- Debe tener un HDD / SSD gratis en su computadora.
Como puede ver, tengo un disco duro sdb en mi Ubuntu 20.04 máquina LTS. Lo cifraré y lo formatearé con el sistema de archivos Btrfs.
$ sudo lsblk -e7
Instalación de paquetes necesarios en Ubuntu 20.04 LTS
Para cifrar dispositivos de almacenamiento y formatearlos con el sistema de archivos Btrfs, debe tener el btrfs-progs y cripta 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 la caché del repositorio de paquetes APT con el siguiente comando:
actualización de $ sudo apt
Instalar btrfs-progs y cripta, ejecute el siguiente comando:
Para confirmar la instalación, presione Y y luego presione <Ingresar>.
La btrfs-progs y cripta Se están instalando paquetes y sus dependencias.
La btrfs-progs y cripta los paquetes deben instalarse en este punto.
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 cripta paquetes instalados en su máquina Fedora 33 Workstation. Afortunadamente, estos paquetes están disponibles en el repositorio oficial de paquetes de Fedora 33 Workstation.
Primero, actualice la caché del repositorio de paquetes DNF con el siguiente comando:
$ sudo dnf makecache
Instalar btrfs-progs y cripta, ejecute el siguiente comando:
La estación de trabajo Fedora 33 usa el sistema de archivos Btrfs por defecto. 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 se instalan, se instalarán.
Generación de una clave de cifrado
Antes de poder cifrar sus dispositivos de almacenamiento con cripta, necesita generar una clave aleatoria de 64 bytes de longitud.
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 expediente.
El archivo de clave de cifrado / etc / cryptkey todos pueden leerlo de forma predeterminada, como puede ver en la captura de pantalla a continuación. Este es un riesgo de seguridad. Queremos solo el raíz usuario para poder leer / escribir en el archivo / etc / cryptkey.
Para permitir que solo el usuario root lea / escriba en el archivo / etc / cryptkey, cambie los permisos del archivo de la siguiente manera:
Como puede ver, solo el raíz el usuario tiene permiso de lectura / escritura (rw) para el / etc / cryptkey expediente. Entonces, nadie más puede ver lo que hay en el / etc / cryptkey expediente.
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
cripta le pedirá que confirme la operación de cifrado.
NOTA: Deben eliminarse todos los datos de su HDD / SSD. 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 del disco, escriba SÍ (en mayúsculas) y presione
En este punto, el dispositivo de almacenamiento / dev / sdb debe estar encriptado con la clave de encriptación / etc / cryptkey.
Apertura de dispositivos de almacenamiento cifrados
Una vez que haya cifrado un dispositivo de almacenamiento con cripta, necesitas abrirlo con el cripta herramienta para poder usarlo.
Puede abrir el dispositivo de almacenamiento cifrado sdb y mapearlo a su computadora como un datos dispositivo de almacenamiento de la siguiente manera:
$ sudo cryptsetup open --key-file = / etc / cryptkey --type luks2 / dev / sdb data
Ahora, el dispositivo de almacenamiento descifrado estará disponible en la ruta / dev / mapper / data. Tienes que crear tu sistema de archivos deseado en el / dev / mapper / dispositivo de datos y monta el / dev / mapper / dispositivo de datos en vez de / dev / sdb de ahora en adelante.
Creación de un 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 del dispositivo de almacenamiento / dev / sdb (cifrado con LUKS 2).
Montaje del sistema de archivos Btrfs cifrado
También puede montar el sistema de archivos Btrfs que ha creado anteriormente.
Digamos que desea montar el sistema de archivos Btrfs que creó anteriormente en el /datos directorio.
Entonces, crea el /datos directorio de la siguiente manera:
$ sudo mkdir -v / data
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:
Como puede ver, el sistema de archivos Btrfs creado en el dispositivo de almacenamiento cifrado sdb está montado en el /datos directorio.
Montaje automático del sistema de archivos Btrfs cifrado en el momento del arranque
También puede montar el sistema de archivos Btrfs cifrado en el momento del arranque.
Para montar el sistema de archivos Btrfs cifrado en el momento del arranque, debe:
- descifrar el dispositivo de almacenamiento / dev / sdb en el momento del arranque usando el / etc / cryptkey archivo de clave de cifrado
- montar el dispositivo de almacenamiento descifrado / dev / mapper / data hacia /datos directorio
Primero, busque 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 encriptado es 1c66b0de-b2a3-4d28-81c5-81950434f972. Será diferente para ti. Entonces, asegúrate de cambiarlo con el tuyo a partir de ahora.
Para descifrar automáticamente el sdb dispositivo de almacenamiento en el momento del arranque, debe agregar una entrada para él en el / etc / crypttab expediente.
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 disco duro.
Agregue la siguiente línea al final del / etc / crypttab archivo si está usando un SSD.
UUID de datos = 1c66b0de-b2a3-4d28-81c5-81950434f972 / etc / cryptkey luks, noearly, descartarUna vez que haya terminado, presione <control> + X, seguido por Y, y <Ingresar> para salvar el / etc / crypttab expediente.
Ahora, busque el UUID del descifrado / dev / mapper / data dispositivo de almacenamiento con el siguiente comando:
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úrate de cambiarlo con el tuyo a partir de ahora.
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 para él en el / etc / fstab expediente.
Abre el archivo / etc / 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 expediente:
Una vez que haya terminado, presione <control> + X, seguido por Y, y <Ingresar> para salvar el / etc / fstab expediente.
Finalmente, reinicie su computadora para que los cambios surtan efecto.
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.
Como puede ver, el sistema de archivos Btrfs, que fue creado en el descifrado / dev / mapper / data El dispositivo de almacenamiento está montado en el /datos directorio.
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 cryptsetup. También aprenderá a descifrar el dispositivo de almacenamiento cifrado y a formatearlo con el sistema de archivos Btrfs. Además de cómo descifrar automáticamente el dispositivo de almacenamiento cifrado y montarlo en el momento del arranque. Este artículo debería ayudarlo a comenzar con el cifrado del sistema de archivos Btrfs.