Aprenda como criptografar HD, SSD e pendrive no Linux usando LUKS de forma prática e segura! Este tutorial completo traz comandos passo a passo, dicas de permissões e como proteger seus dados contra acessos não autorizados. Ideal para quem busca privacidade avançada ou proteção contra roubo de informações. Vamos começar?
O LUKS é usado para criptografar dispositivos de bloco. O conteúdo do dispositivo criptografado é arbitrário, permitindo que qualquer sistema de arquivos seja protegido, incluindo partições de swap. Um cabeçalho não criptografado no início do volume armazena até 8 (LUKS1) ou 32 (LUKS2) chaves de criptografia, além de parâmetros como tipo de cifra e tamanho da chave.
Essa estrutura diferencia o LUKS do dm-crypt, pois permite múltiplas senhas e sua alteração ou remoção. Se o cabeçalho for perdido ou corrompido, os dados tornam-se irrecuperáveis.
A criptografia usa uma abordagem em camadas:
1. O dispositivo é criptografado com uma chave mestra.
2. Essa chave mestra é, por sua vez, criptografada com chaves de usuário (derivadas de senhas, chaves FIDO2, TPMs ou cartões inteligentes).
3. Esse método permite trocar senhas sem recriptografar todo o disco.
- LUKS2 é mais resistente a corrupção de cabeçalho e usa Argon2 (derivação de chaves) por padrão.
- LUKS1 usa PBKDF2 e não suporta alguns recursos avançados.
- A conversão entre versões é possível, mas limitada.
O LUKS pode ser combinado com Gerenciamento de Volume Lógico (LVM):
- LVM sobre LUKS: Todos os volumes lógicos são criptografados com uma única chave.
- LUKS sobre LVM: Volumes individuais são criptografados, permitindo expansão em múltiplos dispositivos.
Um uso comum do LUKS é a criptografia total do disco, protegendo o sistema operacional contra acesso não autorizado. Em sistemas Linux:
- A partição /boot pode ser criptografada se o bootloader (ex: GRUB) suportar LUKS.
- Sistemas móveis como o postmarketOS usam ferramentas como osk-sdl para desbloqueio via tela sensível ao toque.
- O systemd-homed permite criptografar diretórios home individuais.
- Linux: Implementação nativa via cryptsetup e dm-crypt.
- Windows: Acesso via Subsistema do Windows para Linux (WSL).
- Obs.: Soluções anteriores como LibreCrypt e FreeOTFE possuem vulnerabilidades conhecidas.
lsblk -f
Considere no tutorial que a partição a ser criptografada tenha UUID 183b196b-8244-478c-94ba-4e3902794e4e e esteja em /dev/sdb1! No seu caso poderão ser valores diferentes, basta substituir!
sudo apt install parted -y
sudo parted /dev/sdb mklabel gpt
sudo parted /dev/sdb mkpart primary ext4 0GB 3GB # Partição 1 sudo parted /dev/sdb mkpart primary fat32 3GB 4GB # Partição 2 sudo parted /dev/sdb mkpart primary ntfs 4GB 7GB # Partição 3 sudo parted /dev/sdb print # Verificar
sudo mkfs.ext4 /dev/sdb1 # Partição 1 sudo mkfs.vfat /dev/sdb2 # Partição 2 sudo mkfs.ntfs /dev/sdb3 # Partição 3
sudo apt install cryptsetup cryptsetup --version sudo cryptsetup luksFormat --type luks2 /dev/sdb1 sudo cryptsetup luksOpen /dev/sdb1 183b196b-8244-478c-94ba-4e3902794e4e
mkfs.ext4 -L aula_montagem /dev/mapper/183b196b-8244-478c-94ba-4e3902794e4e # ou FAT32: mkfs.vfat -F32 -L aula_montagem /dev/mapper/183b196b-8244-478c-94ba-4e3902794e4e
mkdir -p /media/leking/aula sudo chown leking:leking /media/leking/aula sudo chmod ugo=rwx /media/leking/aula
sudo mount /dev/mapper/183b196b-8244-478c-94ba-4e3902794e4e /media/leking/aula lsblk -f
sudo umount /media/leking/aula sudo cryptsetup luksClose /dev/mapper/183b196b-8244-478c-94ba-4e3902794e4e
sudo cryptsetup luksChangeKey /dev/sdb1 -S 0
Ao trabalhar com partições no Linux, é crucial entender que:
# 1. Conceder todas permissões (dono, grupo e outros) sudo chmod ugo=rwx /media/leking/aula; # 2. Definir dono e grupo específico sudo chown leking:leking /media/leking/aula; # 3. Verificar dispositivo lsblk | grep aula_montagem;
u (usuário/dono): leitura(r), escrita(w), execução(x)g (grupo): leitura(r), escrita(w), execução(x)o (outros): leitura(r), escrita(w), execução(x)lekinglekingsudo chmod go= /caminho/partição # Remove todas permissões
sudo chmod o=r /caminho/partição # Outros podem apenas listar/ler
sudo chmod g=rwx,o= /caminho/partição
sudo chmod u=r,go= /caminho/partição
sudo chmod u=rw,go= /caminho/partição
sudo chmod u=rx,go= /caminho/partição
sudo chown novo_usuario /caminho/partição
sudo chown :novo_grupo /caminho/partição
sudo chown usuario:grupo /caminho/partição
sudo chown -R usuario:grupo /caminho/diretório
sudo chown meu_user:meu_user /mnt/disk sudo chmod u=rwx,go= /mnt/disk # Apenas o dono tem acesso
sudo chown :grupo_trabalho /dados/compartilhados sudo chmod ug=rwx,o= /dados/compartilhados
sudo chown meu_user:users /mnt/pendrive sudo chmod u=rwx,g=rx,o=rx /mnt/pendrive
ls -ld /caminho/partição # Mostra permissões, dono e grupo stat -c "%U %G %A" /caminho/partição # Formato compacto
Doar monero para ajudar no crescimento desse projeto: Clique aqui!