Vous n'êtes pas identifié(e).
Objectifs: dévérouiller automatiquement une partition chiffrée.
Préalable: La partition système doit être chiffrée et la partition qui doit être déverrouillée doit être crée et chiffrée et non montée.
S'il s'agit de votre /home , il est conseillé d'utiliser un Live CD après effectuée une sauvegarde préalable.Avertissement a écrit :
Ce tuto ne permet pas d'améliorer le niveau de sécurité générale mais d'en simplifier l'utilisation. Dans le cadre d'une installation sécurisée, il fortement déconseillé de ne pas suivre ce tuto, il comporte plusieurs failles de sécurité pouvant compromettre votre système.
création d'une clé de déchiffrement
Pour commencer, il est nécessaire de générer fichier qui nous servira de clé de déchiffrement. Elle sera utilisé lors du démarrage de votre système.dd if=/dev/random of=/root/keyfile bs=1024 count=4
en cas d'erreur, executerdd if=/dev/urandom of=/root/keyfile bs=1024 count=4
La fichier sera nommée keyfile et sera stockée dans le répertoire /root. Il doit impérativement avoir comme propriétaire "root".
/!\ le fichier ne doit surtout pas être stocké sur /boot ou une partition non chiffréemodification des droits du fichier keyfile
chmod 0400 /root/keyfile
on modifie les droits d'accès pour que le fichier soit en lecture seule pour le compte root. Le fichier n'est alors utilisable que pour le compte root.
Il est vivement conseillé d'effectuer une sauvegarde de ce fichier dans un endroit sûr.ajouter le fichier comme clé
pour le moment, on a juste générée un fichier. Maintenant il est nécessaire de l'ajouter comme clé de déchiffrement à notre partitioncryptsetup luksAddKey /dev/disk/by-uuid/c4295a74-5c31-475b-aa57-b9fa4c2de36e /root/keyfile
/!\ l'uuid doit correspondre à la partition chiffrée. Pour identifier la partition, on peut utiliser blkidmodifier le fichier crypttab
Il est nécessaire de configurer le fichier crypttab qui fera le lien avec fstab qui permet de monter à chaque démarrage les partitions.
Il faut référencer la partition /dev/sdX en modifiant le fichier /etc/crypttab
sdX_crypt UUID=2a76a71e-dbe5-4419-9965-e3cd3 /root/keyfile luks
sdX_crypt correspond au label qui sera repris dans fstab, autant utilisé un libellé explicite.
UUID=2a76a71e-dbe5-4419-9965-e3cd3 correspond à l'UUID de la partition chiffrée /dev/sdX. on le retrouve avec blkid
/root/keyfile correspond à l'emplacement de la clé de déchiffrement
luks correspond aux options du fichier crypttabmodifier le fichier fstab
pour finaliser l'installation, il est nécessaire de monter tout ceci au démarrage. Pour ça, il faut éditer le fichier /etc/fstab
/dev/mapper/sdX_crypt /media/sdX ext4 defaults 0 2
/!\ à modifier en fonction de votre système
/dev/mapper/sdX_crypt reprend le nom du mapper mis dans /etc/crypttab. Si vous avez changer sdX_crypt par autre chose, il faut utiliser le nom présent dans /etc/crypttab
/media/sdX correspond au point de montage. Le dossier /media/sdX doit exister, sinon il faut le créer.
ext4 correspond au système de fichier utilisé à l'intérieur de la partition chiffrée et doit être modifié en conséquence. Les principaux systèmes de fichier sont: ext2, ext3, ext4
defaults correspond aux options de montage
0 2 correspond aux dump et fscktester le montage de la partition
Pour vérifier le bon fonctionnement, redémarrer le système si vous utilisé un Live CD ou taper la commandemount -a
La partition devrait être montée.
Afin de garantir un niveau de sécurité optimal, il est nécessaire actualiser régulièrement votre clé. Pour ce faire il est nécessaire de révoquer la clé pour en ajouter une nouvelle.
/!\ lors du changement de clé et si une erreur survient, la partition pourrait être définitivement inaccessible. Pensez à faire une sauvegarde de la partition.
cryptsetup luksChangeKey /dev/sdX /root/keyfile2
On peut discuter du caractère border line concernant la sécurité mais c'est un compromis.
Dernière modification par Anonyme-8 (03-06-2014 19:52:46)
Mais bon, en réalité, il ne faut pas faire cette étape de génération de mot de passe. En effet, le «mot de passe» ici c'est /dev/urandom qui le génère via la commande dd. Il n'est pas affichable, pas tapable via un clavier, mais c'est pas grave.
Ensuite, le fichier de destination est /root/clé
Bon, si /root est lui-même sur une partition chiffrée, alors c'est raisonnable. En revanche, sinon, non. En effet, qqn peut emprunter ton disque dur, le monter depuis un autre ordi, et alors accéder à tous les fichiers non chiffrés, quels que soient leurs droits.
Donc, l'idée est que ta clé ne doit jamais être stockée en clair dans une mémoire persistante qu'on pourrait de piquer.
Tu peux par exemple la stocker dans /tmp/root si /tmp est un tmpfs monté en ram, mais bien évidemment elle sera alors effacée au prochain reboot.
Tu peux également la stocker sur une clé USB et t'arranger pour que le boot monte la clé usb et aille chercher la clé dessus.
Attention cependant, si ta clé meurt, il te faudra te souvenir de ta passphrase de chiffrement
Pour ma part, voici la configuration que j'ai sur mon EEEPC
Un « /boot » en clair, pour le grub et pour amorcer le noyal.
Un « / » chiffré, déchiffrable via une passphrase mémorisable
Un « /home » (et d'autres partoches créées pour faire plus propre) qui vont chercher directement leur clés dans « / » une fois celle-ci déchiffrée.
La swap chiffrée via la même clé que « / » lors de l'hibernation.
À cette configuration on peut ajouter le déchiffrement via clé USB, mais je ne l'ai pas fait (je perds mes clés USB quotidiennement, donc ça n'est pas très raisonnable)
De plus, cette configuration est loin d'être parfaite, parce que la partie s'occupant du déchiffrement est en clair dans /boot. Une personne mal intentionnée pourrait la modifier de manière à stocker la passphrase en clair quelque part, puis venir la récupérer ensuite.
Bon, ça reste (très) peu probable, mais voilà, c'est juste pour dire que ce schéma ne me semble pas encore au point.
Enfin bon, avec les UEFI, ça va être tout différent, puisque l'UEFI gèrera les entrées clavier et donc il n'y aura vraiment plus aucun moyen de taper une passphrase/un mdp sans être sûr qu'un blob propriétaire y aura mis ses yeux dessus. Oh, joie
captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.
Hors ligne
Dernière modification par Anonyme-8 (26-05-2014 11:32:02)
captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.
Hors ligne
captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.
Hors ligne
j'ai créé le fichier keyfile3 avec /dev/random et keyfile4 avec /dev/urandom
dans la partie 'Ajouter le fichier comme clé", je pense qu'il serait préférable d'utiliser l'UUID plutôt qu'un simple /dev/sdX. Une erreur de frapper est vite arrivée. Je n'ai pas eu de regarder si c'était possible ni comment.
le changement de clé n'a jamais été testé
luksChangeKey <device> [<new key file>]
Changes an existing passphrase. The passphrase to be changed must be supplied interactively or via --key-file. The new
passphrase can be supplied interactively or in a file given as positional argument.
If a key-slot is specified (via --key-slot), the passphrase for that key-slot must be given and the new passphrase will
overwrite the specified key-slot. If no key-slot is specified and there is still a free key-slot, then the new
passphrase will be put into a free key-slot before the key-slot containing the old passphrase is purged. If there is no
free key-slot, then the key-slot with the old passphrase is overwritten directly.
WARNING: If a key-slot is overwritten, a media failure during this operation can cause the overwrite to fail after the
old passphrase has been wiped and make the LUKS container inaccessible.
<options> can be [--key-file, --keyfile-offset, --keyfile-size, --new-keyfile-offset, --new-keyfile-size, --key-slot,
--force-password].
Reste à voir comment on déchiffre la partition à partir d'une clé USB.
captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.
Hors ligne
Hors ligne
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
Hors ligne
Hors ligne
A priori, la solution pour avoir les codes sur une clé USB est de chiffre / et d'avoir /boot sur une clé reliée par un cable au PC et bien caché.
Comme cela, si quelqu'un par tavec la PC, il y a de très forte chance que la clé ne parte pas avec.
Tu laisses la clé de ta voiture sur le contact (mais « bien cachée ») quand tu n'es pas dedans ?
Ou tu préfères la garder dans ta poche ?
Hors ligne
captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.
Hors ligne
Hors ligne
captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.
Hors ligne
Je sais pas ce qui se passe si la clé est débranché accidentellement ou volontairement.
Aucun problème, /boot n'a plus d'utilité une fois le système lancé.
J'ai eu l'exemple d'un système démontant automatiquement /boot une fois que celle-ci a rempli son office.
Hors ligne
Anonyme-8 a écrit :Je sais pas ce qui se passe si la clé est débranché accidentellement ou volontairement.
Aucun problème, /boot n'a plus d'utilité une fois le système lancé.
J'ai eu l'exemple d'un système démontant automatiquement /boot une fois que celle-ci a rempli son office.
effectivement, j'ai testé et ça semble pas poser trop de soucis.
Si on doit faire des mises à jour, qu'est qui se passe ?
Si c'est possible, on peut envisager d'afficher un message pour retirer la clé au début de la session. Cela permettrait de ne pas oublier la clé et d'assurer un certains niveau de sécurité.