Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[LUKS] Montage au boot de deux disques distincts.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
lmarcini
Guru
Guru


Joined: 21 Jul 2004
Posts: 531
Location: Champagne sur Seine (France)

PostPosted: Mon Jul 22, 2013 1:18 pm    Post subject: [LUKS] Montage au boot de deux disques distincts. Reply with quote

Bonjour,

Je viens de terminer une installation en ~amd64 sur mon nouveau laptop, en full GPT/EFI sans grub.
Sur cette machine, j'ai deux disques : un sda SSD de 256Go et un sdb classique de 1To.

Les deux disques sont chiffrés (avec le même mot de passe) et l'amorçage s'effectue correctement après demande du mot de passe sur le premier disque. Les paramètres de boot sont passés en dur dans le noyau (EFI boot stub oblige), celui étant généré via genkernel. Pour l'instant, je monte à la main via un "dmcrypt luskOpen" le second disque.

Je cherche donc monter et dévérouiller les deux disques en même temps, au boot. Avec, cerise sur le gâteux, une seul saisie de mot de passe.

Merci d'avance !
_________________
umount /dev/brain
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3141

PostPosted: Mon Jul 22, 2013 1:58 pm    Post subject: Reply with quote

'alute

Au préalable, je signale que je passerai sur les spécificités UEFI/GPT que je ne maitrise pas un brin et supposerai que tu as un initramfs avec tout ce qui va bien (vu que tu bootes une racine qui doit être le ssd... j'ai bon ?), et présupposerai aussi que tu as pris l'option keyfile "simple" sur le disque (càd pas de signature gpg ni de support média externe) et qu'il n'y a pas de lvm sousjacent...

Normalement en cas "simple", l'init script dmcrypt le fait sans trop sourciller d'habitude (quoique j'ai toujours maille à partir avec gnupg sur un laptop mais c'est un cas plus trappu :lol: ) donc là, où se situe le problème à l'heure actuelle ? (oui... je me doute bien que si tu postes c'est que tu dois tourner en rond avec depuis un moment a essayer différentes combinaisons :wink: )

Qu'as-tu comme config pour tes disques i.e. un truc dans ce goût-là ?
Code:
## SSD (/)
target=vg_crypt_root
source='/dev/sdax'
options='--cipher <yours>'
key='/full/path/to/rootkey'

## HDD (/home)
target=vg_crypt_home
source='/dev/sdbx'
options='--cipher <yours>'
key='/full/path/to/homekey'


Edit: Pardon... suis parti plein champ et j'ai loupé le cas de base pourtant écrit en clair :oops: : alors, je ne crois pas que tu puisses te passer d'une seconde saisie dans ce cas-là (que tu utilises l'initscript cryptsetup ou que tu passes par local.start voire le fstab directement)
A mon sens tu dois nécessairement stocker ta clé qqpart d'où l'option "keyfile" (btw, c'est un laptop avec TPM p.e. ?)
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "
Back to top
View user's profile Send private message
lmarcini
Guru
Guru


Joined: 21 Jul 2004
Posts: 531
Location: Champagne sur Seine (France)

PostPosted: Mon Jul 22, 2013 2:28 pm    Post subject: Reply with quote

Merci Boozo pour ta réponse rapide.

Voici l'historique de la construction de mes volumes :
Code:
#partitionnement
sgdisk -og /dev/sda
sgdisk -n 1::+512M -t 1:ef02 -c 1:"EFI boot" /dev/sda
sgdisk -n 2 -t 2:8e00 -c 2:"System encrypted" /dev/sda

#chiffrement
cryptsetup -c aes-xts-plain -s 512 luksFormat /dev/sda2
cryptsetup luksOpen /dev/sda3 crypto
Création des volumes LVM

#lvm
pvcreate /dev/mapper/crypto
vgcreate crypto /dev/mapper/crypto
lvcreate -L 16G -n swap crypto
lvcreate -L 30G -n root crypto
lvcreate -L 10G -n portage crypto
lvcreate -l 100%FREE -n home crypto


Le chiffrage est de type "password based auth" et le fichier /etc/default/dmcrypt est entièrement commenté.

Quant aux paramètres de boot ajoutés au kernel (Processor type and features -> Built-in kernel command string), il s'agit de :
Code:
dolvm crypt_root=/dev/sda2 real_root=/dev/mapper/crypto-root root=/dev/mapper/crypto-root rootfstype=ext4 quiet


Le second disque est chiffré de la même façon.
_________________
umount /dev/brain
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3141

PostPosted: Mon Jul 22, 2013 2:59 pm    Post subject: Reply with quote

Ok bon j'ai tout faux ou presque :lol:

Donc si je te suis : tu as fait un "gros conteneur" Luks sur ton ssd pour héberger tes vm racine et /home séparés et c'est ton init script depuis l'initramfs qui gère le tout. Mais pourquoi le /etc/conf.d/dmcrypt n'est-il pas mis en oeuvre ?

De afit le sdbx intervient qd dans ta séquence et comment le montes-tu (local.start, fstab, ..) ?
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "


Last edited by boozo on Mon Jul 22, 2013 4:01 pm; edited 1 time in total
Back to top
View user's profile Send private message
lmarcini
Guru
Guru


Joined: 21 Jul 2004
Posts: 531
Location: Champagne sur Seine (France)

PostPosted: Mon Jul 22, 2013 3:40 pm    Post subject: Reply with quote

Oui, C'est exactement cela. Je pense que le conf.d/dmcrypt n'est pas nécessaire vu que genkernel fonctionne avec l'option luks activée.

Sinon, je ne monte pas le sdb automatiquement. Je le monte quand j'en ai besoin avec un cryptesup luksOpen. L'install de la machine est très fraîche...
_________________
umount /dev/brain
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3141

PostPosted: Mon Jul 22, 2013 4:00 pm    Post subject: Reply with quote

Oui ok mais unefois que ton initramfs a passé la main pour :
1° mapping
2° délocker le conteneur Luks
3° montage des volumes lvm
4° la montage de la racine, et du reste
le reste de tes services ils sont lancés classiquement si je ne m'abuse non ? si tu veux faire un montage de disque ensuite il faut bien mettre cette action quelque part si tu veux que ce soit automatique d'où ma question (ou alors j'ai encore raté qqch)

Btw, une fois encore si tu ne veux pas avoir à ressaisir de passwd pour le second disque ben... je ne vois guère que passer via un keyfile pour celà (quitte a ajouter cette nouvelle clé pour conserver le mode passwd autentifié si besoin)

Edit: En fait à la relecture du premier post, je ne suis pas sûr de bien compendre le besoin "montage des 2 disques au boot" : tu veux dire les gérer _tous les 2_ durant la séquence réalisée par l'initramfs ?
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "


Last edited by boozo on Mon Jul 22, 2013 4:08 pm; edited 1 time in total
Back to top
View user's profile Send private message
lmarcini
Guru
Guru


Joined: 21 Jul 2004
Posts: 531
Location: Champagne sur Seine (France)

PostPosted: Mon Jul 22, 2013 4:08 pm    Post subject: Reply with quote

Ça se passe exactement comme cela.
Ma question initiale concerne en fait la possibilité de :
2) délocker sda ET sdb (hypothèse pessimiste = 2 saisies de password)
3) monter les volumes LVM des deux disques.
Pour le 4) tout roule...
_________________
umount /dev/brain
Back to top
View user's profile Send private message
lmarcini
Guru
Guru


