Instalação do Arch Linux com LVM + Luks

Em tempos que a segurança deve ser levada cada vez mais a sério, criptografia é um ótimo caminho para melhorar nossa sensação de segurança. Utilizar criptografia em disco, portanto, é um meio muito bom para conseguir isso.

[ Hits: 14.685 ]

Por: Gildásio Júnior em 14/01/2016


Instalação



Vamos ver agora o passo a passo para a instalação do Arch Linux e claro com uso do LVM e Luks para tal.

Teclado

O primeiro passo para você se sentir confortável por toda a instalação, já que se trata de um processo modo texto, é ter o teclado devidamente configurado. Para isso, basta executar:

# loadkeys br-abnt2

Se o teu teclado tem um outro formato, você pode ver os pamas no diretório */usr/share/kbd/keymaps/*.

Internet

Vamos precisar da internet para fazer instalação dos pacotes ou para qualquer outra coisa que queira - como por exemplo: utilizar um script de instalação vindo do Github. :)

Para tal, basta executar o wifi-menu, selecionar a rede e colocar a senha:

# wifi-menu

Preparação dos Discos

Você pode utilizar qualquer programa para criar as partições da forma que quiser. Eu recomendo o cfdisk, mas fica à sua escolha.

Aqui vamos precisar apenas nos atentar algumas coisas:
  • Não se deve criptografar o */boot*, senão o sistema não iniciaria;
  • A partição de /boot vou utilizar com ext3, fica a seu critério. E deve ser marcada como bootável;
  • A partição a ser utilizada pelo LVM tem de ter a flag "Linux LVM", ou se facilitar, o código 8e.

Pronto. Basicamente é isso. O esquema que escolhi fazer para mim foi o seguinte:

/dev/sda1 200MB       ext3       (vai ser utilizada para o boot)
/dev/sda2 (restante)  Linux LVM  (vamos separar aqui /, /home e swap)

Encriptação

Antes de mais nada, vamos precisar carregar o módulo para utilizar o Luks:

# modprobe dm-crypt

E então vamos criptografar. Vou utilizar AES 512 para tal. Mas claro, fica a seu critério. Com intensão de não prolongar tanto, deixo com você para olhar as opções na *man pages* caso queira mudar:

# cryptsetup -c aes-xts-plain64 -y -s 512 luksFormat /dev/sda2

Depois de criptografado (note o luksFormat) vamos precisar abrir o disco para ser utilizado e preparado com o LVM para então formatá-los e todo o restante.

# cryptsetup luksOpen /dev/sda2 lvm

Vai estar disponível então em /dev/mapper/lvm.

Configurando LVM

Agora cabe a breve explicação que citei na seção sobre LVM. Ele trabalha com alguns conceitos interessantes, que são os PV (Physical Volume), VG (Volume Group) e LV (Logical Volume). Vamos entender melhor!

Você precisará dizer ao LVM qual dispositivo ele vai poder utilizar para fazer a abstração hardware-software. Esses são os PV, ou physical volume (volumes físicos). Vamos criando logo:

# pvcreate /dev/mapper/lvm

Perceba que é o endereço dito mais acima, onde o disco está disponível para uso após abri-lo com Luks.

O VG ou grupo de volumes (Volume Group) vai ser responsável por agrupar volumes físicos, deixando disponível para criação das partições maiores que o tamanho dos discos físicos:

# vgcreate main /dev/mapper/lvm

Dei o nome "main" ao grupo por convenção, mas como sempre alerto aqui, fica a teu critério.

LV ou volumes lógicos (Logical Volume) é, portanto, as partições lógicas criadas pelo LVM. Será nelas que as interações do kernel vão ocorrer e não mais diretamente no hardware. Esse é o trabalho do LVM.

Tudo que precisará ser decidido é o tamanho das partições que deseja ter. Eu fiz o seguinte esquema:

/      20G
swap   6G
/home  restante

Se vai seguir a mesma configuração, os comandos ficam assim:

# lvcreate -L 20GB -n root main
# lvcreate -L 8GB -n swap main
# lvcreate -l 100%FREE -n home main


Para ter melhor ideia dos wildcars disponíveis, veja a "man pages".

Formatação

Aqui já volta a ponto comum de qualquer instalação Arch. O que vai mudar é o endereço dos dispositivos:

# mkfs.ext4 /dev/mapper/main-root
# mkfs.ext4 /dev/mapper/main-home


E a criação da swap:

# mkswap /dev/mapper/main-swap

Montagem

Vamos então montar os discos para prosseguir com a instalação:

# mount /dev/mapper/main-root /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot
# mkdir /mnt/home
# mount /dev/mapper/main-home /mnt/home


Note bem como está organizado, com /, /boot e /home separados.

Instalação

Agora é instalar o sistema base:

# pacstrap /mnt base base-devel

O Grub, a primeira parte, claro:

# pacstrap /mnt grub-bios

E gerar o fstab para "automatizar" a montagem das partições:

# genfstab -p -U /mnt > /mnt/etc/fstab

Chroot

É o processo de mudar a raiz atual (do pendrive, CD, DVD, whatever) para a instalação recente. Basta fazer o seguinte:

# arch-chroot /mnt

Vale ressaltar que se após você fizer a instalação, precisar utilizar novamente o pendrive para fazer alguma modificação no sistema, os únicos passos que precisará seguir é abrir o volume com Luks, montá-lo e fazer o chroot.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação
   3. Configuração
Outros artigos deste autor

