Linux : comment effacer un disque de manière sécurisée ?
I. Présentation
Dans ce tutoriel, nous allons apprendre à effacer un disque de manière sécurisée sur une machine Linux, à l'aide des commandes "dd" et "shred".
Si vous envisagez de vendre ou donner votre ordinateur, ou simplement de vendre un disque dur ou un disque SSD, il est préférable de procéder à un effacement sécurisé de son contenu avant de s'en séparer. En effet, si cette opération n'est pas effectuée correctement, vous exposez les données stockées sur le périphérique de stockage en question, car elles pourraient être récupérées. Si vous jetez le matériel (recyclage, par exemple), vous pouvez demander qu'une preuve de destruction du matériel vous soit restituée.
Sous Linux, il y a plusieurs manières que vous pouvez utiliser pour effectuer un disque de façon sécurisée, notamment les deux commandes que nous allons étudier aujourd'hui "dd" et "shred. Mais, il en existe probablement d'autres...
Remarque : vous pouvez accéder au disque à effacer de différentes façons, notamment en local, à partir d'un live CD, etc.
II. Effacer un disque avec dd
Avant d'effacer un disque, vous devez commencer par identifier votre cible c'est-à-dire le disque que vous souhaitez effacer. Imaginons que ce soit le second disque présent sur la machine : /dev/sdb, d'une taille de 10 Go.
Vous pouvez lister vos disques avec cette commande :
fdisk -l
Voici un aperçu du disque qui sera utilisé pour cette démonstration :
Ensuite, pour exécuter un effacement sécurisé de ce disque, saisissez cette commande :
dd if=dev/urandom of=/dev/sdb
Cette commande va remplir l'intégralité du disque "/dev/sdb" à l'aide de données aléatoires puisque nous utilisons "/dev/urandom". Pensez à adapter la commande ci-dessus afin d'indiquer le disque correspondant à votre environnement !
Ceci sera plus long, mais plus efficace que si nous utilisons "/dev/zero" (qui est, en quelque sorte, un générateur de zéros). Toutefois, les deux sont possibles.
dd if=dev/zero of=/dev/sdb
Dans les deux cas, vous devez patienter pendant l'opération. Ce processus peut être très long. Tout dépend de la taille du disque et des performances de votre machine. Quand ce sera terminé, le message suivant apparaîtra :
dd: écriture vers '/dev/sdb': Aucun espace disponible sur le périphérique
Voici un exemple :
Bien entendu, rien ne vous empêche de lancer ce processus plusieurs fois : ce ne sera que mieux.
III. Effacer un disque avec shred
La commande shred est également très efficace pour effacer définitivement un fichier ou un disque. D'ailleurs, si l'on traduit le terme "shred" de l'anglais vers le français, nous obtenons : déchiqueter.
Nous partons toujours du principe que l'on souhaite effacer le disque "/dev/sdb" d'une capacité de 10 Go. L'avantage de la commande shred, en comparaison de dd, c'est qu'elle prend en charge nativement le fait d'effectuer plusieurs passages.
Voici comment effectuer 5 passages pour effacer notre disque :
shred -n 5 -vzf /dev/sdb
En complément, voici des explications sur les options "vzf" utilisées ci-dessus :
- -v : mode verbeux, ce qui permet de suivre la progression dans la console.
- -z : ajouter des zéros à la fin du processus d'effacement, c'est une façon de masquer ce que vient de faire shred
- -f : forcer l'opération, ce qui implique de modifier les permissions si nécessaire
En fait, si nous décidons d'effectuer 2 passes (-n 2), il y aura en vérité trois passes : 2 avec des valeurs aléatoires, et 1 avec des zéros (option -z). Ceci est visible sur l'image ci-dessous :
Le mode verbeux est très intéressant pour suivre l'évolution du processus d'effacement. Ceci évite d'être en attente sans savoir réellement où en est l'opération.
Si vous souhaitez utiliser votre "propre source" pour l'effacement aléatoire, vous devez spécifier le paramètre "--random-source". Ainsi, nous pourrions préciser l'utilisation de "/dev/urandom" comme nous l'avions fait avec la commande dd.
Ce qui donne :
shred -n 5 --random-source=/dev/urandom -vzf /dev/sdb
Voilà, il ne reste plus qu'à patienter ! Attention à ne pas se tromper de disque !
IV. Conclusion
Grâce à l'utilisation de ces commandes et après avoir effectué plusieurs passes, vous pouvez envisager de vous séparer sereinement de votre disque ! Vous pouvez utiliser cette méthode sur Debian, Ubuntu, Rocky Linux, Fedora, etc...
Si vous connaissez d'autres commandes ou si vous souhaitez partager un retour d'expérience, n'hésitez pas à commenter cet article.
Il y a aussi la commande wipe il me semble. Dans mes souvenirs, shred et wipe sont plus safe que dd.