88 votes

Activer le cryptage du disque après l'installation

Je suis sous 13.10 Saucy. Si je n'ai pas activé le chiffrement du disque pendant l'installation, y a-t-il un moyen de l'activer a posteriori ?

見つけた este qui dit que le cryptage doit se faire au moment de l'installation, mais il fait également référence à Fedora. Je peux facilement démarrer sur un disque vivant s'il y a un moyen de le faire à partir de là.

75voto

Radu Rădeanu Points 156862

Si vous souhaitez activer le cryptage de votre dossier personnel, vous devez installer et utiliser ces paquets : ecryptfs-utils y cryptsetup . Vous aurez également besoin d'un autre compte utilisateur avec des privilèges d'administrateur (sudo). La documentation complète est ici :

Si vous souhaitez activer le cryptage complet du disque après l'installation, la réponse courte pour le moment est probablement : non, tu ne peux pas . Quoi qu'il en soit, si vous êtes intéressé par ce sujet, votre question est en double :

31voto

Wizard4U Points 692

Question complémentaire : quels sont les avantages et les inconvénients d'un disque complet par rapport à un simple /home ?

Le cryptage dans /home se fait en utilisant un système de fichiers en espace utilisateur appelé ecryptfs . Il est très bien fait et étroitement intégré dans le système d'authentification par défaut de sorte que vous n'aurez aucun inconvénient d'utilisation : lorsque vous entrez dans votre compte (soit à partir d'un Shell distant ou à partir de l'écran de connexion par défaut) votre mot de passe est utilisé pour déballer une clé sécurisée, qui est ensuite utilisé pour crypter / décrypter vos fichiers dans votre répertoire d'origine à la volée (Le système de fichiers monté résidera directement dans /home/username ). Lorsque vous vous déconnectez, /home/username est démonté et seuls les fichiers cryptés restent visibles dans le système (généralement dans le répertoire /home/.ecryptfs/username/.Private/ ). Ils ressemblent à un tas de fichiers brouillés/aléatoires puisque les noms de fichiers sont également cryptés. Les seules fuites d'informations sont : la taille des fichiers, les horodatages et le nombre de fichiers (avec le cryptage complet du disque, ces informations sont également cachées).

Si votre système doit être partagé entre plusieurs utilisateurs, il s'agit d'une fonctionnalité très appréciable, même si vous décidez d'ajouter le chiffrement intégral du disque en même temps : la sécurité du chiffrement intégral du disque est désactivée lorsque la machine est en marche, tandis que le chiffrement domestique (ecryptfs) est activé tant que vous êtes déconnecté.

Ainsi, le chiffrement intégral du disque et le chiffrement à domicile ne s'excluent pas nécessairement l'un l'autre.

