LVM et Crypsetup, l'oeuf ou la poule ?

Bonjour tout le monde,

Je me pose une question à laquelle je ne parviens pas à répondre :

  • Faut-il chiffrer son disque et y gérer ensuite LVM
  • Faut-il gérer LVM, faire son VG et ses LV, puis les chiffrer ?

Ma question s’applique à un disque dur qui ne comportera qu’une partition de 2To et qu’un seul LV de 2To - 5 Go (histoire de pouvoir créer un snapshot à côté de temps en temps). Ce LV sera monté sur /srv.

Merci pour votre aide !

j’ai pas bien compris, si tu ne veux qu’une partition sur ton disque dur pourquoi vouloir utilisé LVM dans ce cas ?

Maintenant si tu veux pouvoir étendre ton volume il est effectivement plus intéressant de partir sur du LVM et de chiffrer le volume logique une fois créer.

Bonjour Clochette,

Pour me laisser le choix plus tard mais surtout pour faire un snapshot qui sera utilisé pour minimiser le temps d’arrêt de mes services lors de la sauvegarde du disque (car un rsync sur un disque de 2To, ça reste long).

Pourquoi ? Je ne comprends vraiment pas. A vrai dire, je lis souvent ce genre de conseils et je vois (tout aussi souvent) des articles expliquant comment faire l’inverse (chiffrer une partition puis la transformer en PV LVM ensuite). J’imagine donc que les deux peuvent se faire mais je cherche à savoir concrètement ce que cela change, afin de mieux me décider.

L’intérêt que je vois à d’abord chiffrer et qu’il est plus rapide d’ouvrir le volume (un seul cryptsetup luksOpen) mais est-ce que cela amène son lot d’inconvénients ?

Merci pour ton aide Clochette.

[quote=“Phi”]Bonjour Clochette,

Pour me laisser le choix plus tard mais surtout pour faire un snapshot qui sera utilisé pour minimiser le temps d’arrêt de mes services lors de la sauvegarde du disque (car un rsync sur un disque de 2To, ça reste long).[/quote]

Aucune différence entre un volume logique de 2To et une partition de 2To, une fois la première sauvegarde faite tu as la possibilité de donner dans le différentiel incrémentable afin de gagner en temps et ne espace disque.

Pourquoi ? Je ne comprends vraiment pas. A vrai dire, je lis souvent ce genre de conseils et je vois (tout aussi souvent) des articles expliquant comment faire l’inverse (chiffrer une partition puis la transformer en PV LVM ensuite). J’imagine donc que les deux peuvent se faire mais je cherche à savoir concrètement ce que cela change, afin de mieux me décider.

L’intérêt que je vois à d’abord chiffrer et qu’il est plus rapide d’ouvrir le volume (un seul cryptsetup luksOpen) mais est-ce que cela amène son lot d’inconvénients ?

Merci pour ton aide Clochette.[/quote]

Tu fais comme bon te semble mais vu que j’utilise pas le chiffrement sur autre chose que des données sensible stocker sur le disque système, je préfère chiffrer seulement ce dont j’ai réellement besoin de chiffrer et donc seulement quelques partitions contenues dans le LVM :083

Maintenant j’ai jamais utilisé de disque chiffrer intégralement accueillant en son sein un ou plusieurs volume logique :confused:

[quote]

  • Faut-il chiffrer son disque et y gérer ensuite LVM
  • Faut-il gérer LVM, faire son VG et ses LV, puis les chiffrer ? [/quote]

Pour moi cette dernière : chiffrer ses partitions à l’ultime étape.
Les volumes sont “en clair”, détectables et détectés
les fs sont cryptés (donc les données), fs impossibles à reconnaitre et monter sans mot de passe.
Je ne camoufle pas de périphérique, je camoufle des fs qui abritent des données.
Le cracker dégourdi qui lancerait fdisk -l verrait la présence de ces partitions non conventionnelles “en clair” et déduirait immédiatement qu’elles sont cryptées.

J’en suis conscient mais pour faire une sauvegarde cohérente, j’arrête mes services avant et je les redémarre après environ 3 heures de rsync. Pour tout dire, j’ai décomposé ma sauvegarde pour chaque service histoire de minimiser leurs temps d’interruption.

