Como configurar sistemas de arquivos criptografados e trocar espaço usando a ferramenta ‘Cryptsetup’ no Linux – Parte 3
Um LFCE (abreviação de Linux Foundation Certified Engineer) é treinado e tem experiência para instalar, gerenciar e solucionar problemas de serviços de rede em sistemas Linux, e é responsável pelo projeto, implementação e manutenção contínua da arquitetura do sistema.
Apresentando o Programa de Certificação Linux Foundation (LFCE).
A ideia por trás da criptografia é permitir que apenas pessoas confiáveis acessem seus dados confidenciais e protegê-los de cair em mãos erradas em caso de perda ou roubo de sua máquina/disco rígido.
Em termos simples, uma chave é usada para “bloquear” o acesso às suas informações, para que elas fiquem disponíveis quando o sistema estiver em execução e desbloqueadas por um usuário autorizado. Isso implica que se uma pessoa tentar examinar o conteúdo do disco (conectando-o ao seu próprio sistema ou inicializando a máquina com um LiveCD/DVD/USB), ela encontrará apenas dados ilegíveis em vez dos arquivos reais.
Neste artigo discutiremos como configurar sistemas de arquivos criptografados com dm-crypt (abreviação de mapeador de dispositivos e criptografia), a ferramenta padrão de criptografia em nível de kernel. Observe que, como dm-crypt é uma ferramenta em nível de bloco, ela só pode ser usada para criptografar dispositivos completos, partições ou dispositivos de loop (não funcionará em arquivos ou diretórios normais).
Preparando uma unidade/partição/dispositivo de loop para criptografia
Como iremos limpar todos os dados presentes na unidade escolhida (/dev/sdb), primeiro de tudo, precisamos realizar um backup de todos os arquivos importantes contidos nessa partição ANTES prosseguindo.
Limpe todos os dados de /dev/sdb. Usaremos o comando dd aqui, mas você também pode fazer isso com outras ferramentas, como shred. A seguir, criaremos uma partição neste dispositivo, /dev/sdb1, seguindo a explicação na Parte 4 – Criar Partições e Sistemas de Arquivos no Linux da série LFCS.
dd if=/dev/urandom of=/dev/sdb bs=4096
Teste de suporte à criptografia
Antes de prosseguirmos, precisamos ter certeza de que nosso kernel foi compilado com suporte a criptografia:
grep -i config_dm_crypt /boot/config-$(uname -r)
Conforme descrito na imagem acima, o módulo do kernel dm-crypt precisa ser carregado para configurar a criptografia.
Instalando o Cryptsetup
Cryptsetup é uma interface frontend para criar, configurar, acessar e gerenciar sistemas de arquivos criptografados usando dm-crypt.
aptitude update && aptitude install cryptsetup [On Ubuntu]
yum update && yum install cryptsetup [On CentOS]
zypper refresh && zypper install cryptsetup [On openSUSE]
Configurando uma partição criptografada
O modo operacional padrão para cryptsetup é LUKS (Linux Unified Key Setup), então vamos continuar com ele. Começaremos definindo a partição LUKS e a senha:
cryptsetup -y luksFormat /dev/sdb1
O comando acima executa cryptsetup com parâmetros padrão, que podem ser listados com,
cryptsetup --version
Se você quiser alterar os parâmetros cipher, hash ou key, você pode usar os parâmetros –cipher, < b>–hash e –key-size, respectivamente, com os valores obtidos de /proc/crypto.
Em seguida, precisamos abrir a partição LUKS (seremos solicitados a senha que inserimos anteriormente). Se a autenticação for bem sucedida, nossa partição criptografada estará disponível dentro de /dev/mapper com o nome especificado:
cryptsetup luksOpen /dev/sdb1 my_encrypted_partition
Agora formataremos a partição como ext4.
mkfs.ext4 /dev/mapper/my_encrypted_partition
e crie um ponto de montagem para montar a partição criptografada. Finalmente, podemos querer confirmar se a operação de montagem foi bem-sucedida.
mkdir /mnt/enc
mount /dev/mapper/my_encrypted_partition /mnt/enc
mount | grep partition
Quando terminar de gravar ou ler seu sistema de arquivos criptografado, simplesmente desmonte-o
umount /mnt/enc
e feche a partição LUKS usando,
cryptesetup luksClose my_encrypted_partition
Testando criptografia
Finalmente, verificaremos se nossa partição criptografada é segura:
1. Abra a partição LUKS
cryptsetup luksOpen /dev/sdb1 my_encrypted_partition
2. Digite sua senha
3. Monte a partição
mount /dev/mapper/my_encrypted_partition /mnt/enc
4. Crie um arquivo fictício dentro do ponto de montagem.
echo “This is Part 3 of a 12-article series about the LFCE certification” > /mnt/enc/testfile.txt
5. Verifique se você pode acessar o arquivo que acabou de criar.
cat /mnt/enc/testfile.txt
6. Desmonte o sistema de arquivos.
umount /mnt/enc
7. Feche a partição LUKS.
cryptsetup luksClose my_encrypted_partition
8. Tente montar a partição como um sistema de arquivos normal. Deve indicar um erro.
mount /dev/sdb1 /mnt/enc
Criptografando o espaço de troca para maior segurança
A senha que você digitou anteriormente para usar a partição criptografada é armazenada na memória RAM enquanto ela está aberta. Se alguém conseguir colocar as mãos nessa chave, ele será capaz de descriptografar os dados. Isso é especialmente fácil de fazer no caso de um laptop, pois durante a hibernação o conteúdo da RAM é mantido na partição swap.
Para evitar deixar uma cópia da sua chave acessível a um ladrão, criptografe a partição swap seguindo estas etapas:
1 Crie uma partição para ser usada como swap com o tamanho apropriado (/dev/sdd1 no nosso caso) e criptografe-a conforme explicado anteriormente. Nomeie-o apenas como “swap ” por conveniência.’
2. Defina-o como swap e ative-o.
mkswap /dev/mapper/swap
swapon /dev/mapper/swap
3. Em seguida, altere a entrada correspondente em /etc/fstab.
/dev/mapper/swap none swap sw 0 0
4. Finalmente, edite /etc/crypttab e reinicie.
swap /dev/sdd1 /dev/urandom swap
Assim que o sistema terminar a inicialização, você poderá verificar o status do espaço de troca:
cryptsetup status swap
Resumo
Neste artigo, exploramos como criptografar uma partição e trocar espaço. Com esta configuração, seus dados devem estar consideravelmente seguros. Sinta-se à vontade para experimentar e não hesite em entrar em contato conosco se tiver dúvidas ou comentários. Basta usar o formulário abaixo – teremos o maior prazer em ouvir você!