Joined: 21 Jul 2004
Posts: 531
Location: Champagne sur Seine (France)

PostPosted: Mon Jul 22, 2013 4:15 pm    Post subject: Reply with quote

boozo wrote:

Edit: En fait à la relecture du premier post, je ne suis pas sûr de bien compendre le besoin "montage des 2 disques au boot" : tu veux dire les gérer _tous les 2_ durant la séquence réalisée par l'initramfs ?

Oui, c'est "les gérer _tous les 2_ durant la séquence réalisée par l'initramfs" !
_________________
umount /dev/brain
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3141

PostPosted: Mon Jul 22, 2013 4:18 pm    Post subject: Reply with quote

lmarcini wrote:
Ça se passe exactement comme cela.
Ma question initiale concerne en fait la possibilité de :
2) délocker sda ET sdb (hypothèse pessimiste = 2 saisies de password)
3) monter les volumes LVM des deux disques.
Pour le 4) tout roule...

J'avais édité mon post entre-temps donc en effet c'est l'init script (de l'initramfs) qu'il faut modifier mais en revanche je fait çà à la mano et ne l'ai jamais fait via genkernel - j'ai pas cherché mais ce doit être possible d'éditer/paraméter avec lui aussi -
Cependant dans tous les cas, délocker les 2 disques en une seule fois en mode saisie passwd depuis stdin c'est pas possible à ma connaissance car chaque commande cryptsetup le réclamera ; d'où ma propal d'essayer d'ajouter une clé de plus en mode keyfile pour le second disque i.e. => 1ère cmd cryptsetup == passwd ; la 2nd en keyfile

Edit
: quoique en étant tordu et en passant par un "# tee" ?... sait pas je dis peut-être une co******, faut voir...
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "


Last edited by boozo on Mon Jul 22, 2013 4:21 pm; edited 1 time in total
Back to top
View user's profile Send private message
lmarcini
Guru
Guru


Joined: 21 Jul 2004
Posts: 531
Location: Champagne sur Seine (France)

PostPosted: Mon Jul 22, 2013 4:20 pm    Post subject: Reply with quote

Merci Boozo. Je vais creuser ces pistes...
_________________
umount /dev/brain
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3141

PostPosted: Mon Jul 22, 2013 4:41 pm    Post subject: Reply with quote

bah j'ai rien fait sur le fond :oops: mais ton retour m'intéresse (et l'en parle même pas si tu passes ensuite en signature gpg sur usb :mrgreen: )

Je vais voir ce que je trouve côté genkernel mais il doit y avoir un script du genre ci-dessous que tu pourras éditer puis uen option pour re-générer l'initramfs via genkernel
Code:
#!/bin/busybox sh
#
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devtmpfs none /dev

# Do cryptsetup stuff
# i.e.
cryptsetup luksOpen /dev/sdax <name> &&
cryptsetup --key-file <point_de_montage/sdbx_key> luksOpen /dev/sdbx <name> # && ...

# Do LVM stuff

# Do other things i.e.
#mount -t <fs> -o <options> /dev/mapper/root <name>
 
umount /{proc,sys,dev,...}
 
exec switch_root blahblah

_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum