Como criptografar um sistema de arquivos BTRFS?

Como criptografar um sistema de arquivos BTRFS?

O recurso de criptografia no nível do sistema de arquivos BTRFS ainda não está disponível. Mas você pode usar uma ferramenta de criptografia de terceiros como DM-CRYPT para criptografar todos os dispositivos de armazenamento do seu sistema de arquivos BTRFS.

Neste artigo, vou mostrar como criptografar os dispositivos de armazenamento adicionados a um sistema de arquivos BTRFS com DM-Crypt. Então vamos começar.

Abreviações

  • Luks - Linux Unified Key Setup
  • HDD - Drive de disco rígido
  • SSD - Disco de Estado Sólido

Pré -requisitos

Para seguir este artigo:

  • Você deve estar executando o fedora 33 estação de trabalho ou ubuntu 20.04 Distribuição LTS Linux em seu computador.
  • Você deve ter um HDD/SSD gratuito no seu computador.

Como você pode ver, eu tenho um HDD sdb No meu Ubuntu 20.04 Máquina LTS. Vou criptografá -lo e formatá -lo com o sistema de arquivos BTRFS.

$ sudo lsblk -e7

Instalando os pacotes necessários no Ubuntu 20.04 LTS

Para criptografar dispositivos de armazenamento e formatá -los com o sistema de arquivos BTRFS, você precisa ter o BTRFS-Progs e Cryptsetup Pacotes instalados no seu Ubuntu 20.04 Máquina LTS. Felizmente, esses pacotes estão disponíveis no repositório oficial do pacote do Ubuntu 20.04 LTS.

Primeiro, atualize o cache do repositório de pacotes apt com o seguinte comando:

$ sudo apt update


Para instalar BTRFS-Progs e Cryptsetup, Execute o seguinte comando:

$ sudo apt install btrfs-progs Cryptsetup-Instalar-sugests


Para confirmar a instalação, pressione Y e depois pressione <Digitar>.


O BTRFS-Progs e Cryptsetup pacotes e suas dependências estão sendo instalados.


O BTRFS-Progs e Cryptsetup Os pacotes devem ser instalados neste momento.

Instalando os pacotes necessários no Fedora 33

Para criptografar dispositivos de armazenamento e formatá -los com o sistema de arquivos BTRFS, você precisa ter o BTRFS-Progs e Cryptsetup Pacotes instalados em sua máquina de estação de trabalho do Fedora 33. Felizmente, esses pacotes estão disponíveis no repositório oficial do Fedora 33.

Primeiro, atualize o cache do repositório de pacotes DNF com o seguinte comando:

$ sudo dnf makecache


Para instalar BTRFS-Progs e Cryptsetup, Execute o seguinte comando:

$ sudo dnf install btrfs -progs Cryptsetup -y


O Fedora 33 Workstation usa o sistema de arquivos BTRFS por padrão. Portanto, é mais provável que você já tenha esses pacotes instalados, como pode ver na captura de tela abaixo. Se, por algum motivo, eles não forem instalados, eles serão instalados.

Gerando uma chave de criptografia

Antes que você possa criptografar seus dispositivos de armazenamento com Cryptsetup, você precisa gerar uma chave aleatória de 64 bytes.

Você pode gerar sua chave de criptografia e armazená -la no /etc/Cryptkey Arquivo com o seguinte comando:

$ sudo dd if =/dev/urandom de =/etc/CryptKey bs = 64 contagem = 1


Uma nova chave de criptografia deve ser gerada e armazenada no /etc/Cryptkey arquivo.


O arquivo de chave de criptografia /etc/Cryptkey pode ser lido por todos por padrão, como você pode ver na captura de tela abaixo. Este é um risco de segurança. Nós queremos apenas o raiz Usuário para poder ler/escrever para o /etc/CryptKey File.

$ ls -lh /etc /Cryptkey


Para permitir que apenas o usuário raiz leia/grava para o /etc/CryptKey File, Altere as permissões de arquivo da seguinte forma:

$ sudo chmod -v 600 /etc /Cryptkey


Como você pode ver, apenas o raiz O usuário tem permissão de leitura/gravação (RW) para o /etc/Cryptkey arquivo. Então, ninguém mais pode ver o que está no /etc/Cryptkey arquivo.

$ ls -lh /etc /Cryptkey

Criptografar os dispositivos de armazenamento com DM-Crypt

Agora que você gerou uma chave de criptografia, você pode criptografar seu dispositivo de armazenamento. Digamos, sdb, Com a tecnologia de criptografia de disco Luks V2 (versão 2) da seguinte forma:

$ sudo Cryptsetup -v --type luks2 luksformat /dev /sdb /etc /Cryptkey

Cryptsetup solicitará que você confirme a operação de criptografia.

OBSERVAÇÃO: Todos os dados do seu HDD/SSD devem ser removidos. Portanto, certifique -se de mover todos os seus dados importantes antes de tentar criptografar seu HDD/SSD.


Para confirmar a operação de criptografia de disco, digite SIM (em maiúsculas) e pressione . Pode demorar um pouco para completar.


Neste ponto, o dispositivo de armazenamento /dev/sdb deve ser criptografado com a chave de criptografia /etc/Cryptkey.

Abrindo dispositivos de armazenamento criptografado

Depois de criptografar um dispositivo de armazenamento com Cryptsetup, você precisa abri -lo com o Cryptsetup ferramenta para poder usá -lo.

Você pode abrir o dispositivo de armazenamento criptografado sdb e mapeá -lo para o seu computador como um dados dispositivo de armazenamento da seguinte forma:

$ sudo CryptSetup Open --Key-File =/etc/CryptKey-Type Luks2/dev/sdb dados


Agora, o dispositivo de armazenamento descriptografado estará disponível no caminho /Dev/Mapper/Data. Você tem que criar o sistema de arquivos desejado no /Dev/Mapper/Data Dispositivo e monte o /Dev/Mapper/Data Dispositivo em vez de /dev/sdb de agora em diante.

Criando o sistema de arquivos BTRFS em dispositivos criptografados:

Para criar um sistema de arquivos BTRFS no dispositivo de armazenamento descriptografado /Dev/Mapper/Data Com os dados do rótulo, execute o seguinte comando:

$ sudo mkfs.btrfs -l dados/dev/mapeador/dados


Um sistema de arquivos BTRFS deve ser criado no /Dev/Mapper/Data Storage Dispositivo, que é descriptografado do dispositivo de armazenamento /dev/sdb (criptografado com Luks 2).

Montagem criptografada BTRFS FileSystem

Você pode montar o sistema de arquivos BTRFS que você criou anteriormente.

Digamos que você deseja montar o sistema de arquivos BTRFS que você criou anteriormente no /dados diretório.

Então, crie o /dados diretório da seguinte maneira:

$ sudo mkdir -v /dados


Para montar o sistema de arquivos BTRFS criado no /Dev/Mapper/Data Storage Dispositivo no /dados Diretório, execute o seguinte comando:

$ sudo montagem /dev /mapeador /dados /dados


Como você pode ver, o sistema de arquivos BTRFS criado no dispositivo de armazenamento criptografado sdb está montado no /dados diretório.

$ sudo btrfs arquivos sistemas /dados

Montando automaticamente o sistema de arquivos BTRFS criptografado automaticamente na hora da inicialização

Você pode montar o sistema de arquivos BTRFS criptografado também na hora da inicialização.

Para montar o sistema de arquivos BTRFS criptografado no momento da inicialização, você precisa:

  • descriptografar o dispositivo de armazenamento /dev/sdb no momento da inicialização usando o /etc/Cryptkey arquivo de chave de criptografia
  • Monte o dispositivo de armazenamento descriptografado /Dev/Mapper/Data para o /dados diretório

Primeiro, encontre o uuid do sdb Dispositivo de armazenamento criptografado com o seguinte comando:

$ sudo blkid /dev /sdb


Como você pode ver, o uuid do sdb O dispositivo de armazenamento criptografado é 1C66B0DE-B2A3-4D28-81C5-81950434F972. Vai ser diferente para você. Então, certifique -se de alterá -lo com o seu a partir de agora.


Para descriptografar automaticamente o sdb dispositivo de armazenamento no tempo de inicialização, você deve adicionar uma entrada para ele no /etc/cripttab arquivo.

Abra o /etc/cripttab arquivo com o Nano Editor de texto da seguinte forma:

$ sudo nano /etc /cripttab


Adicione a seguinte linha no final do /etc/cripttab arquivo se você estiver usando um HDD.

Dados UUID = 1C66B0DE-B2A3-4D28-81C5-81950434F972 /etc /CryptKe

Adicione a seguinte linha no final do /etc/cripttab arquivo se você estiver usando um SSD.

Dados UUID = 1C66B0DE-B2A3-4D28-81C5-81950434F972 /ETC /CryptKey Luks, noearly, descarte

Depois de terminar, pressione <Ctrl> + X, seguido pela Y, e <Digitar> Para salvar o /etc/cripttab arquivo.


Agora, encontre o uuid dos descriptografados /Dev/Mapper/Data dispositivo de armazenamento com o seguinte comando:

$ sudo blkid/dev/mapper/dados


Como você pode ver, o uuid do /Dev/Mapper/Data Dispositivo de armazenamento descriptografado é DAFD9D61-BDC9-446A-8B0C-AA209BFAB98D. Vai ser diferente para você. Então, certifique -se de alterá -lo com o seu a partir de agora.


Para montar automaticamente o dispositivo de armazenamento descriptografado /Dev/Mapper/Data No diretório de dados /na hora da inicialização, você deve adicionar uma entrada para ele no /etc/fstab arquivo.

Abra o /etc/FSTAB Arquivo com o Nano Editor de texto da seguinte forma:

$ sudo nano /etc /fstab


Agora, adicione a seguinte linha no final do /etc/fstab arquivo:

UUID = DAFD9D61-BDC9-446A-8B0C-AA209BFAB98D /DATA BTRFS PADRES

Depois de terminar, pressione <Ctrl> + X, seguido pela Y, e <Digitar> Para salvar o /etc/fstab arquivo.


Finalmente, reinicie seu computador para que as alterações tenham efeito.

$ sudo reiniciar


O dispositivo de armazenamento criptografado sdb é descriptografado em um dados dispositivo de armazenamento e o dados O dispositivo de armazenamento é montado no /dados diretório.

$ sudo lsblk -e7


Como você pode ver, o sistema de arquivos BTRFS, que foi criado no descriptografado /Dev/Mapper/Data O dispositivo de armazenamento é montado no /dados diretório.

$ sudo btrfs arquivos sistemas /dados

Conclusão

Neste artigo, mostrei como criptografar um dispositivo de armazenamento usando a tecnologia de criptografia Luks 2 com CryptSetup. Você também aprende a descriptografar o dispositivo de armazenamento criptografado e formatá -lo com o sistema de arquivos BTRFS também. Bem como como descriptografar automaticamente o dispositivo de armazenamento criptografado e montá -lo na hora da inicialização. Este artigo deve ajudá -lo a começar com a criptografia BTRFS FileSystem.