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 linha de comando criptografa um disco de volume na mosca usando uma chave de criptografia simétrica derivada da frase de acesso fornecida toda vez que um disco de volume, uma partição e até mesmo um disco completo (até mesmo um pendrive) é montado na hierarquia do sistema de arquivos e usa o cifrado aes-cbc-essiv:sha256.

Porque LUKS pode criptografar dispositivos de bloco inteiros (discos rígidos, pendrives, discos flash, partições, grupos de volume etc) em sistemas Linux, é amplamente recomendado para proteger mídias de armazenamento removíveis, discos rígidos de laptops ou arquivos de troca do Linux e não é recomendado para criptografia em nível de arquivo.
NTFS (Sistema de Arquivos de Novas Tecnologias) é um sistema de arquivos proprietário desenvolvido pela Microsoft.
O Ubuntu 14.04 fornece suporte total para criptografia LUKS e também suporte nativo 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 é /dev/sdd) que 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 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 à sua máquina, use o comando ls para listar todos os /dev/dispositivos (o quarto disco é /dev/sdd</diy5).
# 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, o disco ainda não contém uma tabela de partição válida.
3. Os próximos passos fatiam o disco rígido para resultar em duas partições usando a utilidade de disco cfdisk.
$ sudo cfdisk /dev/sdd
4. A próxima tela abre o modo interativo do cfdisk. Selecione o Espaço livre do disco rígido e navegue até a opção Novo usando as setas para a 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. O próximo prompt apresenta uma lista de todos os tipos de sistemas de arquivos e seus códigos numéricos (número hexadecimal). Esta partição será criptografada com o Linux LUKS, então escolha o código 83 e pressione Enter novamente para criar a partição.

10. A primeira partição foi criada e o prompt da utilidade cfdisk retorna ao início. Para criar a segunda partição usada como NTFS, selecione o Espaço livre restante, navegue até a opção Novo e pressione a tecla Enter.

11. Desta vez, a partição será uma Lógica Estendida. Portanto, vá até a opção Lógica e pressione novamente Enter.

12. Insira o tamanho da sua partição novamente. Para usar o espaço livre restante como a 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, escolha o código de volume 86.

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



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

Passo 2: Criar Sistema de Arquivos de 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 tornar a partição disponível, 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 esteja instalado no seu sistema.
$ sudo apt-get install cryptsetup [On Debian Based Systems] # yum install cryptsetup [On RedHat Based Systems]
21. Agora é a 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 à pergunta “Você tem certeza?” e insira 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 da partição.
$ sudo cryptsetup luksDump /dev/sdd1

23. O LUKS suporta um máximo de 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 seja 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ê preferir! (Eu o nomeei de volume_criptografado). O comando real ficará assim como mostrado abaixo.
$ sudo cryptsetup luksOpen /dev/sdd1 crypted_volume

25. Em seguida, verifique se 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á-la indisponível, basta desmontá-la do seu sistema e fechar o dispositivo.
$ sudo umount /mnt $ sudo cryptsetup luksClose crypted_volume

Passo 3: Montar a Partição Automaticamente
Se você usar um disco rígido fixo e precisar que ambas as partições sejam montadas automaticamente pelo sistema após reiniciar, você deve seguir estas duas etapas.
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 formatado para LUKS (veja o ponto acima 21 em EXT4 LUKS).
- Arquivo de chave: Escolha nenhum
- Opções: Especifique luks
A linha final ficará assim como mostrado abaixo.
encrypt_volume /dev/sdd1 none luks

29. Em seguida, edite /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 também adicionar o tipo de partição NTFS criado anteriormente, use a mesma sintaxe acima em uma nova linha no arquivo fstab ( aqui é utilizado redirecionamento de anexo de arquivo Linux ).
$ sudo su - # echo "/dev/sdd5 /opt ntfs defaults 0 0" >> /etc/fstab

32. Para verificar as alterações, reinicie sua máquina, pressione Enter após a mensagem de inicialização “Inicializando dispositivo de rede” e digite a sua senha do dispositivo.


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