Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

[Install Ubuntu 17.10.1] Chiffrage Total


#1

j’ai installe la nouvelle ubuntu 17.10.1 en attendant la LTS sur cet ordinateur :

Portable avec i7-3630QM 4 coeurs (8 threads) 2.40 ghz a 3.40 ghz max, Technologie Intel Turbo Boost, Technologie de virtualisation Intel (VT-x), Intel 64, AVX, carte graphique amd integre, ssd de 256 go, disque dur remplacant le lecteur dvd de 2to, 16 go de memoire…

j’en ai profite pour appliquer le chiffrage total du systeme SSD et disque dur, meme le /boot est chiffre, une vrai boite noir, impossible d’y acceder sans le mot de passe… c’est totallement securise et etonnamment rapide et reactif malgre le chiffrage…

Informations :

  • Creation d’un conteneur chiffre LUKS…
  • Utilisation de LVM pour joindre l’ensemble dans un seul volume global. le SSD a ete dedie a ROOT (systeme, boot et swap…), le disque dur a HOME… seul inconvenient a LVM, si un disque est HS, toutes les donnees seront perdues d’ou l’importance des BACKUPS…
  • Pour eviter de taper deux fois le mot de passe, la creation d’un fichier cle permet a GRUB de l’utiliser automatiquement pour le dechiffrage (affichage du message suivant lors du lancement d’ubuntu : cryptsetup: xxxx-crypt set up successufully)…

Le tuto ci-dessous est uniquement adapte a un ordinateur vierge de tous systemes d’exploitations avec deux disques durs, vous ne devez en aucun cas essayer de l’appliquer sur un autre systeme avec windows ou linux sous peine de perdre toutes vos donnees, certaines commandes utilisees sont extremement dangereuses comme parted par exemple… vous voila prevenu…

Honnetement, j’ai cree ce tuto pour mon usage personnel comme aide memoire au cas ou j’aurais a reinstaller linux… la disponibilitee dans un forum est un plus… si ca peut etre utile a d’autres, c’est tres bien… les utilisateurs avances pourront surement l’adapter a leurs besoins…

Note : je me suis refere a de nombreux tutos sur le net pour rediger ce tuto…

Conseil : S’exercer sur une vm avec vmplayer ou virtualbox

Voici le tuto :

— DEBUT —

Tout d’abord, lancer ubuntu et choisir l’option ‘Tester Ubuntu’

Lancez le Terminal…

Initialisation Disque sda :
sudo parted -s /dev/sda mklabel msdos
sudo parted -s /dev/sda mkpart primary 2048s 100%
Initialisation Disque sdb :
sudo parted -s /dev/sdb mklabel msdos
sudo parted -s /dev/sdb mkpart primary 2048s 100%

Chiffrement :
sudo cryptsetup -c aes-xts-plain64 -y --hash sha512 --use-random luksFormat /dev/sda1
Confirmer par YES (majuscule). avant de tapez le mot de passe, je conseille de basculer le clavier en mode Qwerty (en cliquant sur l’icone langue dans la barre de tache) sinon votre mot de passe ne sera pas reconnu au reboot, c’est ce que j’ai fait systematiquement… cela dit, cryptsetup peut accepter plusieurs mot de passe en utilisant la commande cryptsetup luksAddKey (exemple : sudo cryptsetup luksAddKey /dev/sda1)…

Ouverture du container luks :
sudo cryptsetup luksOpen /dev/sda1 sda1-crypt

Creation de deux volumes :

sudo pvcreate /dev/mapper/sda1-crypt
sudo vgcreate vg /dev/mapper/sda1-crypt
sudo lvcreate -l +100%FREE vg --name root
sudo mkfs.ext4 /dev/vg/root

Ajout disque dur sdb :
sudo pvcreate /dev/sdb1
Etendre vg avec sdb :
sudo vgextend vg /dev/sdb1

Verifier :
sudo vgdisplay /dev/vg

sudo lvcreate -l +100%FREE vg --name home
sudo mkfs.ext4 /dev/vg/home
Facultatif :
sudo resize2fs /dev/vg/home

