Comment supprimer en toute sécurité des fichiers sous Linux

Déchiquetez les anciens fichiers de données pour la même raison que vous déchiquetez les vieux documents papier. Nous vous disons ce que vous devez savoir sur la suppression sécurisée des fichiers Linux. Ce tutoriel couvre le shred commande et le secure-delete suite d’utilitaires.

Les fichiers supprimés sont normalement récupérables

La suppression d’un fichier ne le supprime pas réellement de votre disque dur. Tout dépend de la façon dont votre système de fichiers utilise les inodes. Ce sont les structures de données dans le système de fichiers qui contiennent les métadonnées concernant les fichiers. Le nom du fichier, sa position sur le disque dur, les attributs et autorisations dont il dispose, etc. sont tous stockés dans un inode. Un répertoire n’est rien de plus qu’un fichier lui-même. Celui qui contient les noms et les numéros d’inode des fichiers que le répertoire contient.

Lorsque vous supprimez un fichier avec rm, le système de fichiers libère l’inœud approprié et ajuste le fichier de répertoire. Cela marque l’espace sur le disque dur que le fichier occupait comme inutilisé. Imaginez que vous entrez dans une bibliothèque et que vous parcourez l’index de la fiche, que vous trouvez la carte du catalogue d’un livre et que vous la déchirez. Le livre est toujours sur l’étagère. C’est juste plus difficile à trouver.

En d’autres termes, l’espace qui était utilisé par le fichier est désormais libre d’être utilisé par d’autres fichiers. Mais le contenu de l’ancien fichier se trouve toujours dans cet espace. Tant que cet espace n’est pas écrasé, il y a de bonnes chances que le fichier puisse être récupéré.

Mais se débarrasser complètement d’un fichier n’est pas aussi simple que de simplement l’écraser. Comme nous le verrons.

Ne faites pas cela avec les SSD

Ces techniques sont destinées aux disques durs électromécaniques traditionnels (HDD) et ne doivent pas être utilisées avec les disques SSD (Solid State Drive). Cela ne fonctionnera pas et entraînera des écritures supplémentaires et une usure inutile de votre SSD. Pour effacer en toute sécurité les données d’un SSD, vous devez utiliser l’utilitaire fourni par le fabricant de votre SSD.

Bientôt: Comment supprimer des fichiers et des répertoires dans le terminal Linux

La commande shred

shred est conçu pour effectuer l’écrasement pour vous donc un fichier supprimé ne peut pas être récupéré. Il est inclus dans toutes les distributions Linux qui ont été testées lors de la recherche de cet article, y compris Ubuntu, Fedora et Manjaro.

Dans cet exemple, nous allons travailler dans un répertoire appelé ~ / research, qui contient de nombreux fichiers texte. Il contient également d’autres répertoires qui à leur tour contiennent d’autres fichiers. Nous allons supposer que ces fichiers sont sensibles et doivent être entièrement effacés du disque dur.

Nous pouvons voir l’arborescence des répertoires en utilisant le tree commande comme suit. Le -d (répertoire) cause tree pour lister uniquement les répertoires et ne pas lister tous les fichiers. L’arborescence des répertoires ressemble à ceci:

tree -d

Déchiquetage d’un seul fichier

Pour déchiqueter un seul fichier, nous pouvons utiliser la commande suivante. Les options que nous utilisons sont:

  • u: Désallouer et supprimer le fichier après l’écrasement.
  • v: Option verbeuse, de sorte que shred nous dit ce qu’il fait.
  • z: Effectue un écrasement final avec des zéros.
shred -uvz Preliminary_Notes.txt_01.txt

shred écrase le fichier quatre fois par défaut. Les trois premières passes utilisent des données aléatoires et la dernière passe utilise des zéros, comme nous l’avons demandé. Il supprime ensuite le fichier et écrase certaines des métadonnées dans l’inode

déchiqueter en quatre passes

Définition du nombre de passes d’écrasement

Nous pouvons demander shred pour utiliser plus ou moins de passes d’écrasement en utilisant le -n (nombre) option. shred utilisera toujours au moins une passe. Le nombre que nous fournissons ici est le nombre de supplémentaire nous avons besoin de laissez-passer shred pour effectuer. Alors shred fera toujours une passe de plus que le nombre que nous demandons. Pour obtenir trois laissez-passer au total, nous demandons deux laissez-passer supplémentaires:

shred -uvz -n 2 Preliminary_Notes.txt_02.txt

Comme prévu, shred fait trois passes.

Moins de passes – moins de déchiquetage si vous le souhaitez – est évidemment plus rapide. Mais est-ce moins sûr? Il est intéressant de noter que trois passes sont probablement plus que suffisantes.

Bientôt: Vous n’avez besoin d’effacer un disque qu’une seule fois pour l’effacer en toute sécurité

Déchiquetage de plusieurs fichiers

Les caractères génériques peuvent être utilisés avec shred pour sélectionner des groupes de fichiers à effacer. Le * représente plusieurs caractères et le ? représente un seul caractère. Cette commande supprimerait tous les fichiers «Preliminary_Notes» restants dans le répertoire de travail actuel.

shred -uvz -n 2 Preliminary_Notes_*.*

Les fichiers restants sont chacun traités par shred à son tour.

En relation :  Comment appliquer un modèle de carte de visite à un contact et le personnaliser dans Outlook 2013

shred n’a pas d’option récursive, donc il ne peut pas être utilisé pour effacer les arborescences de répertoires imbriqués.

Le problème de la suppression de fichiers en toute sécurité

Aussi bon que shred est, il y a un problème. Les systèmes de fichiers de journalisation modernes tels que ext3 et ext4 déploient d’énormes efforts pour s’assurer qu’ils ne se cassent pas, ne deviennent pas corrompus ou ne perdent pas de données. Et avec les systèmes de fichiers journalisés, il n’y a aucune garantie que l’écrasement se déroule réellement sur l’espace du disque dur utilisé par le fichier supprimé.

Si vous recherchez une certaine tranquillité d’esprit, les fichiers ont été supprimés un peu plus complètement que rm l’aurait fait, alors shred est probablement très bien. Mais ne faites pas l’erreur de penser que les données ont définitivement disparu et sont totalement irrécupérables. C’est très probablement ne pas l’affaire.

Bientôt: Pourquoi vous ne pouvez pas « supprimer en toute sécurité » un fichier et que faire à la place

La suite de suppression sécurisée

Le secure-delete Les commandes tentent de surmonter les meilleurs efforts de journalisation des systèmes de fichiers et de réussir à écraser le fichier en toute sécurité. Mais exactement les mêmes mises en garde s’appliquent. Il n’y a toujours aucune garantie que l’écrasement se déroule réellement sur la région du disque dur dont vous avez besoin pour effacer le fichier d’intérêt. Il y a plus de chance, mais aucune garantie.

Le secure-delete Les commandes utilisent la séquence d’écrasements et d’actions suivante:

  • 1 écrasement avec des octets de valeur 0xFF.
  • 5 écrasements avec des données aléatoires.
  • 27 écrasements avec des valeurs spéciales définies par Peter Gutmann.
  • 5 autres écrasements avec des données aléatoires.
  • Renommez le fichier en une valeur aléatoire.
  • Tronquez le fichier.

Si tout cela vous semble excessif, vous êtes en bonne compagnie. Cela semble également excessif à Peter Gutmann, professeur à l’Université d’Aukland. Il a publié un article en 1996 discuter de ces techniques, d’où est né le mythe urbain selon lequel vous devez utiliser toutes les techniques décrites dans cet article à la fois.

Peter Gutmann a depuis essayé de remettre le génie dans la bouteille en disant: «Un bon nettoyage avec des données aléatoires fera à peu près aussi bien qu’on peut s’y attendre.»

