Criptografando a partição HOME no Linux
Olá para você pessoa, como vai? Eu vou bem graças a Deus e obrigado por perguntar mentalmente hehe. Esse é um post de segurança…é o que todos querem, não é?! hehe Então lá vai…
- Introdução
- Requisitos
- Preparando a partição
- Criando arquivos para montagem automática
- Colocando partição para funcionar
- Archlinux e derivados
- Conclusão
Introdução
Todos usuários Linux sabem que o diretório /home é onde fica armazenado toda nossa “bancada” de arquivos importantes, ou seja, é onde tudo é salvo, e tudo acontece. Pensando nisto, pensei um fazer um post como proteger a /home, o que é muito legal. Então vamos lá.
Mesmo que você coloque uma senha muito difícil de login, você não está seguro de alguem pegar seus arquivos. Se alguém ligar sua máquina com um sistema bootável pendrive ou DVD, essa pessoa consegue montar a partição Linux e acessar seus arquivos.
Como me protejo disso?
A resposta é: usar uma partição separada para /home e criptografar a mesma.
Então vamos lá manito :)
Requisitos
Os seguintes requisitos baixo precisam existir em sua distribuição Linux:
- Pacote: cryptsetup
- A /home separada do sistema
- Ter acesso ao usuário root
Preparando a partição
Logar como Root
Para dar continuidade a este tutorial, você precisa estar logar no sistema como ROOT. Se você não conseguir logar como ROOT, você pode fazer logout da sessão (caso esteja com usuário comum) e abrir um novo tty digitando Ctrl + Alt + F4
, após isso, você faz o login com root. É necessário usar o usuário root para realizar as etapas, porque a home do usuário root não fica no /home no qual vamos configurar, e sim em /root.
Após logar com root, vamos carregar os módulos de criptografia, qual vamos usar executando no console:
Fazendo backup da nossa /home atual
A primeira coisa a se fazer é um backup da nossa /home. Se a partição raiz do sistema (/) tiver espaço suficiente, você pode fazer o backup para a pasta /opt, por exemplo, da seguinte maneira:
Caso não tenha, você pode estar usando um HD/SSD ou até mesmo um pendrive.
Listando nossas partições
Dê o comando abaixo para listar nossas partições e identificar nossa partição /home atual:
Criptografando a partição
Vamos imaginar que nossa partição /home seja a /dev/sda2, com isso vamos desmontar a mesma e logo em seguida criptografar através do cryptsetup da seguinte maneira:
NOTA: LEMBRE-SE DE TER FEITO O BACKUP DE TODA SUA /home POIS ELA SERÁ DESTRUÍDA AGORA.
O LUKS irá pedir pra que você confirme com um yes (em uppercase), ou seja, assim: YES.
Digite: YES e dê Enter
Após isso, irá pedir para informar a senha de criptografia e logo em seguida para confirmar. Então faça isso.
A T E N Ç Ã O: Nunca esqueça essa senha, pois é ela que você usará na inicialização do sistema para para montar a /home futuramente.
Ok! Você já tem sua partição /home criptografada
Abrindo partição criptografada
Agora precisamos abrir a partição para poder trabalhar nela, isso faremos com o comando abaixo:
IMPORTANTE: Observe que no final do comando tem a palavra home (Não necessáriamente precisa ser home, você pode colocar outro nome).
Ao fazer um open na partição criptografada, criará um “ponteiro” para nossa home no diretório /dev/mapper, ou seja, será encontrado assim: /dev/mapper/home. Porem, esse ponteiro /dev/mapper/home será excluído após desmontarmos essa partição ou quando desligar/reiniciar a máquina, para essas configurações se manter usaremos 2(dois) arquivos para isso, onde veremos mais a seguinte, enquanto isso vamos seguir passo por passo.
A senha que você colocou para criptografar irá ser requerida nesse momento, então informe-a para abrir nossa partição criptografada.
Formatando a partição criptografada
Com nossa partição criptografada já aberta, precisamos formatar a sua montagem (/dev/mapper/home) para o tipo ext4. Para isso faremos:
Montando a partição e restaurando backup
Agora, vamos montar essa partição formatada e fazer a restauração do nosso backup. Então, faremos essas etapas com os comandos abaixo:
NOTA: Onde está usuário você deve colocar o nome do seu usuário, por exemplo: william.
Fechando nossa partição criptografada
Pronto! Agora vamos fechar nossa partição criptografada com o seguinte comando abaixo:
Criando arquivos para montagem automática
Como foi mencionado acima, a partição que abrir com o cryptsetup /dev/mapper/home ela não fica permanente, então precisamos criar ou editar 2 (dois) arquivos no /etc.
Crypttab
O arquivo /etc/crypttab é responsável por informar nosso sistema que existe um dispositivo criptografado. Caso ele não exista crie e adiciona as seguintes linhas:
O número de UID que está tudo zerado, coloquei para ilustrar. Esse número é o UID que você terá que colocar no /etc/crypttab da partição criptografada. Porém, antes disso dê o comando abaixo para lhe retornar informações da partição criptografada e você saber o UID da mesma:
Vai lhe retornar um número extenso, é este que você tem que colocar. Por exemplo, a saída do comando em minha máquina foi essa:
Com isso meu arquivo /etc/crypttab deveria ficar assim:
Pronto! Terminamos toda configuração do arquivo /etc/crypttab.
Fstab
O arquivo /etc/fstab é responsável por carregar todo dispositivo na inicialização de nossa máquina. Ao criamos (ou editarmos) o arquivo /etc/crypttab, precisamos informar o mesmo no arquivo /etc/fstab para que nossa máquina reconheça que existe um dispositivo criptografado a ser lançado na inicialização da máquina.
Para isso, vamos adicionar no /etc/fstab a seguinte linha abaixo:
Feito, as configurações do arquivo /etc/fstab foram concluídas.
Colocando partição para funcionar
Terminamos aqui toda configuração da partição /home criptografada e dos arquivos que a mesma partição necessita. Porém, antes de reiniciar, execute os comandos abaixo com o grub-mkconfig (ou grub2-mkconfig dependendo da distro que você usa) para criar novamente nossa imagem de boot:
Agora, basta você reiniciar sua máquina, e durante o boot, antes de montar sua /home, o sistema irá pedir a senha para descriptografar a /home e montar a mesma.
Archlinux e derivados
Essas configurações são válidas para a maiorias das distribuições Linux, porem, se você usa Archlinux ou derivados, você precisa fazer algumas configurações a mais no arquivo /etc/mkinitcpio.conf e /etc/default/grub.
Arquivo /etc/mkinitcpio.conf
No arquivo /etc/mkinitcpio.conf, você terá que adicionar em HOOKS a palavra encrypt. Se usar Plymouth, você deve colocar plymouth-encrypt.
Agora você precisa gerar uma imagem nova do mkinicipo com o comando abaixo:
Arquivo /etc/default/grub
No arquivo /etc/default/grub, você deve deixar o GRUB_CMDLINE_LINUX da seguinte maneira:
Vamos refazer a imagem de boot e instalar o grub com o comando:
Conclusão
Esse foi um tutorial bem básico de como deixar nossa /home criptografada no Linux. É de certo que alguma distribuição Linux pode ter suas particularidades e você tem que configurar algo a mais na mesma, porem o principio parte dessa lógica desse tutorial. Espero que você goste e principalmente que suas dúvidas foram eliminadas, mas caso não foi, deixe aqui um comentário informando suas dúvidas. Abraço.
- jektify © 2024