Ceci est une ancienne révision du document !
Chiffrer votre système manuellement avec le swap aléatoire
Afin de protéger au mieux vos données personnelles, il peut être nécessaire de chiffrer vos partitions utilisateur. En effet, si via le système il est impossible d’accéder aux fichiers qui ne vous appartiennent pas, un simple passage sur un live cd permet d’accéder à n’importe quel fichier de votre système. Le chiffrement de partition permet d’éviter ça. Il est aussi possible en live cd de changer votre mot de passe utilisateur et si vous en avez un différent pour root. C'est également possible. Ce genre de pratique vous protégé contre les accès physique a votre ordinateur.
Ubuntu intègre en standard les outils nécessaires à une gestion simple de votre sécurité.
Les premières chose qui faut tenir en compte est la structure de vos partitions, le type de BIOS et quel genre de table des partition que vous allez choisir. Quelque référence sur le sujet se trouvent en bas la page. Je vais aussi vous faire installer lvm et cryptsetup pour vous donner une idée un peu plus approfondi.
Avec le gestionnaire de disque d'Ubuntu changer votre table des partitions de MBR a une en GPT. Si votre disque dur n'est pas déjà de ce type.
Voici la structure des partitions que je vous conseil de creer en tenant compte de ce qui se trouvent plus haut :
sda1 : 1Mo Unformated avec comme flag "bios_grub". sda2 : 500Mo en ext4 pour accueillir GRUB. sda3 : De la taille de votre choix qui sera l'espace d'echange swap. sda4 : Partition pour le root "/" elle aussi en ext4, pour votre système, qui sera de la taille de votre choix.
Démarrer votre distribution en live.
Ouvrez un terminal et placez vous en root permanent :
sudo su
Lancez un update de la liste de paquets :
apt-get update
Installez les outils nécessaires :
apt-get install lvm2 cryptsetup
Pour la suite, il vous faudra vous informer sur les type de chiffrement. Moi j'utilise un chiffrement de type aes-xts-plain64.
cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sda4
cryptsetup vous invitera a taper YES en majuscule pour continuer. Ensuite, il vous demandera de choisir un passphrase. Je vous conseil de mettre quelque chose de dure a trouver et de mettre 64 caractères en tout. Prévoyiez aussi le type de clavier que vous utilisez. Vous pourrez avoir de mauvaise surprise…
Il vous faut maintenant ouvrir la partition chiffrer.
cryptsetup luksOpen /dev/sda4 crypt
Formatez la partition chiffrer en ext4.
mkfs.ext4 /dev/mapper/crypt
Maintenant, fermez le terminal et lancer l'installation. Durant l'installation choisissez le partitionnement manuel. Prenez la partition monter sur /dev/mapper/crypt pour /. Sélectionner la partition pour GRUB qui doit être monter sur /boot. Sélectionner le swap. Suivez les instructions de l'installateur. Choisissez d'installer le chargeur d’amorçage du disque sur sda.
A la fin de l'installation, choisissez de continuer a tester la distribution
Ouvrez deux terminal et placez-vous en root permanent.
Un des deux sert a travailler avec le chroot et l'autre avec le système live.
Maintenant, il vous faut montez votre nouvelle installation dans /mnt pour mettre en place le système de démarrage.
cd /mnt
Créez un répertoire pour monter votre système :
mkdir root
Si votre partition système (monter sous le nom de crypt dans mon cas) et celle du boot(qui par exemple est sur sda2) sont tout les deux de type ext4 tapez ces commandes :
mount -t ext4 /dev/mapper/crypt root
mount -t ext4 /dev/sda2 root/boot
Notez bien qu'il est possible que l'internet ne soit pas fonctionnel quand vous allez changer de root. Si c'est la cas, tapez cette commande :
cp /etc/resolv.conf /mnt/root/etc/resolv.conf
Changer de root :
sudo chroot root
Testez la connexion avec un ping sur Google :
ping www.google.com
Monter ce qui est nécessaire avant de poursuivre :
mount -t proc proc /proc
mount -t sysfs sys /sys
mount -t devpts devpts /dev/pts
Lancez l'update des paquets et installez ceci au besoin.
apt-get update
apt-get install lvm2 cryptsetup
Maintenant, ouvrez Gparted une autre fois. Désactiver le swap. Supprimez-le et recréer une partition de type "Unformated".
Lancez cette commande sans le chroot :
cryptsetup -d /dev/urandom create cryptoswap /dev/sdXX
Remplacer les deux XX par la partition en question (ex. sda3)…
Encore sans le chroot lancez cette commande :
blkid
Repérez l'UUID de votre partition système.
Avec votre nouvelle installation monter dans chroot. Ouvrez nano et éditer le fichier crypttab :
sudo nano /etc/crypttab
Insérez-y l'UUID obtenu avec la commande blkid dans le fichier ouvert comme ceci :
crypt UUID=XXXX none luks
Rajoutez au tout début du fichier une ligne supplémentaire pour le swap. Par exemple :
cryptoswap /dev/sdXX /dev/urandom cipher=aes-xts-plain64:sha512,hash=ripemd160,size=512,swap
Remplacez les deux XX par la partition correspondante.
Il faut maintenant monter ce système dans fstab :
sudo nano /ect/fstab
/dev/mapper/cryptoswap none swap sw 0 0
Après ces modification il vous faut updater le système d'initiation comme ceci :
update-initramfs -u
Assurez-vous d'avoir indiquer a votre fichier crypttab de monter la partition système. Comme indiquer un peu plus haut.
Si tout se passe bien avec la dernière commande. Vous pouvez finalement redémarrer votre système.
Si vous devez réinstaller une distribution
Si il vous est nécessaire un jour de tout réinstaller votre ou vos système et que vous ne changer pas les tailles de vos partitions. Vous n’êtes pas obliger d'effacer votre disque dur avec la commande shred. Au cas ou vous serez obliger, voici la commande qui vous sera utile et qui utilise 35 pass :
sudo shred -n 35 /dev/sda
SSD
Si vous avez un SSD dans votre machine. Dit-te vous qu'il risque de rendre l'ame avant que quelqu'un rentre dans votre systeme.
Liens
* Reference sur cryptsetup : http://doc.ubuntu-fr.org/cryptsetup
* Reference sur GRUB 2 : http://doc.ubuntu-fr.org/grub-pc
* Reference sur GRUB Customizer : http://doc.ubuntu-fr.org/grub-customizer
* Reference sur les BIOS : http://fr.wikipedia.org/wiki/Basic_Input_Output_System
* Reference sur les table de partition en GPT : http://fr.wikipedia.org/wiki/GUID_Partition_Table
Kyzis