Aula #10 - Criando discos criptografados



Sistemas de arquivos podem ser criptografados para protegê-los de curiosos e para impedir que seu conteúdo seja comprometido. Criptografia de discos pode ser feita durante a instalação ou pode ser habilitada posteriormente. 
Distribuições Linux costumam usar o método LUKS e as tarefas relacionadas com criptografia de discos são normalmente feitas com a ferramenta cryptsetup.



Criptografia deve ser usada sempre que dados confidenciais estiverem sendo armazenados ou transmitidos. Configurar e usar criptografia para dispositivos de bloco fornece uma das proteções mais fortes contra danos causados ​​por perda ou comprometimento de dados contidos em discos rígidos e outras mídias.

Distribuições Linux modernas oferecem a opção de encriptar partições de disco durante a instalação. Também é fácil de criar e formatar partições criptografadas depois da instalação, mas não é possível encriptar uma partição existente sem copiar dados.




LUKS




 Distribuições Linux modernas fornecem criptografia a nível de dispositivos de bloco, principalmente através do uso do LUKS (Linux Unified Key Setup). A utilização de criptografia em dispositivo de bloco é altamente recomendada para sistemas portáteis como laptops, tablets e smartphones.

O LUKS é instalado com o cryptsetup, que é um utilitário poderoso que pode criptografar partições, discos inteiros ou volumes lógicos LVM. 
Nós não vamos discutir alternativas existentes(plain dm-crypt, loop-AES, e outros baseados no TrueCrypt, como o VeraCrypt), já que o LUKS (que foi originalmente projetado para o Linux, mas também tem sido exportado para outros sistemas operacionais) é o método padrão mais usado no Linux.

O módulo do kernel dm-crypt utiliza a infra-estrutura do device mapper, a mesma estrutura usada pelo LVM, que discutiremos mais tarde.

Como o LUKS armazena todas as informações necessárias no próprio cabeçalho partição, é simples migrar partições para outros discos ou sistemas.

O LUKS também pode ser usado para criptografar partições de swap de forma transparente.




CRYPTSETUP


Basicamente tudo é feito com canivete suíço da criptografia: o programa cryptsetup. Uma vez que os volumes criptografados foram criados eles podem ser montados e desmontados com os utilitários normais.


A forma geral de um comando é:


cryptsetup [OPÇÃO...]

e a lista completa de opções pode ser exibida com:

$ cryptsetup --help


Se a partição LVM /dev/VG/MYSECRET já existe, os comandos a seguir vão configurar a criptografia, torná-la disponível para o LUKS, formatar, montar, usar e desmontar a partição criptografada.

Primeiro precisamos dar o volume lógico(ou partição) ao LUKS:

$ sudo cryptsetup luksFormat /dev/VG/MYSECRET


Você precisará digitar uma senha que será necessária para abrir o volume no futuro. Observe que você só precisa executar este passo uma vez, para configurar a criptografia.

Você pode encontra problemas se o seu kernel não suportar o método de criptografia padrão usado pelo cryptsetup. Se isso acontecer, você pode examinar o arquivo /proc/crypto para ver quais métodos são suportados pelo seu sistema, e então você pode especificar o método como em:

$ sudo cryptsetup luksFormat --cipher aes /dev/VG/MYSECRET

Você pode tornar o volume criptografado disponível a qualquer momento com:

$ sudo cryptsetup --verbose luksOpen /dev/VG/MYSECRET SECRET

a senha será solicitada a você. Agora você pode formatar a partição:

$ sudo mkfs.ext4  /dev/mapper/SECRET


montar:

$ sudo mount /dev/mapper/SECRET /mnt

e então usar para guardar o conteúdo do seu coração exatamente como se fosse em uma partição não criptografada no /mnt.  Quando você terminar, desmonte com:

$ sudo umount /mnt

e então remova a associação com o /dev/mapper, já que a partição sempre estará disponível para uso futuro:

$ sudo cryptsetup --verbose luksClose SECRET


 Existem duas condições para montar uma partição criptografada na inicialização do sistema:

  •     Ter uma entrada correta no arquivo /etc/fstab. Nada especial aqui, criptografia não é sequer mencionada.
  •     Adicionar uma entrada no arquivo /etc/crypttab. Exemplo:

    SECRET/dev/mapper/MySECRET

    Você pode fazer mais neste arquivo, como por exemplo especificar a senha se você não quiser digitar ela toda vez durante o boot (O que por outro lado não é muito seguro). Veja man crypttab para descobrir tudo o que o você pode fazer com este arquivo.
   

Mais vistos no mês:

As melhores distribuições Linux para 2017

Teste de Performance de Rede com Iperf

TuxMath - Tux, do Comando da Matemática. Ensino e diversão a crianças.

Aula #14 - Os sistemas de arquivos ext2/ext3/ext4

Modelo Firewall Completo em Iptables para pequena rede/office

DHCP - Guia Completo

OPNsense - Firewall Open Source

SSD no linux

Administração de sistema e Deploys: Ansible, Chef, Fabric, Puppet ou Salt?