Voici une liste de configurations possibles, en fonction des différents besoins de sécurité :

  • CHIFFREMENT COMPLET DU DISQUE UNIQUEMENT : Si vous êtes le seul à utiliser votre ordinateur et que votre machine peut gérer la surcharge du chiffrement complet du disque (tous les ordinateurs de bureau modernes peuvent peuvent le faire sans que l'utilisateur s'en aperçoive, les netbooks et les anciens pas tellement), vous pouvez utiliser le cryptage complet du disque et mettre la maison dans la même partition que votre OS (/). partition que votre système d'exploitation (/).
  • CHIFFREMENT COMPLET DU DISQUE ET HOME ECRYPTFS CRYPTAGE : Si vous êtes inquiet que vos données privées soient lues lorsque votre ordinateur est ou si vous partagez votre ordinateur avec d'autres utilisateurs, vous pouvez placer votre maison dans une partition différente de celle de votre ordinateur. partition différente de / et utiliser ecryptfs avec le chiffrement complet du disque (c'est-à-dire le chiffrement de / par LUKS).
  • HOME ECRYPTFS CRYPTAGE SEULEMENT : Si vous n'êtes pas trop inquiet à l'idée que quelqu'un puisse trafiquer votre système pendant votre absence, mais que vous aimez quand même garder vos données privées en sécurité, alors sautez le chiffrement complet du disque et utilisez simplement ecryptfs (chiffrement de la maison). Un avantage supplémentaire de ce scénario est qu'il est assez facile à mettre en œuvre. mettre en place même après vous avez installé Ubuntu, en utilisant simplement ecryptfs-migrate-home . De plus, c'était la configuration par défaut d'Ubuntu avant qu'elle ne soit modifiée il y a quelques versions, ajoutant la possibilité d'un chiffrement complet du disque. Puisque la plupart des ordinateurs de bureau modernes peuvent gérer le cryptage complet du disque sans problème et qu'il ajoute une fine couche de sécurité contre l'injection de code hors ligne, le cryptage complet du disque a été ajouté dans l'installateur. Notez cependant que pour la plupart des utilisateurs, le simple cryptage de leur domicile avec ecryptfs sera suffisant pour leurs besoins : empêcher leurs amis et les voleurs d'ordinateurs portables ordinaires d'accéder à leurs données privées. En outre, si vous avez été singulièrement ciblé par une organisation disposant des moyens adéquats, le fait d'avoir un chiffrement complet du disque ou simplement un chiffrement à domicile ne fera pas une grande différence, à moins que vous n'ayez également établi un grand nombre d'autres comportements paranoïaques (comme : garder le noyau dans un pen-drive séparé qui est toujours sur vous ; vérifier constamment les altérations matérielles/keyloggers et ainsi de suite).

Si je n'ai pas activé le cryptage de disque pendant l'installation, y a-t-il un moyen de l'activer a posteriori ?

Oui et ce sera plus facile si vous utilisez actuellement LVM et si vous avez suffisamment d'espace sur votre système pour copier tous vos fichiers système non chiffrés dans une partition LUKS chiffrée. Je n'entrerai pas dans les détails pour le moment car je ne sais pas si vous utilisez LVM et si vous préférez ne pas utiliser ecrypfs pour le moment et ne pas avoir à vous soucier du cryptage complet du disque jusqu'à la prochaine installation.

13voto

KoKlA Points 231

Comme il s'agit toujours du premier résultat sur Google, je souhaite le mettre à jour avec de nouvelles informations. En tant qu'utilisateur Frederick Nord mentionné sur : Existe-t-il un moyen d'effectuer un cryptage complet du disque après l'installation ?

Il existe un outil appelé luksipc (Luks in place encryption). Après des recherches plus approfondies, j'ai trouvé la documentation la plus récente ainsi qu'une avertissement de l'auteur de cet outil :

luksipc a été créé avant qu'une alternative du côté de dm-crypt/cryptsetup/LUKS soit disponible. Ce n'est plus le cas aujourd'hui. Par conséquent, je recommande de passer à cryptsetup-reencrypt, qui est correctement maintenu et testé en amont, même lorsque le format de l'en-tête LUKS change (à ma connaissance, cela s'est produit au moins deux fois et peut provoquer un échec catastrophique de luksipc, c'est-à-dire la destruction de toutes vos données dans le pire des cas).

Alors cryptsetup-reencrypt semble être la méthode recommandée.

Aperçu de haut niveau :

  1. L'outil suggéré ne peut fonctionner que sur les partitions qui ne sont pas utilisées. live cd/usb
  2. Manipulez les partitions pour qu'il y ait suffisamment d'espace au bon endroit pour les LUKS Headers.
  3. Utilisez cryptsetup-reencrypt pour crypter la partition
  4. Répétez pour chaque partition (sauf pour le démarrage)

Petit guide tiré de Documentation Ubuntu :

   Add LUKS encryption to not yet encrypted device 

          First, be sure you have space added to disk.  Or alternatively shrink filesystem in
          advance.
          Here we need 4096 512-bytes sectors (enough for 2x128 bit key).
          fdisk -u /dev/sdb # move sdb1 partition end + 4096 sectors

          cryptsetup-reencrypt /dev/sdb1 --new --reduce-device-size 4096

