Nesse post iremos estar instalando cryptsetup(LUKS) e criando uma partição criptografada no Linux para melhor proteger nossos arquivos.
Instalação
Estaremos usando um servidor Debian Wheezy. Atualize a lista de pacotes e instale o cryptsetup:
# apt-get update && apt-get install cryptsetup
Carregue o módulo do kernel:
# modprobe dm_crypt
Instale o pacote pv para monitorar o progresso que será usado posteriormente:
# apt-get install pv
Configurar partição LUKS
Nossa tabela de partições de disco fica assim:
# fdisk -l | grep -i "/dev/sd" Disco /dev/sda: 32,0 GB, 32017047552 bytes /dev/sda1 * 2048 60547071 30272512 fd detecção automática de RAID Linux /dev/sda2 60547072 62531583 992256 82 Troca de Linux / Solaris Disco /dev/sdb: 32,0 GB, 32015965696 bytes /dev/sdb1 * 2048 60547071 30272512 fd Linux RAID detecção automática /dev/sdb2 60547072 62531182 992055+ 83 Linux
Estaremos configurando um volume LUKS em uma partição de 1GB /dev/sdb2
.
Criar Partição LUKS
Para criar a partição basta usar cryptsetup luksFormat /dev/sdb2
Onde /dev/sdb2 é a partição que desejamos criptografar. Preste bem atenção aqui para acabar não apagando o conteúdo de outra partição!
cryptsetup luksFormat /dev/sdb2
Podemos acrescentar outras opções como em,
# cryptsetup -v -y --cipher "aes-xts-plain64:sha512" \ --key-size 512 --hash sha512 --iter-time 5000 \ --use-random luksFormat /dev/sdb2 AVISO! ======== Isso substituirá os dados em /dev/sdb2 irrevogavelmente. Tem certeza? (Digite maiúscula sim): SIM Insira a senha do LUKS: Verifique a senha: Comando bem-sucedido.
[ATUALIZAÇÃO]: a versão 1.6.0 do cryptsetup alterou os padrões para uma cifra AES no modo XTS . É desaconselhado o uso da cifra padrão anterior aes-cbc-essiv por causa de seus problemas conhecidos e ataques práticos contra eles.
Desbloquear partição LUKS
Para abrir(open) a partição criptografada usamos “open“: cryptsetup open /dev/sdb2 data
Podemos usar “LuksOpen” ao invés de apenas “open“. Mas, quem preferirá digitar texto mais longo?
Tendo criado a partição, vamos lá e desbloqueá-la:
# cryptsetup open /dev/sdb2 meuhd Digite a senha para /dev/sdb2:
O comando acima deve criar o seguinte mapeador:
/dev/mapper/meuhd
Formate o volume LUKS e crie um sistema de arquivos
Queremos sobrescrever o volume LUKS com zeros para garantir que o mundo externo veja o contêiner criptografado como dados aleatórios – protege contra a divulgação de padrões de uso.
Como temos um volume LUKS criptografado, ele possui uma chave mestra que será usada para criptografar o fluxo no disco. O que pensamos ser zero não é zero no disco.
Obs.: não costumo usar o passo abaixo, pulo direito para o da formatação com mkfs.ext4. Mas às vezes é bom usar para apagar realmente os dados antigos do disco.
# pv -tpreb /dev/zero | dd of=/dev/mapper/meuhd bs=1M dd: escrevendo `/dev/mapper/data': Não há mais espaço no dispositivo 966 MB 0:00:58 [16,6 MB/s] 0+7729 registros em 0+7728 registros fora 1012924416 bytes (1,0 GB) copiados, 70,8432 s, 14,3 MB/s
Observe que preencher um volume criptografado com zeros é o método recomendado para sobrescrever um disco de acordo com a FAQ do cryptsetup (consulte a seção 2.19).
Quando a operação de formatação estiver concluída, podemos prosseguir e criar um sistema de arquivos (ext4 neste caso):
# mkfs.ext4 /dev/mapper/meuhd -L meuhd mke2fs 1.42 (29 de novembro de 2011) Rótulo do sistema de arquivos=dados Tipo de SO: Linux Tamanho do bloco=4096 (log=2) Tamanho do fragmento=4096 (log=2) Stride = 0 blocos, Stripe width = 0 blocos 61824 inodes, 247296 blocos 12364 blocos (5,00%) reservados para o superusuário Primeiro bloco de dados=0 Máximo de blocos do sistema de arquivos = 255852544 8 grupos de blocos 32768 blocos por grupo, 32768 fragmentos por grupo 7728 inodes por grupo Backups de superbloco armazenados em blocos: 32768, 98304, 163840, 229376 Alocando tabelas de grupo: feito Escrevendo tabelas inode: feito Criando diário (4096 blocos): concluído
O “-L meuhd” é opcional e apenas rotula(label) o voluma meuhd como tendo o apelido “meuhd”
Montar Volume LUKS
Crie um novo ponto de montagem para o volume LUKS:
# mkdir /dados
Monte o volume:
# mount /dev/mapper/data/meuhd
O volume LUKS pode ser desmontado e fechado desta forma:
# umount /data # cryptsetup luks Fechar dados
Veja também:
- Saiba Como Funciona Criptografia em Informática
- Criptografia: Algumas Diferenças Entre NordLocker x VeraCrypt
- O que é Key Space em Criptografia?
- O que é Não Repúdio(no-repudiation) em Criptografia?
- O que é Cipher em Criptografia?
- LUKS: Montar e Desmontar HD Criptografado no Linux com Cryptsetup
- Programa Grátis para nunca mais Esquecer Senhas
- mais…
Veja a página do cryptsetup no gitlab
Comment on “Linux: Instalando Cryptsetup(LUKS) e Criando uma Partição Criptografada”