Guida alle tecnologie

Come usare shred su Linux per cancellare in modo sicuro dischi e partizioni

• 6 min read • Sicurezza dati • Aggiornato 10 Oct 2025
Cancellare dischi Linux con shred in modo sicuro
Cancellare dischi Linux con shred in modo sicuro

Foto di un disco rigido con un cacciavite e software di cancellazione

Introduzione

Cancellare i dati prima di vendere, riciclare o scartare un disco è essenziale per la privacy. Eliminare file con rm rimuove solo i puntatori del filesystem: i dati grezzi rimangono sul disco e possono essere recuperati. Anche riempire con zeri non sempre basta. shred è uno strumento che sovrascrive ripetutamente dati su file, partizioni o dischi interi per ridurre la probabilità di recupero anche con attrezzature complesse.

Definizione rapida: shred = utilità GNU che sovrascrive aree di memorizzazione ripetutamente e può aggiungere un’ultima passata con zeri.

Come funziona shred

shred scrive più passate di dati casuali su file o dispositivi a blocchi. Le opzioni principali controllano il numero di passate, la visualizzazione del progresso e una passata finale con zeri per nascondere che il disco è stato sovrascritto.

Esempi tipici di comandi (rimangono comandi shell):

man shred
which shred
apt-get install coreutils

Notare dal manuale di shred

Il manuale contiene un avviso importante — tradotto qui per chiarezza:

ATTENZIONE: Nota che shred si basa su un'assunzione molto importante: che il file system sovrascriva i dati in posizione. Questo è il modo tradizionale di operare, ma molti moderni progetti di file system non soddisfano questa assunzione. Gli esempi seguenti sono file system sui quali shred non è efficace, o non è garantito efficace in tutte le modalità del file system:
* file system log‑structured o journaling, come quelli forniti con AIX e Solaris (e JFS, ReiserFS, XFS, Ext3, ecc.)
* file system che scrivono dati ridondanti e continuano anche se alcuni write falliscono, come i file system basati su RAID
* file system che creano snapshot, come alcuni server NFS o appliance di rete
* file system che mettono in cache in posizioni temporanee, come client NFS versione 3
* file system compressi

Nel caso di ext3, il manuale osserva che il problema si presenta solo nella modalità data=journal (che effettua il journal anche dei dati). Nelle modalità data=ordered (predefinita) e data=writeback, shred funziona come previsto.

Quando shred non è efficace

  • File system journaling, log‑structured o con snapshot: le scritture possono andare in posizioni diverse.
  • RAID e livelli che mantengono copie multiple: le copie ridondanti possono non essere sovrascritte.
  • SSD e flash: wear‑leveling e over‑provisioning possono lasciare blocchi non raggiungibili da sovrascritture standard.
  • File system compressi o sistemi che scrivono cache temporanee.

Important: per dispositivi a stato solido (SSD), utilizzare metodi specifici (vedi sezione Alternative) perché shred potrebbe non raggiungere tutte le celle fisiche.

Preparazione: eseguire da live o modalità rescue

Se devi cancellare la partizione di sistema, avvia da un Live‑CD/USB (es. Ubuntu Live, Knoppix) o usa il sistema di rescue del tuo hoster. Non puoi cancellare una partizione montata e in uso.

Installare shred

shred fa parte di coreutils; su Debian/Ubuntu e derivati puoi installarlo così:

apt-get install coreutils

Verifica la presenza con:

which shred

Uso base di shred su partizioni e dischi

Per sovrascrivere la partizione /dev/sda5 dieci volte e vedere il progresso:

shred -vfz -n 10 /dev/sda5

Spiegazione opzioni:

  • -v : visualizza il progresso
  • -f : forza cambiamento di permessi se necessario (per permettere la scrittura)
  • -z : aggiunge una passata finale con zeri per nascondere l’operazione di shredding
  • -n N : numero di passate N (default = 3)

Per una partizione RAID (es. /dev/md1):

shred -vfz -n 10 /dev/md1

Per un intero disco (es. /dev/sda):

shred -vfz -n 10 /dev/sda

Nota: il tempo di esecuzione dipende dalla capacità del disco e dal numero di passate.

Alternative e approcci quando shred non basta

  • hdparm –security‑erase per dischi ATA che supportano secure erase (utile per SSD/HDD moderni)
  • nvme format o comandi NVMe per dispositivi NVMe con secure erase
  • blkdiscard (per dispositivi che supportano TRIM/discard) per neutralizzare le celle su alcuni SSD
  • dd con /dev/urandom o /dev/zero per sovrascritture sequenziali (più lento e meno flessibile)
  • Crittografia preventiva: cifrare il disco fin dall’installazione e poi eliminare la chiave (fast, efficace)
  • Distruzione fisica (ultima risorsa per sicurezza massima)