Guide détaillé tiré de Arch Wiki - Crypter un système de fichiers non crypté :

umount /mnt # As mentioned this only works on partitions/devices which aren't mounted. You can skip this if you used a live cd and didn't mount this partition yet - but be sure to check
e2fsck -f /dev/sdaX # check that the file system is ok -f == force validation even if it looks ok
resize2fs -M /dev/sdaX # Shrink the filesystem to the minimum size.
cryptsetup-reencrypt /dev/sdaX --new  --reduce-device-size 16M # Encrypt the unencrypted partition
cryptsetup open /dev/sdaX recrypt # Open the encrypted partition so we can give it back the disk space we removed by using the -M option on resize2fs
resize2fs /dev/mapper/recrypt # enlarge partition again
mount /dev/mapper/recrypt /mnt # Mount if you want to access data

Question : Pourquoi rétrécir à la taille minimale ?

Réponse : Hypothèse - ceci est fait parce que la taille de l'en-tête LUKS peut changer dans le futur, donc ces étapes sont génériques et ne seront pas dépassées. La taille de l'en-tête est passée de LUKSv1 = 2MB à Luksv2 = 16MB dans le passé.

Guide de dépannage - /boot est crypté et je ne peux pas démarrer

Mise à jour 12/2020

Pour moi, il se trouve que je n'avais qu'une seule partition, dont /boot. Après cela, je ne pouvais plus démarrer dans mon système. Si vous rencontrez les mêmes problèmes, ce guide peut vous aider à retrouver un système fonctionnel.

Aperçu de haut niveau

  1. Assurez-vous que vous avez le logiciel nécessaire pour le décryptage dans Grub et dans initramfs.
  2. Savoir comment démarrer

Grub

  1. Démarrez dans un ubuntu "live cd".

  2. Déchiffrer la partition

  3. Passez en mode chroot dans le système décrypté (si vous ne savez pas comment cela peut vous aider : https://superuser.com/questions/111152/whats-the-proper-way-to-prepare-chroot-to-recover-a-broken-linux-installation )

  4. Dans l'environnement chroot

    root@ubuntu:~# echo "GRUB_ENABLE_CRYPTODISK=y" >>/etc/default/grub root@ubuntu:~# update-grub root@ubuntu:~# grub-install /dev/sda???

  5. Restez dans le chroot !

Initramfs

  1. Créer un initramfs hoock script qui copie cryptestup via copy-exec
  2. update-initramfs -u -k all

Comment démarrer

  1. Vous obtenez un menu Grub vide ; tapez "c" pour obtenir une ligne de commande.

  2. Exécutez ce qui suit :

    insmod luks # load kernel module cryptomount hd0,gpt6 # decrypt your encrypted partition configfile (crypto0)/boot/grub/grub.cfg # tell grub the path to the now unecrypted config file

  3. Maintenant vous devriez obtenir le menu Grub avec les entrées de démarrage appropriées.

  4. Après avoir sélectionné "Ubuntu", vous devriez arriver dans initramfs.

  5. Maintenant, exécutez ce qui suit

    cryptsetup luksOpen /dev/sda6 system exit

Alternative

Vous pouvez utiliser le guide ci-dessous. Il semble traiter les problèmes mentionnés ci-dessus. Bien que je n'aie pas essayé, je ne peux pas être sûr que cela fonctionne. Mais cela peut valoir la peine de s'y intéresser. https://cryptsetup-team.pages.debian.net/cryptsetup/encrypted-boot.html

P.S Le guide de dépannage a été écrit de mémoire, donc il peut y avoir quelques pièces manquantes. Mais je voulais quand même l'écrire car il pourrait aider certaines personnes. Cependant si vous trouvez quelque chose qui manque ou qui est inexact, merci de me le dire dans les commentaires pour que je puisse mettre à jour le guide.

4voto

con-f-use Points 17925

Eh bien, vous pourriez faire un sauvegarde de tous les répertoires importants et des logiciels installés. Assurez-vous que votre 13.10 est entièrement mis à jour pour éviter les conflits de version. En général, les éléments à sauvegarder sont les suivants :

Après cela, vous réinstaller le système seulement maintenant crypté. Mettez-le à jour à l'extension complète. Puis déplacer la sauvegarde vers le système crypté et installer tous les logiciels de la version précédente.

Veillez simplement à ne pas écraser les fichiers importants pour le cryptage, lorsque vous remettez la copie de sauvegarde (par ex. /etc/fstab , /etc/cryptab quelques Grub trucs liés et quelques trucs en /boot ne doivent pas être remplacés par les fichiers sauvegardés).

3voto

Craig Hicks Points 709

À partir d'une Ubuntu 16.04 fonctionnelle, j'ai réussi à crypter la partition racine après l'installation, la partition racine contenant tout sauf /boot. J'ai mis /boot sur un usb amovible séparé. Notamment, j'ai fait cela avant de mettre à niveau vers Ubuntu 18, et la mise à niveau a fonctionné correctement sur la version du disque crypté.

Le cryptage n'a pas été effectué "en place", ce qui me convenait parfaitement car je ne voulais pas écraser la version de travail avant que la nouvelle configuration ne fonctionne, de toute façon.

L'exécution de la procédure correcte est extrêmement simple et rapide (bien que la détermination de la procédure correcte ait pris énormément de temps car j'ai suivi quelques fausses pistes).

