Mise à jour : Debian 10.0 Buster
Trois méthodes d'effacement de disque sont utilisables pour effacer les données d'un disque et les rendre irrécupérables.
Sommaire
L'effacement prévu étant irréversible, il est important avant de démarrer l'opération
d'identifier sans ambiguïté les volumes ou partitions à modifier
d'identifier le type de connexion (USB ou direct PIC) et le type de disque (magnétique ou SSD)
Lister les disques disponibles
$ lsscsi
[2:0:0:0] disk ATA KINGSTON SHSS37A 02.H /dev/sda
[3:0:0:0] disk KINGSTON SHSS37A240G 0223 /dev/sdb
[4:0:0:0] disk WD 1600BEV External 1.05 /dev/sdc
[5:0:0:0] disk USB Flash Disk 1100 /dev/sdd
[N:0:4:1] disk Samsung SSD 970 EVO 250GB__1 /dev/nvme0n1
Dans l'exemple, ci-dessus 5 "disques" sont connectés, relever l'identifiant /dev/xxx du disque à effacer
sudo dd if=/dev/sda count=1 bs=1G status=none |hexdump -C
$ sudo dd if=/dev/sdc count=1 bs=1G status=none |hexdump -C
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
40000000
L'effacement par recopie est la méthode préférentielle pour les mémoires Flash connectées par USB, ou lorsque seulement une partition doit être effacée, ou lorsque le disque ne supporte pas la commande "Secure Erase"
$ sudo dd if=/dev/zero of=/dev/sdd bs=512 conv=fdatasync status=progress
Pour écrire des données aléatoires, utiliser le générateur /dev/urandom
$ sudo dd if=/dev/urandom of=/dev/sdd bs=512 conv=fdatasync status=progress
Voir Chiffrage partition
$ sudo hdparm -I /dev/sda |grep Model
Model Number: KINGSTON SHSS37A480G
$ sudo hdparm -I /dev/sdc |grep -i erase
supported: enhanced erase
54min for SECURITY ERASE UNIT. 54min for ENHANCED SECURITY ERASE UNIT.
$ sudo hdparm -I /dev/sda |grep -i erase
supported: enhanced erase
2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
Dans les deux exemples, les deux modes d'effacement sont disponibles : le mode standard et le mode avancé
$ sudo hdparm -I /dev/sda |grep frozen
not frozen
S'il est gelé
$ sudo systemctl suspend
puis réveiller le système
Mettre un mot de passe quelconque
Ci-dessous le mot de passe utilisé est secret
$ sudo hdparm --user-master u --security-set-pass secret /dev/sdc
Passer une des deux commandes d'effacement
$ sudo hdparm --user-master u --security-erase secret /dev/sdc
ou bien
$ sudo hdparm --user-master u --security-erase-enhanced secret /dev/sdc
$ sudo aptitude install nvme-cli
$ sudo nvme list
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 S465xxxxxxx76V Samsung SSD 970 EVO 250GB 1 47,11 GB / 250,06 GB 512 B + 0 B 2B2QEXE7
$ sudo nvme id-ctrl -H /dev/nvme0n1 |grep "mn "
mn : Samsung SSD 970 EVO 250GB
$ sudo nvme id-ctrl -H /dev/nvme0n1 |grep -i "secure"
[2:2] : 0x1 Crypto Erase Supported as part of Secure Erase
$ sudo nvme id-ctrl -H /dev/nvme0n1 |grep -i "Format NVM"
[1:1] : 0x1 Format NVM Supported
$ sudo nvme format /dev/nvme0n1 --ses=1
$ sudo nvme format /dev/nvme0n1 --ses=2
La signification de l'option "--ses=" est indiquée dans l'aide de la commande nvme format :
$ sudo nvme help format
....
-s <ses>, --ses=<ses>
Secure Erase Settings: This field specifies whether a secure erase
should be performed as part of the format and the type of the secure erase operation. The erase applies to all user data, regardless of location (e.g., within an exposed LBA, within a cache, within deallocated LBAs, etc). Defaults to 0.
Value Definition
0 No secure erase operation requested
1 User Data Erase: All user data shall be erased, contents of the user data after the erase is indeterminate (e.g., the user data may be zero filled, one filled, etc). The controller may perform a cryptographic erase when a User Data Erase is requested if all user data is encrypted.
2 Cryptographic Erase: All user data shall be erased cryptographically.
This is accomplished by deleting the encryption key.
3-7 Reserved