Cryptage du disque de demarrage

Bonjour,

Existe t-il une possibilité de cryptage totale du système aprés installation ?

Ma configuration actuelle est la suivante :

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc1fb3aee

Device Boot Start End Blocks Id System
/dev/sda1 * 1 60471 485733276 fd Linux raid autodetect
/dev/sda2 60472 60801 2650725 5 Extended
/dev/sda5 60472 60801 2650693+ fd Linux raid autodetect

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x52578ff2

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 60471 485733276 fd Linux raid autodetect
/dev/sdb2 60472 60801 2650725 5 Extended
/dev/sdb5 60472 60801 2650693+ fd Linux raid autodetect

Disk /dev/md0: 497.3 GB, 497390780416 bytes
2 heads, 4 sectors/track, 121433296 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn’t contain a valid partition table

Disk /dev/md1: 2714 MB, 2714238976 bytes
2 heads, 4 sectors/track, 662656 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0xaaaaaaaa

Disk /dev/md1 doesn’t contain a valid partition table


md0 est ma partition de démarrage (sda1 + sdb1)
md1 est ma partition de swap (sda5 + sdb5)

D’avance merci.

Après installation je ne pense pas, pour un chiffrage total il faut utiliser [☛luks] avec [☛cryptsetup], et encore il faudra toujours que le noyau et son ramdisk ne soient pas chiffrés pour que grub les trouves, donc il faudra un /boot non chiffré (et le bout de grub dans le mbr ne sera pas chiffré non plus :stuck_out_tongue: ).

Avec luks le chiffrement est en dessous du système de fichier. Tout comme tu peux avoir un volume logique dans un LVM sur un raid, tu as un volume logique dans un LVM sur un volume chiffré avec luks (sur un raid si tu veux aussi :wink: ) .

disque dur → partition dos → [ volume raid → ] volume luks → [ volume logique → ] système de fichier

J’utilise luks et ça marche bien.

Il est possible de chiffrer des répertoires après installation avec [☛ecryptfs], mais ce n’est donc pas tout le système qui est chiffré, seulement une petite partie.
Avec ecryptfs le chiffrement est au dessus de la couche du système de fichier, chaque fichier est chiffré. Il faut donc une interface utilisateur qui permette de naviguer dans les fichiers de manière transparente, la solution choisie est d’avoir un montage qui affiche les mêmes données non chiffrées.

disque dur → partition dos → [ volume raid → volume logique ] → système de fichier → fichier chiffré

Je n’ai jamais utilisé ecryptfs, je ne peux pas te faire part de mon expérience à son sujet, je crois que c’est moins performant que luks.

Utiliser LVM te permet de placer ton partitionnement au dessus de la couche raid et au dessus de la couche de chiffrement. Ainsi tu peux avoir une foultitude de volumes logiques qui seront tous déchiffrés en même temps en déchiffrant le LVM qui les contient. En mettant ton swap dans ton LVM tu le chiffre aussi.

Je suppose que si tu as deux raids différenciés pour / et pour le swap, c’est que ton / est sur un raid1 et ton swap sur un raid0 ? Dans ce cas là tu peux chiffrer ton swap en modifiant ton fstab.

Cependant, la clé sera aléatoire, donc à mon avis il faut mettre une croix sur l’hibernation puisque l’hibernation copie la ram en swap pour la restaurer au démarrage.

Avec une partition swap dans un volume luks, l’hibernation fonctionne aussi, en toute sécurité.

Quoi qu’il arrive, se souvenir que puisque le chargeur de démarrage, le noyau et son ramdisk ne sont pas chiffrés, de toute manière le chiffrement empêchera seulement les actions de celui qui te vole ton disque mais ne te le rend pas. Si quelqu’un a accès à ton disque, peut le trifouiller et te le rendre, il peut tout à fait te glisser un keylogger dans ton grub, ton noyau ou [☛plus simplement dans le ramdisk] (peut-être le bios aussi, mais y a plus simple) ! La seule manière d’éviter cela est de signer ces binaires non chiffrables et de vérifier la signature au démarrage avec un puce [☛TPM], ça commence à devenir bourrin. En cas de pépin la procédure de récupération devient alors plus complexe, il ne suffit pas de booter sur une quelconque machine avec un liveCD et de déchiffrer ses partitions, on peut devenir dépendant d’une machine qui devient irremplacable, ce sont les mêmes inconvénients que les chiffrements matériels.

IBM présente comment utiliser [☛TPM dans la procédure de chiffrement] (avec tout plein d’autres pages intéressantes, avec ecryptfs aussi), mais pour signer avec TPM c’est plus dur à trouver, j’ai déjà eu des papelards dans la main mais sur le net ce n’est pas très bavard à ce sujet.

Si tu veux chiffrer après installation, utilise ecryptfs, mais tu ne peux pas chiffrer tes fichiers systèmes avec. Si tu veux aussi chiffrer tes fichiers systèmes, il te faut déplacer le chiffrement au dessous de la couche du système de fichier, donc réinstaller (et utiliser luks).

Bonjour,

Merci pour cette réponse plus que complète; je vais creusé le sujet.

C’est vrai avec GRUB mais pas avec GRUB2 car GRUB2 est capable de charger un module avant le noyau. Donc il suffit de préciser dans la configuration de GRUB2 qu’on souhaite charger le module “LVM” et le module du chiffrement “luks” (ou n’importe quel autre) et on est en mesure d’accéder à un “/boot” chiffré.

Par contre on ne pourra bien évidemment pas chiffrer le MBR… Dans ce cas il faut soit utiliser une puce TPM comme l’a précisé illwieckz, soit faire en sorte que le MBR se trouve par exemple sur une clé USB chiffrée matériellement. Mais bon ça revient à utiliser une puce TPM au final.

Pour ce qui est de chiffrer un système déjà installé, c’est bien évidemment faisable techniquement parlant, mais ça doit être tellement complexe que je te conseille de tout formater et de réinstaller Debian de manière chiffrée. Enfin je dis ça mais je n’ai pas encore chiffré mon système, donc c’est peut être plus simple que ce que je pense.