OUTLINE

  1. Créez un disque USB linux vivant - il est pratique d'avoir la persistance activée. Démarrez sur ce disque USB vivant.
  2. Créez un groupe de volume crypté luks sur une partition vide. (Dans mon cas, c'était sur le même disque que le linux original, mais cela pourrait être un autre disque). Créez des volumes logiques / (root) et swap sur cette partition chiffrée. Ceux-ci agiront comme des partitions virtuelles en ce qui concerne le linux copié.
  3. Copiez les fichiers de l'ancienne racine vers la nouvelle.
  4. Configurez et partitionnez une autre clé USB qui servira de disque de démarrage amovible.
  5. Configurez quelques fichiers dans la nouvelle racine, faites un peu de magie, et chrootez dans la nouvelle racine, puis installez Grub sur le disque de démarrage à partir du nouvel environnement racine chrooté.

DÉTAILS

1 - Démarrer avec un disque USB linux vivant - il est pratique d'avoir la persistance activée.

J'ai installé Ubuntu 16 sur un usb avec unetbootin. L'interface graphique permet de spécifier la "persistance", mais une autre étape est également nécessaire pour que la persistance fonctionne - modifier /boot/grub/grub.cfg à ajouter --- persistent comme suit :

menuentry "Try Ubuntu without installing" {
    set gfxpayload=keep
    linux   /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- persistent
    initrd  /casper/initrd
}

Démarrez avec l'USB live

2- Créez un groupe de volume crypté luks sur une partition vide. Créez des volumes logiques / (root) et swap sur cette partition chiffrée.

Supposons que la partition inutilisée à crypter est /dev/nvme0n1p4 .

En option, Si vous avez des données anciennes sur la partition que vous voulez cacher avant le cryptage et le formatage, vous pouvez effacer la partition au hasard. Voir la discussion ici .

dd if=/dev/urandom of=/dev/nvme0n1p4 bs=4096 status=progress

Configurez le cryptage.

cryptsetup -y -v luksFormat /dev/nvme0n1p4

Il vous sera demandé de définir un mot de passe.

cryptsetup luksOpen /dev/nvme0n1p4 crypt1

Il vous sera demandé de saisir le mot de passe. Notez que crypt1 est un nom arbitraire décidé par l'utilisateur. Maintenant, créez les volumes et le format.

pvcreate /dev/mapper/crypt1
vgcreate crypt1-vg /dev/mapper/crypt1

lvcreate -L 8G crypt1-vg -n swap
mkswap /dev/crypt1-vg/swap

lvcreate -l 100%FREE crypt1-vg -n root
mkfs.ext4 /dev/crypt1-vg/root

Utilisez ces utilitaires pour visualiser les volumes et comprendre la hiérarchie.

pvscan
vgscan
lvscan
ls -l /dev/mapper
ls -l /dev/crypt1

3- Copier les fichiers de l'ancienne racine vers la nouvelle

mkdir /tmp/old-root 
mount /dev/ubuntu-vg/root /tmp/old-root/
mkdir /tmp/new-root
mount /dev/crypt1-vg/root /tmp/new-root/
cp -a /tmp/old-root/. /tmp/new-root/

umount /tmp/old-root
umount /tmp/new-root

cp -a ... copie en mode archive, en préservant tous les modes et drapeaux de fichiers.

4- Configurez et partitionnez une autre clé USB qui servira de disque de démarrage amovible.

J'ai utilisé gparted pour cela. Créez deux partitions. La première partition est vfat le second ext2 . Chacun était de 512 Mo, vous pouvez vous en sortir avec moins. Supposons que l'appareil /dev/sdf .

# The first partition: (will be /dev/sdf1)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: fat32
Label: (leave)

# The second partition: (will be /dev/sdf2)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: ext4
Label: (leave) 

5- Configurer quelques fichiers dans la nouvelle racine, faire un peu de magie, et chrooter dans la nouvelle racine et ensuite installer Grub sur le disque de démarrage à partir du nouvel environnement racine chrooté.

Trouver quelques UUIDs pour une utilisation ultérieure. Notez les sorties des commandes suivantes :

blkid /dev/sdf1
blkid /dev/sdf2
blkid /dev/nvme0n1p4

Monter la partition racine et les partitions de démarrage

sudo mount /dev/mapper/crypt1--vg-root /mnt
sudo mount /dev/sdf2 /mnt/boot
sudo mount /dev/sdf1 /mnt/boot/efi

Configurer le fichier /mnt/etc/fstab

/dev/mapper/crypt1--vg-root /               ext4    errors=remount-ro 0       1
/dev/mapper/crypt1--vg-swap none    swap    sw              0       0
UUID=[uuid of /dev/sdf2] /boot           ext2    defaults        0       2
UUID=[uuid of /dev/sdf1]  /boot/efi       vfat    umask=0077      0       1

où "[uuid de ...]" est juste une combinaison lettre-numéro-hyphen.

Créer le fichier /mnt/etc/cryptab

# <target name> <source device>     <key file>  <options>
crypt1 UUID=[uuid of /dev/nvme0n1p4] none luks,discard,lvm=crypt1--vg-root

Une certaine magie est nécessaire pour entrer dans l'environnement du répertoire racine :

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
chroot /mnt

Maintenant, configurez le disque USB de démarrage avec grub :

apt install --reinstall grub-efi-amd64
grub-install --efi-directory=/boot/efi --boot-directory=/boot --removable
update-initramfs -k all -c
update-grub

Vous devriez maintenant être en mesure de redémarrer et de démarrer en utilisant le disque de démarrage USB nouvellement créé.

Tir à la carabine -

(a) Le réseau doit être connecté pour que le apt install --reinstall grub-efi-amd64 commande. Si le réseau est connecté mais que le DNS échoue, essayez de

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

(b) Avant d'appeler initramfs le courant vmlinuz... utilisé dans le linux original doit être présent dans le nouveau répertoire racine. S'il ne l'est pas, trouvez-le et placez-le là.

(c) Le site grub-install recherchera par défaut tous les autres disques linux qu'elle peut trouver même s'ils ne sont pas mount et les mettre dans le menu de démarrage sur la nouvelle clé USB de démarrage. Habituellement, cela n'est pas souhaité, donc cela peut être évité en ajoutant cette ligne à /boot/default/grub.cfg :

GRUB_DISABLE_OS_PROBER=true

NOTE : Un fichier texte contenant la clé de cryptage peut être ajouté à la clé USB de démarrage amovible.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X