Avec LVM, tu as la possibilité de créer un snapshot d’un LV (si tu as encore de la place dans ton VG) de sorte à disposer d’un instantané de ton LV que tu as bien le temps de sauvegarder (la sauvegarde prend toujours 3 heures mais les services ne sont interrompus que les quelques secondes requises pour la création du snapshot). C’est la raison pour laquelle mon LV n’occupera pas 2 Tio mais laissera 5 Gio de disponible.

[quote=“Clochette”]Tu fais comme bon te semble mais vu que j’utilise pas le chiffrement sur autre chose que des données sensible stocker sur le disque système, je préfère chiffrer seulement ce dont j’ai réellement besoin de chiffrer et donc seulement quelques partitions contenues dans le LVM :083

Maintenant j’ai jamais utilisé de disque chiffrer intégralement accueillant en son sein un ou plusieurs volume logique :-?[/quote]

Par rapport à ce que je viens d’expliquer, je pense qu’on est dans le même cas : je chiffre une seule partition (sdb1) et je voudrais désormais utiliser LVM tout en continuant de chiffrer cette seule partition (qui sera également un VG et qui sera, à 5 Gio près, un unique LV).

Donc je comprends que tu préfères chiffrer au sein de LVM plutôt que l’inverse mais je ne comprends toujours pas quels sont les impacts de ce choix vis-à-vis de l’autre solution.

[quote=“etxeberrizahar”]Pour moi cette dernière : chiffrer ses partitions à l’ultime étape.
Les volumes sont “en clair”, détectables et détectés
les fs sont cryptés (donc les données), fs impossibles à reconnaitre et monter sans mot de passe.
Je ne camoufle pas de périphérique, je camoufle des fs qui abritent des données.
Le cracker dégourdi qui lancerait fdisk -l verrait la présence de ces partitions non conventionnelles “en clair” et déduirait immédiatement qu’elles sont cryptées.[/quote]

Bonjour etxeberrizahar,

Si je te comprends bien, tu estimes que le chiffrage doit intervenir ici :

  • périphérique
  • partition
    -> partition chiffrée
  • système de fichier

Et donc, tu trouves logique de respecter cela lorsqu’on ajoute la logique LVM :

  • périphérique
  • partition
  • VG
  • LV
    -> LV chiffré
  • système de fichier

C’est bien ça ? Ton argument se tient… Qu’en sera-t-il de mon snapshot du coup ? Il sera un LV sur le même VG, à côté, et donc non chiffré ?

[quote=“etxeberrizahar”][quote]

  • Faut-il chiffrer son disque et y gérer ensuite LVM
  • Faut-il gérer LVM, faire son VG et ses LV, puis les chiffrer ? [/quote]

Pour moi cette dernière : chiffrer ses partitions à l’ultime étape.[/quote]
Le souci en faisant comme ça c’est qu’au boot tu vas te farcir autant de mots de passe à saisir qu’il y a de partitions (au grand minimum 2 : / et swap, car bien entendu si tu cryptes / il faut aussi crypter le swap pour éviter la fuite de données). Il y a eu un fil là-dessus y’a pas longtemps qui expose ce problème : installation-chiffree-en-mode-expert-t35993.html
La seule solution pour avoir un seul mot de passe, c’est de chiffrer l’ensemble du disque sur une seule partition, puis de créer des volumes LVM à l’intérieur du conteneur chiffré.

En plus vu ce que Phi veut en faire, au moins comme ça il aura la garantie que son snapshot est chiffré lui aussi (dans le cas de « LVM -> chiffrement des différents volumes » je ne suis même pas sûr que le snapshot fonctionne).

Salut syam,

Je n’ai pas envie de chiffrer / et swap mais seulement mon disque de 2To monté sur /srv.

Par contre, je suis très intéressé par ton opinion sur les snapshots. Cela me forcerait bien à chiffrer la partition sdb1 vers /dev/mapper/coffre par exemple pour ensuite confier /dev/mapper/coffre à pvcreate et y créer un VG qui sera entièrement chiffré (même la partie non utilisée par mon LV et qui accueillera de temps en temps un snapshot) ?

Je ne suis pas certain (je n’ai jamais mis en place de système de snapshots LVM même si je connais le principe), mais ça me semble le plus logique : LVM crée le snapshot dans le même VG, donc si seul le LV est chiffré je ne sais pas comment ça se passe… Avec un VG qui réside entièrement dans le conteneur chiffré au moins c’est garanti que ton snapshot est correctement chiffré. Je ne peux malheureusement pas t’en dire plus.

Si tes données sont vraiment sensibles, il faut chiffrer à minima le swap, voire /tmp et certaines parties de /var en fonction des services concernés, car sinon tu t’exposes à des fuites de données.
Pour le swap c’est assez évident : si Linux place tes données sensibles dans un swap non chiffré, elles seront accessibles en clair. De même si tes services créent des fichiers dans /tmp ou /var s’ils ne sont pas chiffrés eux-aussi.

J’utilisais un script qui allais chercher las clés sur une clé USB afin de déchiffrer mes quelques partitions chiffrées.

Mais il est vrai que retenir une clé de chiffrement correct à 24 caractères est vraiment aisé :083

@syam : merci pour tes conseils. Mes données ne sont pas sensibles (juste personnelles) donc je ne vais pas aller aussi loin. D’ailleurs je ne chiffre même pas le root ou les partitions “systèmes” mais seulement un disque de stockage. Mon but (quand j’ai fait ça, car ça remonte déjà un peu) était d’apprendre mais aussi d’éviter à avoir à envoyer 2 To de ma vie au SAV en cas de panne du disque dur (ce qui m’est arrivé une première fois). En tout cas, ok pour cette histoire de snapshot, je vais donc chiffrer la partition et y créer des volumes LVM après.

@Clochette : oui c’est pas mal ça =) La fameuse partition chiffrée sur mon serveur est montée via /etc/cryptab qui va chercher une clef sur une partition non chiffrée. Comme ça, ça le monte tout seul au démarrage du PC, même si mon serveur ne redémarre jamais… Encore une fois, on peut trouver contradictoire de chiffrer le disque et de laisser la clef à côté mais vu mon objectif, ça se tient je trouve :slight_smile:

Merci pour vos conseils, j’en ai suffisamment appris donc je ferme le sujet :slight_smile: A bientôt !

phil@server-bl:~$ cd /etc/rcS.d/ phil@server-bl:/etc/rcS.d$ ls | grep "lvm\|crypt" S08cryptdisks-early S09lvm2 S10cryptdisks

Mince, mes volumes seront-ils reconnus au démarrage si je les chiffre ? J’ai du mal à distinguer la différence entre cryptdisks-early et cryptdisks mais en pratique, les volumes LVM sont scannés et il n’en trouve aucun, je dois m’en occuper ensuite. C’est peut-être une bonne raison de quand même gérer le chiffrage “à l’intérieur” de LVM non ?

Bon j’ai fait le test avec un disque absent de /etc/crypttab donc il n’y avait aucune raison pour qu’il soit déchiffré et que lvm trouve les volumes qu’il renferme.

Ceci dit, je pense que cryptdisks-early a justement été prévu pour le cas où LVM intervient après le chiffrage. Vous pensez que ça ne me posera pas de problème du coup ?

Coucou,

Bon je ne suis pas parti du bon côté du coup j’ai dû remonter la chaîne depuis les scripts de démarrage :confused: Quoi qu’il en soit j’ai ma réponse !

  • Il y a effectivement deux scripts de démarrage de cryptdisks (early et normal)
  • Si on étudie le script on comprend que la différence est fonction du paramètre noearly qu’il ramasse dans le fichier /etc/crypttab
  • Et “man crypttab” donne le reste des infos :

[quote]noearly
The cryptsetup init scripts are invoked twice during the boot process - once before lvm, evms, raid, etc. are started and once again after that. Sometimes you need to start your encrypted disks in a special order. With this option the device is ignored during the first invokation of the cryptsetup init scripts.[/quote]

Dans mon cas, le disque sur lequel j’ai testé est un disque externe que je “déverrouille” moi-même donc absent de /etc/crypttab donc y’a vraiment aucune raison qu’il l’ouvre tout seul au bon moment par contre cela doit fonctionner que l’on choisisse de faire du “LVM over Luks” ou du “Luks over LVM” du moment que le disque est déclaré dans /etc/crypttab.

Je ferme (définitivement j’espère) ce sujet ^^ A bientôt !