Copie/Cole conteúdo do terminal para o X e vice-versa

EditorConfig - Padronização de código para seus projetos

WeeChat - Um (O) cliente IRC CLI

A pós-instalação do Arch Linux

VirtualBox no Arch Linux

Leitura recomendada

Usando o cURL - Client URL

Servidor NIS/NFS

Cálculo dos preços de nossos serviços

Escrevendo em arquivos PDF

MS Coldplot

  
Comentários
[1] Comentário enviado por willian.firmino em 18/01/2016 - 09:50h

Como ficaria a configuração com dual boot com outra distro, no meu caso o Slackware, encontrei este artigo http://blog.darknedgy.net/technology/2014/07/27/1/ mas não sei como colocar isso tudo junto, eu gostaria de deixar o Slackware e o Arch com lvm+luks, e o grub do Arch gerenciando o boot.

[2] Comentário enviado por gjuniioor em 21/01/2016 - 10:05h


[1] Comentário enviado por willian.firmino em 18/01/2016 - 09:50h

Como ficaria a configuração com dual boot com outra distro, no meu caso o Slackware, encontrei este artigo http://blog.darknedgy.net/technology/2014/07/27/1/ mas não sei como colocar isso tudo junto, eu gostaria de deixar o Slackware e o Arch com lvm+luks, e o grub do Arch gerenciando o boot.


Bem, nunca fiz dual boot com lvm+luks, portanto, o que vou falar só segue a lógica teórica...

P.S.: Antes de seguir qualquer procedimento assim, sempre recomendado fazer backup de tudo o que precisar para não correr risco de mais aborrecimento.

Em teoria você poderia fazer assim:
sda1 - /boot
sda2 - / (arch)
sda3 - / (slack)
sda4 - /home
E no fstab configurar para utilizar a mesma partição /home em ambas as distro.
Como a tela do Grub aparece antes da parte para inserção da senha para abrir a partição, presumo que fazendo a configuração assim o Grub se responsabilizaria dessa parte.

Só lembrando novamente, isso em teoria. Se quiser se arriscar a fazer o teste chama no telegram com esse meu nick ai que a gente vai se falando para trocar figurinhas. Depois pode surgir um texto teu aqui :)

[3] Comentário enviado por r_carreiro em 24/01/2016 - 19:10h

Wow!!!
Muito bom o artigo cara, parabéns!

[4] Comentário enviado por Alexandreaf em 09/02/2016 - 12:41h

Gjuniioor,

Olá, por gentileza, poderia esclarecer essa minha dúvida?

Você criou /dev/sda2 com o flag "Linux LVM", código 8e.

Isso é um volume físico (physical volume)?

Ao executar

cryptsetup -c aes-xts-plain64 -y -s 512 luksFormat /dev/sda2

O que você está criptografando? Ou seja, tudo que estiver sobre ele "volume group", "logical volumes" e "file systems" estarão criptografados. É isso mesmo? Pode confirmar?

https://img.vivaolinux.com.br/imagens/dicas/comunidade/Captura-de-tela-de-2013-05-02-21:28:05.png
https://www.vivaolinux.com.br/dica/LVM-Logical-Volume-Manager

Ou seja, / , /home, swap...? Como poderia conferir se estão de fato criptografados?

Minha preocupação é a seguinte, quero que, com exceção do /boot, esteja criptografado, inclusivo e sem falta, a partição swap.

Obrigado.

[5] Comentário enviado por gjuniioor em 09/02/2016 - 22:53h

[4] Comentário enviado por Alexandreaf em 09/02/2016 - 12:41h

Gjuniioor,

Olá, por gentileza, poderia esclarecer essa minha dúvida?

Você criou /dev/sda2 com o flag "Linux LVM", código 8e.

Isso é um volume físico (physical volume)?


Na verdade, isso é uma partição do disco. E para poder utilizar essa partição com LVM utilizei a flag determinado pelo código 8e (Linux LVM).

[4] Comentário enviado por Alexandreaf em 09/02/2016 - 12:41h

Ao executar

cryptsetup -c aes-xts-plain64 -y -s 512 luksFormat /dev/sda2

O que você está criptografando? Ou seja, tudo que estiver sobre ele "volume group", "logical volumes" e "file systems" estarão criptografados. É isso mesmo? Pode confirmar?


Quase isso. Na verdade, todo o conteúdo da partição /dev/sda2 estará criptografado. Depois disso que abro essa partição com Luks+LVM:

# cryptsetup luksOpen /dev/sda2 lvm

E então posso criar o volume físico, grupo e o lógico.

[4] Comentário enviado por Alexandreaf em 09/02/2016 - 12:41h
Ou seja, / , /home, swap...? Como poderia conferir se estão de fato criptografados?


Você pode tentar montar a partição /dev/sda2 para ver no que dá :)
Faz o seguinte teste: Roda a máquina com um liveUSB e tenta acessar a partição. Claro, sem abrí-la e montá-la com luks+lvm.

[4] Comentário enviado por Alexandreaf em 09/02/2016 - 12:41h
Minha preocupação é a seguinte, quero que, com exceção do /boot, esteja criptografado, inclusivo e sem falta, a partição swap.

Obrigado.


Então é só seguir as configurações que tem ai, adaptando, claro, com os valores que desejar. Pois fiz dessa mesma forma. Com exeção do /boot, todo o disco está criptografado.

Disponha ^-^

[6] Comentário enviado por Alexandreaf em 10/02/2016 - 11:18h

Obrigado. :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts