Installation debian luks via debootstrap
Voici comment installer une Debian Stretch sur un support interne ou externe chiffré avec cryptsetup.
ATTENTION
faire une doc sur la création d'un ESP.Préparation du disque
Installation de l'outil de chiffrement de disque
apt install cryptsetup
Chiffrement de la partition
cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sdb2
Ouverture de la partition
cryptsetup luksOpen /dev/sdb2 debsecu
Formatage de la sous partition (testé également avec btrfs)
mkfs.ext4 /dev/mapper/debsecu
Installation du système Debian
Installation du système
Montage de la partition formaté dans l'étape précédente
mount /dev/mapper/debsecu /mnt
Installation du système de base
debootstrap --arch amd64 stretch /mnt http://ftp.fr.debian.org/debian
Configuration du système
Entrer dans le système
chroot /mnt
[chroot] Monter les ressources nécessaires pour les installations
mount none -t proc /proc mount none -t sysfs /sys mount none -t devpts /dev/pts
[chroot] Définition du répertoire utilisateur root
export HOME=/root
[chroot] Changement temporaire du prompt (un accident est vite arrivé en confondant le prompt du chroot avec celui du root de l'hôte, le changer évite les sueurs froides)
export PS1="\e[01;31m(live):\W \$ \e[00m"
[chroot] Mise à jour des paquets
apt update
apt install dialog dbus dbus-uuidgen > /var/lib/dbus/machine-id
[chroot] Installation du noyau
apt install linux-image-amd64
[chroot] Définition du mot de passe root passwd [chroot] Ajout d'un utilisateur adduser toto [chroot] Changement du fuseau horaire
dpkg-reconfigure tzdata
[chroot] Installer le système en Français
apt install locales dpkg-reconfigure locales
INFORMATION
Cocher fr_FR.UTF-8 UTF-8 et séléctionner fr_FR.UTF-8 sur l'écran suivant.apt install console-data
INFORMATION
Dans Choisir un codage clavier dans la liste complète, sélectionner pc / azerty / French / Same as X11 (latin9) / Standard.apt install keyboard-configuration console-setup
INFORMATION
Pour keyboard-configuration, séléctionner Français - Français (variante obsolète).Le contenu de /etc/default/keyboard
doit être le suivant :
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="fr"
XKBVARIANT="latin9"
XKBOPTIONS=""
BACKSPACE="guess"
Le contenu de /etc/default/console-setup
doit être le suivant :
# CONFIGURATION FILE FOR SETUPCON
# Consult the console-setup(5) manual page.
ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
CODESET="Lat15"
FONTFACE="Fixed"
FONTSIZE="8x16"
VIDEOMODE=
# The following is an example how to use a braille font
# FONT='lat9w-08.psf.gz brl-8x8.psf'
Configuration de l'initrd
[chroot] Installation de l'outil de chiffrement de disque
apt install cryptsetup
[chroot] Supprimer le fichier de montage des partitions chiffré (il gène la compilation de l'initrd)
rm /etc/crypttab
[chroot] Créer le fichier suivant contenant les information de votre partition chiffré :
echo 'CRYPTOPTS=target=debsecu,source=/dev/disk/by-uuid/<UUID de la partition chiffrée>' > /etc/initramfs-tools/conf.d/cryptroot
INFORMATION
On comprend avec cette ligne que la référence du disque / est codé en dur dans l'initrd, ce n'est pas le cas de Archlinux qui récupère cette information du chargeur d'amorçage. On comprend donc que Debian est moins portable que ce dernier car l'initrd doit être recompilé à chaque changement de disque chiffré.[chroot] Activation du module
echo -e 'aes-x86_64\nsha512-ssse3\nxts\ndm-mod\ndm-crypt' >> etc/initramfs-tools/modules
[chroot] Forcer l'utilisation de cryptsetup au démarrage
echo 'CRYPTSETUP=y' >> /etc/cryptsetup-initramfs/conf-hook
[chroot] Mise à jour de l'inird
update-initramfs -u
[chroot] Nettoyage du système
apt-get clean rm -rf /tmp/* rm /var/lib/dbus/machine-id
[chroot] Démontage des systèmes de fichier spéciaux montés
umount /proc /sys /dev/pts
[chroot] Suppression de l'historique bash
history -c
Quitter le système
<ctrl+d>
Copie des fichiers de démarrage dans l'ESP
Copie de l'initrd et du noyau dans l'ESP
mount /dev/sdb1 /media cp /mnt/boot/initrd.img-4.9.0-2-amd64 /media/initrd-debsecu cp /mnt/boot/vmlinuz-4.9.0-2-amd64 /media/vmlinuz-debsecu
Installation du chargeur d'amorçage
Pour le moment cette section est vide. Une rustine pour ne pas être bloqué en attendant sa rédaction est de se référer au même passage sur l'installation d'Archlinux sur UEFI 64bits.
Systemd-boot
Syslinux
EFI STUB
Finalisation
Démontage de la partition
umount /mnt
Fermeture de la partition chiffrée
cryptsetup luksClose debsecu