Notes sur install RAID + LVM + FDE
- deux disques à taille identique
- virer les partitions, par exemple avec cette commande :
dd if=/dev/zero of=/dev/sd[ab] bs=16M
- choisir partionnement manuel des disques
- créer deux partitions de 254,8 Mo (/dev/sd[ab]1) : elles contiendront chacune une copie de
/boot
, mais il faut pour le moment spécifier qu'elles ne doivent pas être utilisées (c'est le périphérique RAID qui sera monté dans/boot
) - créer deux partitions du reste de la taile des disques (/dev/sd[ab]2) : comme les précédentes, spécifier qu'elles n'ont pas de point de montage
- choisir configurer le RAID et créer deux partitions RAID, de type RAID1 :
- md0 contenant /dev/sda1 et /dev/sdb1
- md1 contenant /dev/sda2 et /dev/sdb2
- là on a donc deux partitions /dev/md0 et /dev/md1, de respectivement 250 Mo et 80 Go (ou davantage si les disques sont plus gros)
- spécifier à l'installeur que /dev/md0 est en ext2, monté sur
/boot
- choisir configurer le chiffrement des disques, créer un volume chiffré sur
/dev/md1
(et pas sur/dev/md0
!) - choisir configurer le LVM, puis ajouter un groupe de volume et y mettre le device
/dev/mapper/md1_crypt
(c'est la plus grosse partition dans le choix qui est donné) - continuer à configurer le LVM, ajouter deux volumes logiques dans le nouveau groupe de volume : l'un utilisé en swap et l'autre en ext4, sur le point de montage
/
- normalement, c'est bon ! lors de la finalisation de l'installation, l'installeur a bien fait grub-install sur /dev/sda. Il manque à le faire à la main sur /dev/sdb… Et à chaque fois qu'il y a une mise à jour de noyau.
En cas de redémarrage de la machine, il faut pouvoir entrer le mot de passe de déchiffrement à distance, via SSH. Pour cela, il est possible de mettre dropbear dans le initramfs et se conncter pour entrer le mot de passe.
Depuis le système :
aptitude install dropbear
Éditer /etc/initramfs-tools/root/.ssh/authorized_keys
. Y ajouter une (ou plusieurs) clés SSH précédées d'une commande forcée, comme ci dessous :
command="cat - >/lib/cryptsetup/passfifo" ssh-rsa AAAAB3NzaC1yc...
Sauvegarder. Éditer /etc/initramfs-tools/initramfs.conf
, y ajouter une ligne de cette forme :
IP=<local_IP>::<gw_IP>:<netmask>:<hostname>:<network_interface>:off
Enfin, s'assurer que le initramfs charge bien le pilote réseau nécessaire, avec la commande suivante (remplacer <interface>
par l'interface connectée à internet).
grep DRIVER= /sys/class/net/<interface>/device/uevent | cut -d= -f2 >>/etc/initramfs-tools/modules
Reconstruire l'initramfs :
update-initramfs -u
Enfin, il faut forcer l'éteignage de l'interface réseau allumée par le initramfs avant son réactivage par le système principal. Ajouter ceci dans la spécification de l'interface, dans le /etc/network/interfaces
:
pre-up ip a flush dev <interface>
Voilà ! Pour débloquer la partition chiffrée lors d'un redémarrage, le script suivant fera l'affaire, appelé en passant le nom d'hôte ou l'IP de la machine en paramètre :
#!/bin/bash read -r -p "Passphrase: " -s pw echo -n "$pw" | ssh -o UserKnownHostsFile=~/.ssh/known_hosts.initramfs "root@$1"
Si la machine est sur une connexion PPP (typiquement un lien xDSL où la machine est directement branchée sur le modem qui ne fait que modem et non modem-routeur), vous trouverez ici des indication pour permettre le montage d'une session PPP depuis l'initramfs.