PROJET AUTOBLOG


NeoSting.net

source: NeoSting.net

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Linux. Secure-delete, ou comment écraser l'espace libre d'un disque #astuce

lundi 20 mai 2013 à 12:46

Il est toujours possible de récupérer des documents effacés sur un disque, même après plusieurs tentatives de suppressions classiques. Avec linux, il existe un outil quasi natif qui permet de supprimer de façon sécurisée les traces résiduelles d'un disque présentes dans son "espace libre". Ce sont bien ces traces qui servent à recouvrir des données. Cet outil, c'est sfill, dans le paquet secure-delete, que l'on peut, pour la majorité des distributions, installer depuis sa logithèque.

sudo apt-get install secure-delete

Je vais vous donner une astuce, par l'intermédiaire d'un script pour Nautilus, qui permet donc de faire un effacement sécurisé directement depuis ce gestionnaire de fichiers de Gnome. Sachez que si, sur un disque SSD, c'est plutôt rapide, ce n'est pas du tout la même histoire sur des clefs USB ou des disques à rotation mécanique. La procédure peut prendre des heures.

Voici donc le script qu'il faut placer dans le répertoire caché .gnome2/nautilus-scripts dans son dossier personnel. (ctrl+h pour le voir)

#!/bin/sh
 
test -z "$PWD" && exit 1
mkdir -p "$PWD/ECRASEMENT"
trap "rm -rf $PWD/ECRASEMENT" EXIT
 
{ (echo 0
MAX=4000000
FREE="$(df -P "$PWD" | awk '/\// { print $4 }')"
if [ "$FREE" -gt "$MAX" ]; then
    for n in $(seq 0 $((90 / ($FREE / $MAX))) 90); do
        echo "$n"
        FILE="$PWD/ECRASEMENT/$FREE.$n.$$"
        echo "# Écrasement de $FILE"
        dd if=/dev/zero of="$FILE" seek="$MAX" bs=1k count=1
        shred -n 3 "$FILE"
    done
    echo 90
fi
echo "# Écrasement de l'espace libre restant"
RESULT=$(gksu --description "sfill" "sh -c '
sfill -l -l \"$PWD/ECRASEMENT\" &&
sfill -l -l \"$PWD/ECRASEMENT\" &&
sfill -l -l \"$PWD/ECRASEMENT\" || echo ERROR")
test "$RESULT" = "ERROR" && exit 1
rm -rf "$PWD/ECRASEMENT"
echo 100
echo "# Écrasement de l'espace libre terminé avec succès"
) || {
echo "# Une erreur est survenue."
zenity --error \
  --text "Une erreur est survenue pendant l'écrasement de l'espace libre." \
  --title "Écrasement de l'espace libre"
} ; } | zenity --progress --title "Écrasement de l'espace libre"

Une fois créé, le code copié et le fichier enregistré en ".sh", il faut le rendre exécutable. On peut le faire via un clic droit "propriété", onglet "permissions" ou dans un terminal avec la commande

chmod +x .gnome2/nautilus-scripts/Effacer-espace-libre.sh

Redémarrez Nautilus pour que le script puisse apparaître au clic droit.

nautilus -q

L'utilisation de sfill, sinon reste très simple dans un terminal, mais cette méthode ne fonctionne pas très bien avec des partitions en fat32.Préférez donc le script dans Nautilus, qui fonctionne bien.

df # pour avoir une liste des disques connectés dans un terminal
sfill -help # pour connaître les commandes. Par exemple -l deux fois ne fera qu'une passe.
sfill -v -l /media/MACLE # /dev/sda...

Sachez enfin que le mieux reste de le faire depuis un live CD/USB et les disques non montés. Si la sécurité de vos données vous intéressent, je vous conseille d'aller lire le guide d'autodéfense numérique.


Linux. Secure-delete, ou comment écraser l'espace libre d'un disque est une publication originale sur le blog NeoSting.net
Article sous licence Creative Commons CC-By

flattr this!