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: 15.567 ]

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

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

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

Como contribuir para projetos abertos no GitHub

WeeChat - Um (O) cliente IRC CLI

VirtualBox no Arch Linux

Leitura recomendada

Abrindo um servidor X dentro de outro

Pós-instalação do Fedora 13 (F13) no Acer Aspire One (AA1)

Instalando Redmine 2.x no Debian Wheezy com Apache Passenger

Impressione seus amigos mudando as músicas no seu computador pelo celular

FreeIPA - uma solução integrada de identidade e autenticação para ambientes de rede Linux/UNIX

  
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