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
Pré -requisitos
Para seguir este artigo:
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:
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.