A sigla LUKS significa Linux Unified Key Setup, que é um método amplamente utilizado de criptografia de disco pelo Kernel do Linux e é implementado com o pacote cryptsetup.
O comando cryptsetup criptografa em tempo real um volume de disco usando uma chave de criptografia simétrica derivada da frase de senha fornecida sempre que um volume de disco, uma partição e até um disco inteiro (mesmo um pendrive) é montado na hierarquia do sistema de arquivos e usa o cifra aes-cbc-essiv:sha256.

Devido ao fato de o LUKS poder criptografar os dispositivos de bloco inteiros (discos rígidos, pendrives, discos flash, partições, grupos de volumes etc.) nos sistemas Linux, é amplamente recomendado para proteger mídias de armazenamento removíveis, discos rígidos de laptops ou arquivos de swap do Linux e não é recomendado para criptografia de nível de arquivo.
NTFS (New Technology File System) é um sistema de arquivos proprietário desenvolvido pela Microsoft.
O Ubuntu 14.04 oferece suporte total à criptografia LUKS e também suporte nativo ao NTFS para o Windows com a ajuda do pacote ntfs-3g.
Para provar meu ponto neste tutorial, adicionei um novo disco rígido (4º) na máquina Ubuntu 14.04 (a referência do sistema para o novo HDD adicionado é /dev/sdd), o qual será dividido em duas partições.
- Uma partição (/dev/sdd1 – primária) usada para criptografia LUKS.
- A segunda partição (/dev/sdd5 – estendida) formatada em NTFS para acessar dados em sistemas Linux e Windows.
Também as partições serão montadas automaticamente no Ubuntu 14.04 após a reinicialização.
Passo 1: Criar Partições de Disco
1. Após adicionar fisicamente seu disco rígido em sua máquina, use o comando ls para listar todos os /dev/dispositivos (o quarto disco é /dev/sdd).
# ls /dev/sd*

2. Em seguida, verifique seu novo HDD com o comando fdisk.
$ sudo fdisk –l /dev/sdd

Como nenhum sistema de arquivos foi escrito até o momento, o disco ainda não contém uma tabela de partição válida.
3. Os próximos passos dividem o disco rígido resultando em duas partições usando o utilitário de disco cfdisk.
$ sudo cfdisk /dev/sdd
4. A próxima tela abre o modo interativo do cfdisk. Selecione seu disco rígido Espaço Livre e navegue até a opção Novo usando as setas esquerda/direita.

5. Escolha o tipo de partição como Primária e pressione Enter.

6. Anote o tamanho desejado da partição em MB.

7. Crie esta partição no Início do Espaço Livre do disco rígido.

8. Em seguida, navegue até a opção de Tipo de partição e pressione Enter.

9. A próxima janela apresentará uma lista de todos os tipos de sistemas de arquivos e seus códigos de número (número hexadecimal). Esta partição será criptografada como Linux LUKS, então escolha o código 83 e pressione Enter novamente para criar a partição.

10. A primeira partição é criada e o prompt da utilidade cfdisk volta para o início. Para criar a segunda partição usada como NTFS, selecione o Espaço livre restante, vá para a opção Nova e pressione a tecla Enter.

11. Desta vez, a partição será lógica estendida. Portanto, vá para a opção Lógica e pressione novamente Enter.

12. Insira novamente o tamanho da sua partição. Para usar o espaço livre restante como nova partição, deixe o valor padrão no tamanho e apenas pressione Enter.

13. Escolha novamente o código do tipo de partição. Para o sistema de arquivos NTFS, selecione o código de volume 86.

14. Após revisar e verificar as partições, selecione Gravar, responda sim na próxima pergunta interativa e depois Sair para sair da utilidade cfdisk.



Parabéns! Suas partições foram criadas com sucesso e estão prontas para serem formatadas e usadas.
15. Para verificar novamente a Tabela de Partições do disco, emita o comando fdisk novamente, que mostrará informações detalhadas da tabela de partições.
$ sudo fdisk –l /dev/sdd

Passo 2: Criar Sistema de Arquivos da Partição
Sistema de Arquivos NTFS
16. Para criar o sistema de arquivos NTFS na segunda partição, execute o comando mkfs.
$ sudo mkfs.ntfs /dev/sdd5

17. Para disponibilizar a partição, ela deve ser montada no sistema de arquivos em um ponto de montagem. Monte a segunda partição no quarto disco rígido no ponto de montagem /opt usando o comando mount.
$ sudo mount /dev/sdd5 /opt
18. Em seguida, verifique se a partição está disponível e listada no arquivo /etc/mtab usando o comando cat.
$ cat /etc/mtab

19. Para desmontar a partição, use o seguinte comando.
$ sudo umount /opt
EXT4 LUKS
20. Certifique-se de que o pacote cryptsetup está instalado no seu sistema.
$ sudo apt-get install cryptsetup [On Debian Based Systems] # yum install cryptsetup [On RedHat Based Systems]
21. Agora é hora de formatar a primeira partição no quarto disco rígido com o sistema de arquivos ext4 emitindo o seguinte comando.
$ sudo luksformat -t ext4 /dev/sdd1
Responda em maiúsculas SIM na pergunta “Tem certeza?” e digite três vezes a sua senha desejada.

Observação: Dependendo do tamanho da sua partição e da velocidade do HDD, a criação do sistema de arquivos pode levar um tempo.
22. Você também pode verificar o status do dispositivo de partição.
$ sudo cryptsetup luksDump /dev/sdd1

23. LUKS suporta no máximo 8 senhas adicionadas. Para adicionar uma senha, use o seguinte comando.
$ sudo cryptsetup luksAddKey /dev/sdd1

Para remover uma senha, use.
$ sudo cryptsetup luksRemoveKey /dev/sdd1

24. Para que esta partição criptografada fique ativa, ela deve ter uma entrada de nome (ser inicializada) no diretório /dev/mapper com a ajuda do pacote cryptsetup.
Esta configuração requer a seguinte sintaxe de linha de comando:
$ sudo cryptsetup luksOpen /dev/LUKS_partiton device_name
Onde “nome_do_dispositivo” pode ser qualquer nome descritivo que você goste! (eu o nomeei de volume_criptografado). O comando real parecerá como mostrado abaixo.
$ sudo cryptsetup luksOpen /dev/sdd1 crypted_volume

25. Em seguida, verifique se o seu dispositivo está listado em /dev/mapper, diretório, link simbólico e status do dispositivo.
$ ls /dev/mapper $ ls –all /dev/mapper/encrypt_volume

$ sudo cryptsetup –v status encrypt_volume

26. Agora, para tornar o dispositivo de partição amplamente disponível, monte-o em seu sistema em um ponto de montagem usando o comando mount.
$ sudo mount /dev/mapper/crypted_volume /mnt

Como pode ser visto, a partição está montada e acessível para escrever dados.
27. Para torná-lo indisponível, basta desmontá-lo do seu sistema e fechar o dispositivo.
$ sudo umount /mnt $ sudo cryptsetup luksClose crypted_volume

Passo 3: Montar a Partição Automaticamente
Se você usa um disco rígido fixo e precisa que ambas as partições sejam automaticamente montadas pelo sistema após a reinicialização, você deve seguir estes dois passos.
28. Primeiro, edite o arquivo /etc/crypttab e adicione os seguintes dados.
$ sudo nano /etc/crypttab
- Nome do alvo: Um nome descritivo para o seu dispositivo (veja o ponto acima 22 em EXT4 LUKS).
- Drive de origem: A partição do disco rígido formatada para LUKS (veja o ponto acima 21 em EXT4 LUKS).
- Arquivo de chave: Escolha nenhum
- Opções: Especifique luks
A linha final terá a seguinte aparência.
encrypt_volume /dev/sdd1 none luks

29. Em seguida, edite o arquivo /etc/fstab e especifique o nome do seu dispositivo, ponto de montagem, tipo de sistema de arquivos e outras opções.
$ sudo nano /etc/fstab
Na última linha, use a seguinte sintaxe.
/dev/mapper/device_name (or UUID) /mount_point filesystem_type options dump pass
E adicione seu conteúdo específico.
/dev/mapper/encrypt_volume /mnt ext4 defaults,errors=remount-ro 0 0

30. Para obter o UUID do dispositivo, use o seguinte comando.
$ sudo blkid

31. Para adicionar também o tipo de partição NTFS criado anteriormente, use a mesma sintaxe acima em uma nova linha no arquivo fstab ( Aqui é usado redirecionamento de anexação de arquivo no Linux ).
$ sudo su - # echo "/dev/sdd5 /opt ntfs defaults 0 0" >> /etc/fstab

32. Para verificar as mudanças, reinicie sua máquina, pressione Enter após a mensagem de inicialização “Iniciando configuração do dispositivo de rede” e digite a frase de acesso do seu dispositivo.


Como pode ver, ambas as partições de disco foram montadas automaticamente na hierarquia do sistema de arquivos do Ubuntu. Como conselho, não use volumes automaticamente criptografados do arquivo fstab em servidores fisicamente remotos se não puder ter acesso à sequência de reinicialização para fornecer a senha do seu volume criptografado.
As mesmas configurações podem ser aplicadas a todos os tipos de mídia removível, como pendrive, memória flash, disco rígido externo, etc, para proteger dados importantes, secretos ou sensíveis em caso de espionagem ou roubo.
Source:
https://www.tecmint.com/linux-hard-disk-encryption-using-luks/