Mais nous sommes là où nous en sommes, et ce sont l’ensemble des techniques employées par le secure-delete commandes. Mais d’abord, nous devons les installer.

Installation de la suppression sécurisée

Utilisation apt-get pour installer ce paquet sur votre système si vous utilisez Ubuntu ou une autre distribution basée sur Debian. Sur les autres distributions Linux, utilisez plutôt l’outil de gestion des packages de votre distribution Linux.

sudo apt-get install secure-delete

Il y a quatre commandes incluses dans le secure-delete empaqueter.

  1. srm est un sécurisé rm, utilisé pour effacer des fichiers en les supprimant et en écrasant leur espace sur le disque dur.
  2. sfill est un outil pour écraser tout l’espace libre sur votre disque dur.
  3. sswap est utilisé pour écraser et nettoyer votre espace d’échange.
  4. sdmem est utilisé pour nettoyer votre RAM.

La commande srm

Vous utilisez le srm commande autant que vous utiliseriez la rm commander. Pour supprimer un seul fichier, utilisez la commande suivante. Le -z (zéros) cause smr pour utiliser des zéros pour l’effacement final au lieu de données aléatoires. Le -v (verbose) option rend srm nous informer de ses progrès.

srm -vz Chapter_One_01.txt

La première chose que vous remarquerez est que srm est lent. Il fournit des commentaires visuels pendant son fonctionnement, mais c’est un soulagement lorsque vous voyez à nouveau l’invite de commande.

Vous pouvez utiliser -l (réduire la sécurité) pour réduire le nombre de passes à deux, ce qui accélère considérablement les choses.

srm -lvz Chapter_One_02.txt

srm nous informe que cela – à son avis – est moins sûr, mais il supprime et écrase toujours le fichier pour nous.

Vous pouvez utiliser l’option -l (réduire la sécurité) deux fois pour réduire le nombre de passes à un.

srm -llvz Chapter_One_03.txt

Utilisation de srm avec plusieurs fichiers

Nous pouvons également utiliser des caractères génériques avec srm. Cette commande effacera et effacera les parties restantes du chapitre un:

srm -vc Chapter_One_0?.txt

Les fichiers sont traités par srm à son tour.

Suppression de répertoires et de leur contenu avec srm

Le -r (récursive) fera srm supprimer tous les sous-répertoires et leur contenu. Vous pouvez transmettre le chemin du premier répertoire à srm.

Dans cet exemple, nous supprimons tout le répertoire actuel, ~ / research. Cela signifie que tous les fichiers de ~ / research et tous les sous-répertoires sont supprimés en toute sécurité.

srm -vz *

srm commence le traitement des répertoires et des fichiers.

Il vous ramène finalement à l’invite de commande. Sur la machine de test sur laquelle cet article a été recherché, il a fallu environ une heure pour supprimer environ 200 fichiers répartis entre le répertoire actuel et trois répertoires imbriqués.

En relation :  Comment faire un projecteur DIY Shoebox pour votre téléphone

Tous les fichiers et sous-répertoires ont été supprimés comme prévu.

La commande sfill

Que faire si vous êtes préoccupé par un fichier que vous avez supprimé à l’aide de rm, comment pouvez-vous revenir sur ce vieux terrain et vous assurer qu’il est écrasé? Le sfill La commande écrasera tout l’espace libre sur votre disque dur.

En faisant cela, vous remarquerez que vous avez de moins en moins d’espace libre sur votre disque dur, au point où il n’y a plus d’espace libre du tout. Lorsque sfill se termine, il vous libère tout l’espace libre. Si vous administrez un système multi-utilisateurs, cela serait très perturbateur, il s’agit donc d’une tâche de maintenance qui doit être effectuée en dehors des heures d’ouverture.

Même sur un seul ordinateur, la perte d’espace sur le disque dur signifie qu’il est inutilisable une fois sfill a utilisé la majeure partie de l’espace. C’est quelque chose que vous commenceriez et dont vous vous éloigneriez.

Pour essayer d’accélérer un peu les choses, vous pouvez utiliser le -l (réduire la sécurité) option. Les autres options sont les -v (verbeux) et -z (zéros) options que nous avons vues précédemment. Ici, nous demandons sfill pour écraser en toute sécurité tout l’espace libre dans le répertoire / home.

sudo sfill -lvz /home

Mettez-vous à l’aise. Sur l’ordinateur de test, qui ne dispose que d’un disque dur de 10 Go, cela a été lancé en milieu d’après-midi et s’est terminé pendant la nuit.

Il va se désagréger pendant des heures. Et c’est avec le -l (réduire la sécurité) option. Mais, finalement, vous serez renvoyé à l’invite de commande.

La commande sswap

Le sswap La commande écrase le stockage dans votre partition d’échange. La première chose à faire est d’identifier votre partition d’échange. Nous pouvons le faire avec le blkid commande, qui répertorie les périphériques de bloc.

sudo blkid

Vous devez localiser le mot «swap» et noter le périphérique bloc auquel il est attaché.

Nous pouvons voir que la partition d’échange est connectée à /dev/sda5.

Nous devons désactiver les écritures sur disque sur la partition d’échange pendant la durée de l’écrasement. Nous utiliserons le swapoff commander:

sudo swapoff /dev/sda5

Nous pouvons maintenant utiliser le sswap commander.

Nous utiliserons /dev/sda5 dans le cadre de la ligne de commande pour le sswap commander. Nous utiliserons également le -v (verbeux) et -ll (réduire la sécurité), que nous avons utilisées précédemment.

sudo sswap -llv /dev/sda5

sswap commence à se frayer un chemin à travers votre partition d’échange, écrasant tout ce qu’elle contient. Cela ne prend pas aussi longtemps que sfill. C’est juste comme ça.

Une fois terminé, nous devons rétablir la partition de swap en tant qu’espace de swap actif. Nous faisons cela avec le swapon commander:

sudo swapon /dev/sda5

La commande sdmem

Le secure-delete Le paquet contient même un outil pour effacer les puces de mémoire vive (RAM) de votre ordinateur.

UNE attaque de démarrage à froid nécessite un accès physique à votre ordinateur très peu de temps après sa mise hors tension. Ce type d’attaque peut, potentiellement, permettre la récupération des données de vos puces RAM.

Si vous pensez que vous avez besoin de vous protéger contre ce type d’attaque – et il serait difficile pour la plupart des gens de penser qu’ils en ont besoin – vous pouvez effacer votre RAM avant d’éteindre votre ordinateur. Nous utiliserons le -v (verbeux) et -ll (réduire la sécurité) les options une fois de plus.

sudo sdmem -vll

La fenêtre du terminal se remplira d’astérisques pour indiquer que sdmem se fraye un chemin dans votre RAM.

L’option facile: il vous suffit de crypter votre disque

Au lieu de supprimer des fichiers en toute sécurité, pourquoi ne pas sécuriser votre disque dur ou votre dossier de départ à l’aide du cryptage?

Si vous faites cela, personne ne peut accéder à quoi que ce soit, qu’il s’agisse d’un fichier en direct ou d’un fichier supprimé. Et vous n’avez pas besoin d’être sur vos gardes et n’oubliez pas d’effacer en toute sécurité les fichiers sensibles car tous vos fichiers sont déjà protégés.

La plupart des distributions Linux vous demandent si vous souhaitez utiliser le chiffrement au moment de l’installation. Dire «oui» évitera beaucoup d’aggravation future. Vous ne pouvez pas traiter d’informations secrètes ou sensibles. Mais si vous pensez que vous pouvez donner ou vendre l’ordinateur à quelqu’un d’autre lorsque vous en avez terminé avec lui, le cryptage simplifiera cela également.

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.