Como criptografar um pendrive no Linux, com luksformat

Neste post vou mostrar como criptografar fácil e rápido um pendrive fazendo uso do aplicativo luksformat, no Linux.
O luksformat, pode ser encontrado em diversas distribuições, como o Fedora, Ubuntu, Debian etc. — e oferece uma interface (na linha de comando) muito simplificada para cryptsetup e mkfs.
capa do tutorial como criptografar um pendrive
O mkfs é um programa de formatação de drives e aceita inúmeros tipos de sistemas de arquivos.
O cryptsetup é usado para configurar volumes com criptografia LUKS.
Ao fazer uso do luksformat, o usuário não precisa se preocupar com nada, basta informar o que deseja formatar (e encriptar) e o sistema de arquivos desejado.
O sistema de arquivos padrão do luksformat é o vfat — mas, se você deseja ter um sistema mais seguro, sugiro usar outro.

Como formatar e encriptar uma mídia com o luksformat

Abra um terminal e rode o luksformat, informando o sistema de arquivos desejado e a mídia a ser formatada.
No exemplo, abaixo, vou formatar a unidade presente em /dev/sdc1. Certifique-se de adequar o meu exemplo à sua situação, se você for copiar e colar no seu terminal.

Os comandos descritos neste tutorial removem todos os dados do seu dispositivo de armazenamento e não podem ser desfeitos.
Tenha em mente, também, que se você esquecer a senha usada para encriptar não será possível recuperar os seus dados.
Você foi avisado.

sudo umount /dev/sdc1
sudo luksformat -t ext3 /dev/sdc1

No exemplo, acima, a mídia em /dev/sdc1 foi desmontada.
Antes disto, indiquei o sistema de arquivos ext3, com a opção -t ext3.
No final do comando, configurei o nome do volume para kRypT0 — você deve escolher o nome que achar melhor.
O aplicativo pede uma confirmação em letras maiúsculas: YES.
Escolha uma senha forte e confirme.
Abaixo, segue a saída da execução do aplicativo no meu sistema:

Criando dispositivo criptografado em /dev/sdc1...

WARNING!
========
Isto irá sobrescrever os arquivos em /dev/sdc1 definitivamente.

Are you sure? (Type uppercase yes): YES
Informe a frase secreta: 
Verify passphrase: 
Digite sua senha novamente para verificação
Informe a frase secreta para /dev/sdc1: 
mke2fs 1.42.9 (4-Feb-2014)
Rótulo do sistema de arquivos=kRypT0
OS type: Linux
Tamanho do bloco=4096 (log=2)
Tamanho do fragmento=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
122160 inodes, 488447 blocks
24422 blocks (5.00%) reserved for the super user
Primeiro bloco de dados=0
Máximo de blocos de sistema de arquivos=503316480
15 grupos de blocos
32768 blocos por grupo, 32768 fragmentos por grupo
8144 inodes por grupo
Cópias de segurança de superblocos gravadas em blocos: 
	32768, 98304, 163840, 229376, 294912

Allocating group tables: pronto                            
Gravando tabelas inode: pronto                            
Creating journal (8192 blocks): concluído
Escrevendo superblocos e informações de contabilidade de sistema de arquivos: concluído

Como formatar e encriptar um drive em VFAT

O sistema de arquivos VFAT (menos seguro) é padrão do luksformat. Para formatar o mesmo drive, com mesmo nome de volume, faça assim:

sudo umount /dev/sdc1
sudo luksformat /dev/sdc1 -n kRypT0

Referências

Outras leituras, que podem contribuir:

Como formatar um drive no Linux, com mkfs

O mkfs torna fácil formatar drives de vários tipos, no Linux, tais como pendrives, cartões de memória, HDs, SSDs etc.
O aplicativo permite várias opções e parâmetros de uso, que lhe conferem grande versatilidade para realizar a tarefa.
O mkfs pode criar uma variedade de sistemas de arquivos em um dispositivo — usualmente (mas não exclusivamente) um disco rígido.
sistema de arquivos - disco rígido - usb - pendrive

Como usar o mkfs

É importante ser cuidadoso.
— não é possível desfazer a formatação depois. Portanto tenha sempre a certeza de que está formatando o drive certo.
O nome (endereço) do drive vai ser algo parecido com “/dev/hda1” ou “/dev/sdc2”.
Você pode também formatar e criar um sistema de arquivos em um arquivo — semelhante a um disco rígido virtual.
Para formatar um pendrive, localizado em /dev/sdc1, comece por desmontar o dispositivo:

sudo umount /dev/sdc1

Agora já é possível criar um sistema de arquivos nele.
O comando, a seguir, formata e apaga todo o conteúdo do dispositivo — e cria um sistema de arquivos vfat nele:

sudo mkfs -t vfat -n pendrive -I /dev/sdc1

Sistemas de arquivo suportados pelo mkfs

Os sistemas de arquivos (filesystems) mais usados, são suportados pelo mkfs:

  • xfs,
  • ext2, ext3, ext4,
  • xia,
  • xfs
  • vfat, msdos, dos,
  • minix,
  • bfs etc.

O aplicativo tem opções apropriadas a cada sistema de arquivos em particular. Ele é um frontend para estes outros programas:

  • mkdosfs
  • mke2fs
  • mkfs.bfs
  • mkfs.ext2
  • mkfs.ext3
  • mkfs.ext4
  • mkfs.minix
  • mkfs.msdos
  • mkfs.vfat
  • mkfs.xfs
  • mkfs.xiafs

Cada um deles tem uma página de manual e um sistema de ajuda próprio — que vale a pena consultar sempre.
Você pode ver a relação deles no seu PC com o comando ls:

ls /sbin/mk*

Linux mkfs
Se você não especificar o sistema de arquivos a ser construído no dispositivo, o mkfs vai usar o ext2 como padrão.

Como verificar se há setores ruins no drive, antes de formatar

Alguns dos aplicativos, da lista acima, tem opções mais avançadas, que permitem verificar a saúde do dispositivo de armazenamento antes de formatar e criar um sistema de arquivos nele.
Para criar um sistema de arquivos VFAT em um pendrive que você pretenda usar para ver filmes, proceda da seguinte forma, para fazer uma checagem no sistema de arquivos do dispositivo após a formatação:

sudo mkfs -t vfat -c -v -n "meus_filmes" /dev/sdc1

O que produzirá uma saída semelhante a esta:

mkfs.fat 3.0.26 (2014-03-07)
mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
Auto-selecting FAT32 for large filesystem
/dev/sdc1 has 124 heads and 62 sectors per track,
hidden sectors 0x0002;
logical sector size is 512,
using 0xf8 media descriptor, with 7870462 sectors;
drive number 0x80;
filesystem has 2 32-bit FATs and 8 sectors per cluster.
FAT size is 7671 sectors, and provides 981886 clusters.
There are 32 reserved sectors.
Volume ID is aafb6b57, volume label meus_filmes.
Searching for bad blocks 106080... 212192... 318560... 424288... 530272... 636624... 743008... 849248... 955360... 1061472... 1167968... 1275104... 1381728... 1488096... 1594336... 1701200... 1808480... 1916256... 2022496... 2128864... 2234976... 2341344... 2448096... 2554720... 2661584... 2768864... 2875488... 2981984... 3087968... 3194208... 3300832... 3407456... 3514192... 3620576... 3727824... 3834080... 

Na linha de comando, acima:

  • a opção -c, pede para que o aplicativo faça uma checagem no drive, após a formatação.
  • a opção -v, liga a “verbosidade”.
  • a opção -n, nomeia o novo dispositivo (no máximo 11 letras)

Uma forma alternativa e equivalente de execução é a seguinte:

sudo mkfs.vfat -c -v -n "meus_filmes" /dev/sdc1

Os resultados são os mesmos.

Qual o sistema de arquivos mais recomendado

Se você tentar esta busca no Google, vai encontrar inúmeros fóruns, onde esta questão é debatida, às vezes intensamente e quase nunca com resultados 100% conclusivos.
O fato é que o tipo mais adequado de sistema de arquivos varia de acordo com o tipo de dispositivo — pendrive, HD, SSD etc —, de acordo com a aplicação — reproduzir filmes, guardar arquivos de backup etc —, entre tantos outros fatores.
Vou ser extremamente simplista na minha afirmação, a seguir, apenas para não te deixar sem resposta — mas você deve pesquisar antes de decidir, sempre.

Sistemas de arquivos mais indicados para pendrive

Se o seu dispositivo removível for para armazenar filmes em mp4, mkv etc., para assistir na TV, você vai precisar que ele use um sistema de arquivos reconhecido pelo aparelho: os mais comuns, portanto, são VFAT e NTFS.
Em pendrives maiores que 16 Gb, vá de NTFS.
Se não vai depender da compatibilidade com outros sistemas operacionais, pode usar o ext2 ou ext3 para pendrives ou cartões de memória de baixa capacidade e ext4 em dispositivos mais novos e com maior capacidade de armazenamento.
O ext4 é recomendado também para unidades SSD.

Como usar o ext4

Use a versão mais nova, ext4, sempre — a menos que você tenha motivos especiais para usar uma versão mais antiga.
As equipes de desenvolvimento do Fedora e do Red Hat têm optado pelo XFS — se uma destas é sua distro, mantenha a opção das equipes de desenvolvimento, por que você terá mais suporte.
O uso básico do mkfs, para formatar uma partição com o tipo ext4 é assim:

sudo mkfs -t ext4 /dev/sdd3

Tenha em mente que uma partição precisa estar desmontada sempre, antes de ser formatada — creio que o sistema irá lembrá-lo disto.

LEIA MAIS