Quando preferire ciascuno: per SSD e NVMe, secure‑erase e comandi specifici dell’interfaccia sono generalmente migliori di overwrite software. Per HDD tradizionali, shred o dd possono essere adeguati.

Procedura consigliata (Playbook) per cancellare un disco da usare prima di vendere

  1. Effettua backup dei dati necessari e verifica l’integrità del backup.
  2. Avvia il sistema da live USB o entra in modalità rescue.
  3. Identifica il dispositivo con lsblk o fdisk -l.
lsblk
fdisk -l
  1. Se è un SSD: valuta hdparm o nvme secure erase. Se è un HDD tradizionale, shred è accettabile.
  2. Esegui shred (es. 3–10 passate a seconda del livello di sicurezza desiderato):
shred -vfz -n 10 /dev/sdX
  1. Verifica il risultato leggendo i primi blocchi (dovrebbero essere zeri o dati strani):
hexdump -C -n 512 /dev/sdX
  1. Registrare timestamp e identificatori del device per audit/privacy.

Checklist rapida prima di eseguire

  • Backup completato e verificato
  • Dispositivo corretto identificato
  • Avviato da live o rescue
  • Conosci tipo di dispositivo (HDD, SSD, NVMe)
  • Scelta della tecnica di wipe confermata
  • Tempo e risorse disponibili (l’operazione può durare ore)

Criteri di verifica

  • Lo strumento hexdump non mostra dati leggibili nelle prime aree controllate.
  • Per dischi crittografati, la rimozione della chiave rende i dati irrimediabilmente illeggibili.
  • Per SSD, conferma con strumenti SMART o output del vendor che la procedura è stata eseguita.

Rischi e mitigazioni

  • Rischio: cancellare il dispositivo sbagliato. Mitigazione: usare UUID o etichette e ricontrollare con lsblk/fdisk.
  • Rischio: usare shred su SSD con wear‑leveling (incompleto). Mitigazione: usare secure‑erase specifico per dispositivo.
  • Rischio: perdita di dati non ancora salvati. Mitigazione: backup e test restauri.

Note sulla privacy e conformità

Cancellare dati personali è spesso parte di obblighi legali o contrattuali (es. per GDPR). Conserva traccia delle operazioni (data, dispositivo, metodo) e usa metodi appropriati per il tipo di supporto: la cancellazione logica non sempre soddisfa requisiti formali di distruzione.

Esempi di comandi utili riassuntivi

# Verifica presenza shred
which shred

# Wipe partizione
shred -vfz -n 10 /dev/sda5

# Wipe disco intero
shred -vfz -n 10 /dev/sda

# Controllo esadecimale dei primi 512 byte
hexdump -C -n 512 /dev/sda

Quando preferire la distruzione fisica

Se il supporto contiene dati estremamente sensibili e non c’è fiducia nel metodo software, la distruzione fisica (triturazione, smagnetizzazione certificata per HDD) è l’opzione definitiva.

Sommario finale

shred è uno strumento efficace per sovrascrivere dischi e partizioni tradizionali. Prima dell’uso, identifica il tipo di dispositivo e valuta se shred è appropriato: i file system journaled, i RAID e gli SSD possono richiedere metodi diversi. Segui la procedura di backup, avvia da un ambiente live, applica il numero di passate richiesto e verifica l’esito. Conserva una piccola registrazione delle operazioni per motivi di privacy e audit.

Note importanti: non eseguire operazioni di cancellazione su sistemi montati; la cancellazione è irreversibile.

Autore
Redazione

Materiali simili

Installare e usare Podman su Debian 11
DevOps

Installare e usare Podman su Debian 11

Guida rapida a apt-pinning su Debian
Linux

Guida rapida a apt-pinning su Debian

Forzare FSR 4 con OptiScaler: guida completa
Guide.

Forzare FSR 4 con OptiScaler: guida completa

Dansguardian + Squid NTLM su Debian Etch
Rete

Dansguardian + Squid NTLM su Debian Etch

Riparare errore installazione SD su Android
Android

Riparare errore installazione SD su Android

Cartelle di rete con KNetAttach e remote:/
Linux

Cartelle di rete con KNetAttach e remote:/