On lance l’installateur d’ubuntu, on selectionne l’option ‘Autre chose’, on definit vg-root et vg-home avec les point de montage qu’il faut (/ et /home)… creer un utilisateur avec un autre mot de passe pour la gestion du systeme (attention, doit etre different de celui qui est definit pour le chiffrage), on termine et a la fin, il y’aura un message d’erreur en rapport avec grub, ne pas s’en preoccuper pour l’instant (cliquer sur l’option ‘continuer sans chargeur d’amorcage’, ensuite cliquer sur ‘continuer a tester’ (surtout, ne pas redemarrer)…

Reactiver le Terminal…

Montage des partitions et CHROOT :

sudo mount /dev/mapper/vg-root /mnt
sudo mount --bind /dev /mnt/dev
sudo mount -t proc /proc /mnt/proc
sudo mount --bind /run /mnt/run
sudo mount -t sysfs /sys /mnt/sys


sudo chroot /mnt /bin/bash

facultatif :
sudo apt update
sudo apt install grub2

Il faut normallement taper le mot de passe de dechiffrement deux fois, avec grub et une fois le systeme lance… on peut eviter cela en creant un fichier cle…

Creation du fichier cle :
dd bs=512 count=4 if=/dev/urandom of=/crypto_keyfile.bin

Ajout du fichier cle a cryptsetup (basculer en Qwerty pour le mot de passe) :
cryptsetup luksAddKey /dev/sda1 /crypto_keyfile.bin

On securise la cle :
chmod 000 /crypto_keyfile.bin
On securise /boot :
chmod -R g-rwx,o-rwx /boot

On modifie :
nano /etc/initramfs-tools/hooks/crypto_keyfile
Ajouter la ligne :
cp /crypto_keyfile.bin "${DESTDIR}"
enregistrer et fermer.

On securise :
chmod +x /etc/initramfs-tools/hooks/crypto_keyfile

Determiner l’identifiant (UUID) de la partition sur laquelle est installe Ubuntu :
blkid

On fait un copier de ce qu’il y’a entre /dev/sda1 et TYPE="crypto_LUKS"
Exemple UUID=“xxx-xxx-xxx-xxx”

On lance :
nano /etc/crypttab

taper sda1-crypt
coller L’UUID sans les guillemets (par exemple UUID=xxx-xxx-xxx-xxx)
ensuite taper /crypto_keyfile.bin luks,keyscript=/bin/cat

cela devrait donner :
sda1-crypt UUID=xxx-xxx-xxx-xxx /crypto_keyfile.bin luks,keyscript=/bin/cat
enregistrer et fermer.

Lancer :
update-initramfs -u

Modifier GRUB :
nano /etc/default/grub

Par defaut :
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash"
GRUB_CMDLINE_LINUX=”"

Commenter la ligne GRUB_HIDDEN_TIMEOUT=0 (mettre un # en tête de ligne)
Ajouter la commande : GRUB_ENABLE_CRYPTODISK=y
Ajouter la commande : GRUB_CMDLINE_LINUX=“cryptdevice=/dev/sda1:sda1-crypt”

Modifie :
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_ENABLE_CRYPTODISK=y
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=“cryptdevice=/dev/sda1:sda1-crypt”

enregistrer et fermer.

Installer grub :
grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sda

Verifier :
grub-install --recheck /dev/sda
update-grub

On sort du CHROOT :
exit
Ensuite :
sudo umount -R /mnt

Rebooter le systeme :
sudo reboot

— FIN —


Test [Fedora 26 x64 xfce]
Test [Qubes OS]
Test [Linux ArchLinux 64 avec Arch Anywhere]
#2

MAJ : j’ai reinstalle kde neon sur un nouvel ordinateur portable recent avec un ssd M2 (sdb) et j’ai ete confronte a un message d’erreur apres avoir lance :

grub-install /dev/sdb

Installing for x86_64-efi platform
grub-install: error: cannot find EFI directory

Il semblerait que par defaut, grub-install se refere a target x86_64-efi (a noter que ca fonctionnait sur des ordinateurs moins recents…) en cas d’erreur, il faut plutot taper cette commande :

grub-install --target=i386-pc --recheck /dev/sdb

uniquement valable pour Legacy BIOS. j’ai perso desactive tout ce qui se refere a UEFI dans le bios…

a titre d’informations.