# [Disque SSD] partitionnement, optimisation et chiffrement

## Slashounet

Bonjour,

J'ai acheté un SSD pour remplacer le disque de mon ordinateur portable. J'aimerais queslaues conseils conernant la préparation, l'optimisation et le chiffrement étant donné que j'ai l'impression d're passé à côté de quelque chose : j'ai actuellement une disque partitionné avec une Gentoo opérationnelle, rien n'est chiffré et je ne suis pas certain que tout soit bien aligné, etc.

J'ai lu pas mal de docs (parfois contradictoires) sur la taille des blocs et l'alignement des partitions, et je me demandais comment s'assurer que les partitions sont bien alignées et quelle est la taille des blocs qu'il faut privilégier. Concernant le sblosc, j'imagine que pour le schanger, ça ne peut pas se faire sans perte des données. J'ai lu quelque part qu'il fallait faire une commande du type :

```
fdisk -lu /dev/sda
```

Puis diviser les blocs de départ et tailles par 2048 (ailleurs c'est 4096, ça dépend de quoi exactement ?) et voir si ça tombe rond. Manque de bol, j'ai une partition pour laquelle le résultat de la division n'est pas entier, ce qui me laisse penser que mes partitions ne sont pas bien alignées. Si ce n'est pas le cas, est-il possible de les aligner sans préparer à nouveau tout le disque et donc perdre les données ? (surtout le perdre le temps passé en fait)

Un deuxième aspect est lié aux choix pour le partitionnement et le chiffrement : j'ai fait des partitions "classiques" (/boot en ext2, /, /home en ext4 et /var/portage/tmp en tmpfs) sans LVM, disons ce que je sais et ai l'habitude de faire. Seulement, je souhaite chiffrer mon système et mon home et je me demande si c'est un bon choix. Donc, plusieurs questions :

1. le chiffrement peut arriver après coup sans souci ?

2. n'aurais-je pas mieux fait de choisir d'utiliser LVM ? (je ne connais pas trop, est-ce que ça me facilite la vie à terme ?)

3. concernant le chiffrement, j'ai vu plusieurs possibilités, mais je ne sais pas trop quoi choisir : j'avais en tête de chiffrer le système et une fois booté, chaque utilisateur déchiffre son home au login.

Si de bonnes âmes ont de l'expérience dans le domaine, des conseils, etc. je suis preneur.

merci,

/

EDIT : après moult lectures, tests et refaisage de divisions par 2048, mes partitions sont bien alignées. Maintenant, faut que je m'attaque au chiffrement après coup.

----------

## Leander256

Ça ne se bouscule pas pour répondre, donc je lance rapidement la discussion.

 *Quote:*   

> 2. n'aurais-je pas mieux fait de choisir d'utiliser LVM ? (je ne connais pas trop, est-ce que ça me facilite la vie à terme ?)

 

LVM est utile pour beaucoup de choses, en particulier manipuler des partitions sur le disque système sans avoir à rebooter, ou encore pour faire des snapshots et donc des backups, mais il n'est pas strictement nécessaire pour utiliser des partitions chiffrées.

 *Quote:*   

> 1. le chiffrement peut arriver après coup sans souci ? 

 

Tu ne peux pas chiffrer une partition après-coup sans perdre les données dessus, mais c'est la seule limitation qui existe. Et la solution triviale c'est de créer une nouvelle partition, de la chiffrer, de copier les données dessus et de l'utiliser à la place de l'ancienne.

 *Quote:*   

> 3. concernant le chiffrement, j'ai vu plusieurs possibilités, mais je ne sais pas trop quoi choisir : j'avais en tête de chiffrer le système et une fois booté, chaque utilisateur déchiffre son home au login.

 

Soit tu chiffres le système, soit tu chiffres le /home, mais pas les deux. Même si c'est techniquement possible (je pense), ça ne ferait que rajouter de la lourdeur (tous les fichiers dans le /home devant être chiffrés et déchiffrés 2 fois). Pour chiffrer uniquement le /home comme le font certaines distributions, je ne sais pas comment ça fonctionne exactement, il doit falloir configurer le login manager. Pour chiffrer la partition root il faut passer par un initrd au boot, je pense qu'il y a pas mal de documentation là-dessus.

Si tu hésites dans ton choix, explique-nous les cas d'utilisation de ta machine.

----------

## Slashounet

Salut,

Finalement, j'ai opté pour la solution suivante :

- /boot non chiffré

- un conteneur LUKS contenant un volume LVM

- et des partitions normales dans LVM

Je ne me suis pas pris la tête avec les données, j'ai tout viré et tout recommencé depuis 0. Ça fonctionne globalement tant que le disque n'est pas "en production", mais je bute encore sur la conf de grub2 (le boot foire). Je suis bien en mesure de déchiffrer le volume en branchant le disque à côté mais pas au boot. Je soupçonne de mauvaises options passées au démarrage.

Concernant l'idée initiale, je me disais qu'il n'y avait pas de raison que root ait accès aux données des utilisateurs, d'où la volonté d'ajouter une couche de chiffrement par utlisateur. Le fait est que pour cette machine courante, ce ne sera pas trop multi utilisateurs et que ça risque d'être lourd. J'ai donc éliminé cette solution pour quelque chose de plus simple.

/

----------

## Leander256

 *Slashounet wrote:*   

> Ça fonctionne globalement tant que le disque n'est pas "en production", mais je bute encore sur la conf de grub2 (le boot foire). Je suis bien en mesure de déchiffrer le volume en branchant le disque à côté mais pas au boot.

 

Soit c'est un problème spécifique à grub2 et je ne peux pas t'aider, soit c'est ton initrd qui ne fonctionne pas comme prévu. Que se passe-t-il exactement au boot?

 *Quote:*   

> Concernant l'idée initiale, je me disais qu'il n'y avait pas de raison que root ait accès aux données des utilisateurs, d'où la volonté d'ajouter une couche de chiffrement par utlisateur./

 

Note que le compte root classique est tout-puissant, il n'aurait pas suffi de chiffrer le /home. Ça rend l'accès moins facile mais pas impossible. Si on prend le cas de /home chiffré, une fois qu'un utilisateur est loggé, le /home est accessible à tout le monde. Avec les droits unix traditionnels bien sûr, mais root a accès à tout. Le compte root peut aussi lire en mémoire ce qu'il veut, ou encore modifier un paquet utilisé par la distribution (au hasard cryptsetup) pour mettre dans un fichier les mots de passes entrés.

----------

## Slashounet

Salut,

Merci pour ta réponse  :Smile: 

Bon, je me suis penché  à nouveau dessu hier soir et j'ai un peu avancé : l'erreur était due à une ligne manquante dans la conf de grub2... qui est générée automagiquement  (c'est la clause cryptomount qui était foireuse : il manquait le device/son uuid ). Du coup c'est un contournement mais pas une solution (je n'ai pas encore trouvé comment configurer /etc/default/grub pour que la conf générée soit propre). Ensuite le chargement du noyau et de l'initramfs se font.

Mais je tombe sur un autre souci : je n'ai pas de prompt pour saisir le mot de passe pour déchiffrer le conteneur LUKS. Alors fatalement, le boot continue et ne fonctionne pas. Je vais continuer à creuser, mais je me dis que je vais devoir écrire le tuto complet : jusqu'à présent, je n'ai pas trouvé un seul tuto complet récent qui fonctionne exactement comme dit (j'en ai trouvé un récent de moins de 10 jours, mais certains aspects sont passés sous silence).

Concernant ma remarque sur root sur le fait que ce n'est pas parce que c'est root (qui est tout puissant sur le système), qu'il doit être tout puissant niveau données utilisateurs : Évidemment, si on chiffre home, une fois déchiffré par un utlisateur, tout est accessible mais root ne peut pas déchiffrer directement. Je pense que c'est déjà un bon premier frein. C'était plus histoire de dire « chaque utilisateur déchiffre son volume, root n'est pas censé y accéder ».

/

EDIT : la conclusion, c'est surtout que j'utilise grub depuis des années, et grub2 depuis que c'est poussé stable dans Gentoo et que je ne maîtrise pas du tout.

----------

## Leander256

 *Slashounet wrote:*   

> Mais je tombe sur un autre souci : je n'ai pas de prompt pour saisir le mot de passe pour déchiffrer le conteneur LUKS.

 

Là il faut voir quel outil crée ton initrd, personnellement je le fais à la main en suivant les instructions d'un ancien wiki disparu. Je pense que http://wiki.gentoo.org/wiki/DM-Crypt_LUKS devrait te servir de référence. Apparemment les outils disponibles pour créer un initrd ont le support des volumes chiffrés.

En gros ce qui se passe c'est que le fichier init (dans l'initrd) qui est exécuté au démarrage contient à un moment donné une commande cryptsetup, et tu te retrouves avec un prompt qui te demande ton mot de passe. D'ailleurs là que j'y pense, le prompt ne s'affiche pas forcément tout en bas du terminal, il arrive qu'il soit noyé dans des messages du noyau qui sont affichés après coup. Si ta machine semble bloquée, c'est sûrement le cas (et il suffit de rentrer le mot de passe). Mais si tu as un kernel panic au sujet du VFS, c'est effectivement que l'init ne t'a jamais demandé le mot de passe.

----------

## Slashounet

Salut,

Oui, j'avais vu cette page. Bon, j'ai encore bidouillé et j'ai enfin un fichier de configuration grub2 opérationnel (maintenant faut que je comprenne comment m'arranger pour qu'il soit bien généré).

Concernant le prompt, en effet le message juste avant n'était pas explicite du tout et... ça fonctionne en fait. C'est cool  :Smile:  J'ai vu quelques messages étranges au démarrage (l'algo de chiffrement que j'utilise ne serit pas présent... mais pourtant la partition est bien déchiffrée) mais globalement ça fonctionne. Il faut aussi bien noter que le clavier est en qwerty au démarrage, alors ce fut un peu la surprise. Je vais chercher comment arranger ça pour avoir du bépo, azerty ou n'importe quel autre disposition au démarrage.

Bref, j'ai bien galéré, mais je pense avoir un configuration qui tourne, enfin !

Merci

/

----------

