Vernichten Sie alte Datendateien aus demselben Grund, aus dem Sie alte Papierdokumente vernichten. Wir sagen Ihnen, was Sie über das sichere Löschen von Linux-Dateien wissen müssen. Dieses Tutorial behandelt die shred
Befehl und die secure-delete
Reihe von Dienstprogrammen.
Gelöschte Dateien können normalerweise wiederhergestellt werden
Durch das Löschen einer Datei wird diese nicht entferntIhre Festplatte. Es hängt alles davon ab, wie Ihr Dateisystem Inodes verwendet. Dies sind die Datenstrukturen im Dateisystem, die die Metadaten zu den Dateien enthalten. Der Name der Datei, ihre Position auf der Festplatte, ihre Attribute und Berechtigungen usw. werden alle in einem Inode gespeichert. Ein Verzeichnis ist nicht mehr als eine Datei. Eine, die die Namen und Inode-Nummern der Dateien enthält, die das Verzeichnis enthält.
Wenn Sie eine Datei mit löschen rm
gibt das Dateisystem den entsprechenden Inode freiund passt die Verzeichnisdatei an. Dies markiert den Speicherplatz auf der Festplatte, den die Datei verwendet hat, als nicht verwendet. Stellen Sie sich vor, Sie gehen in eine Bibliothek, durchsuchen die Kartei, suchen die Katalogkarte eines Buches und zerreißen sie. Das Buch ist noch im Regal. Es ist nur schwieriger zu finden.
Mit anderen Worten, der Raum, der von derDie Datei kann jetzt von anderen Dateien verwendet werden. Aber der Inhalt der alten Datei befindet sich immer noch in diesem Bereich. Bis dieser Speicherplatz überschrieben wird, besteht eine gute Chance, dass die Datei abgerufen werden kann.
Es ist jedoch nicht so einfach, eine Datei vollständig zu entfernen, wie sie einfach zu überschreiben. Wie wir sehen werden.
Tun Sie dies nicht mit SSDs
Diese Techniken sind für traditionelleelektromechanische Festplattenlaufwerke (HDD) und sollten nicht mit Solid-State-Laufwerken (SSD) verwendet werden. Dies funktioniert nicht und führt zu zusätzlichen Schreibvorgängen und unnötigem Verschleiß Ihrer SSD. Um Daten von einer SSD sicher zu löschen, sollten Sie das Dienstprogramm verwenden, das vom Hersteller Ihrer SSD bereitgestellt wird.
VERBUNDEN: So löschen Sie Dateien und Verzeichnisse im Linux-Terminal
Der Shred-Befehl
shred
wurde entwickelt, um das Überschreiben für Sie durchzuführenEine gelöschte Datei kann nicht wiederhergestellt werden. Es ist in allen Linux-Distributionen enthalten, die während der Recherche für diesen Artikel getestet wurden, einschließlich Ubuntu, Fedora und Manjaro.
In diesem Beispiel arbeiten wir in einemVerzeichnis mit dem Namen ~ / research, das viele Textdateien enthält. Es enthält auch einige andere Verzeichnisse, die wiederum andere Dateien enthalten. Wir gehen davon aus, dass diese Dateien vertraulich sind und vollständig von der Festplatte gelöscht werden müssen.
Wir können die Verzeichnisbaumstruktur sehen, indem wir das benutzen tree
Befehl wie folgt. Das -d
(Verzeichnis) Option verursacht tree
um nur Verzeichnisse aufzulisten und nicht um alle Dateien aufzulisten. Die Verzeichnisbaumstruktur sieht folgendermaßen aus:
tree -d
Shreddern einer einzelnen Datei
Um eine einzelne Datei zu zerkleinern, können wir den folgenden Befehl verwenden. Die Optionen, die wir verwenden, sind:
- u: Datei nach dem Überschreiben freigeben und entfernen.
- v: Ausführliche Option, damit
shred
sagt uns, was es tut. - z: Führt ein endgültiges Überschreiben mit Nullen durch.
shred -uvz Preliminary_Notes.txt_01.txt
shred
überschreibt die Datei standardmäßig viermal. Die ersten drei Durchgänge verwenden Zufallsdaten, und der letzte Durchgang verwendet Nullen, wie von uns angefordert. Anschließend wird die Datei entfernt und einige der Metadaten im Inode überschrieben
Festlegen der Anzahl der Überschreibdurchläufe
Wir können fragen shred
Um mehr oder weniger Überschreibdurchgänge zu verwenden, verwenden Sie die -n
Option (Nummer). shred
wird immer mindestens einen Durchgang verwenden. Die Nummer, die wir hier angeben, ist die Nummer von extra Pässe benötigen wir shred
aufführen. Damit shred
wird immer einen Durchgang mehr machen als die Nummer, nach der wir fragen. Um insgesamt drei Pässe zu erhalten, fordern wir zwei zusätzliche Pässe an:
shred -uvz -n 2 Preliminary_Notes.txt_02.txt
Wie erwartet, shred
macht drei Pässe.
Weniger Pässe - weniger Shreddings, wenn Sie möchten - sind offensichtlich schneller. Aber ist es weniger sicher? Interessanterweise sind drei Durchgänge wahrscheinlich mehr als genug.
VERBUNDEN: Sie müssen eine Festplatte nur einmal löschen, um sie sicher zu löschen
Zerkleinern mehrerer Dateien
Platzhalter können mit verwendet werden shred
um Dateigruppen auszuwählen, die gelöscht werden sollen. Das *
steht für mehrere Zeichen, und die ?
steht für ein einzelnes Zeichen. Dieser Befehl löscht alle verbleibenden "Preliminary_Notes" -Dateien im aktuellen Arbeitsverzeichnis.
shred -uvz -n 2 Preliminary_Notes_*.*
Die restlichen Dateien werden jeweils von verarbeitet shred
im Gegenzug.
shred
hat keine rekursive Option, daher kann sie nicht zum Löschen von Verzeichnisbäumen verschachtelter Verzeichnisse verwendet werden.
Das Problem mit dem sicheren Löschen von Dateien
So gut wie shred
Es gibt ein Problem. Moderne Journaling-Dateisysteme wie ext3 und ext4 unternehmen enorme Anstrengungen, um sicherzustellen, dass sie nicht kaputt gehen, beschädigt werden oder Daten verlieren. Bei Journaling-Dateisystemen kann nicht garantiert werden, dass das Überschreiben tatsächlich über den von der gelöschten Datei belegten Festplattenspeicher erfolgt.
Wenn Sie sich sicher sind, dass die Dateien ein bisschen gründlicher gelöscht wurden als rm
hätte es dann getan shred
ist wahrscheinlich in Ordnung. Aber machen Sie nicht den Fehler, zu glauben, dass die Daten definitiv verschwunden und nicht mehr wiederherstellbar sind. Das ist durchaus möglich nicht der Fall.
VERBUNDEN: Warum Sie eine Datei nicht sicher löschen können und was Sie stattdessen tun müssen
Die Suite zum sicheren Löschen
Das secure-delete
befehle versuchen die besten anstrengungen zu überwindenJournaling-Dateisysteme und um die Datei sicher zu überschreiben. Aber genau die gleichen Einschränkungen gelten. Es gibt immer noch keine Garantie dafür, dass das Überschreiben tatsächlich über den Bereich der Festplatte erfolgt, den Sie zum Löschen der gewünschten Datei benötigen. Es gibt mehr Chancen, aber keine Garantie.
Das secure-delete
Befehle verwenden die folgende Reihenfolge von Überschreibungen und Aktionen:
- 1 mit 0xFF Wert Bytes überschreiben.
- 5 überschreibt mit zufälligen Daten.
- 27 Überschreibungen mit von Peter Gutmann definierten Sonderwerten.
- 5 weitere überschreiben mit zufälligen Daten.
- Benennen Sie die Datei in einen zufälligen Wert um.
- Kürzen Sie die Datei.
Wenn Ihnen das alles übertrieben erscheint, sind Sie dabeigute Firma. Peter Gutmann, Professor an der Universität Aukland, scheint das ebenfalls übertrieben. Er veröffentlichte 1996 einen Artikel über diese Techniken, aus dem der urbane Mythos hervorging, dass Sie alle in diesem Artikel diskutierten Techniken gleichzeitig anwenden müssen.
Peter Gutmann hat seitdem versucht, den Geist wieder in die Flasche zu bekommen, indem er sagte: "Ein gutes Schrubben mit zufälligen Daten wird genauso gut funktionieren, wie es zu erwarten ist."
Aber wir sind da, wo wir sind, und das sind die verschiedenen Techniken, die von der secure-delete
befehle. Aber zuerst müssen wir sie installieren.
Installieren von Secure-Delete
Verwenden apt-get
um dieses Paket auf Ihrem System zu installieren, wenn Sie Ubuntu oder eine andere Debian-basierte Distribution verwenden. Verwenden Sie auf anderen Linux-Distributionen stattdessen das Paketverwaltungstool Ihrer Linux-Distribution.
sudo apt-get install secure-delete
Es gibt vier Befehle in der secure-delete
bündeln.
-
srm
ist ein sichererrm
Dient zum Löschen von Dateien durch Löschen und Überschreiben des Festplattenspeichers. sfill
ist ein Tool zum Überschreiben des gesamten freien Speicherplatzes auf Ihrer Festplatte.sswap
wird zum Überschreiben und Bereinigen des Swap Space verwendet.sdmem
wird verwendet, um Ihren RAM zu reinigen.
Der Befehl srm
Sie verwenden die srm
Befehl viel, wie Sie das verwenden würden rm
Befehl. Verwenden Sie den folgenden Befehl, um eine einzelne Datei zu entfernen. Das -z
(Nullen) Option verursacht smr
Verwenden von Nullen für das endgültige Löschen anstelle von Zufallsdaten. Das -v
(ausführliche) Option macht srm
informieren Sie uns über den Fortschritt.
srm -vz Chapter_One_01.txt
Das werden Sie als Erstes bemerken srm
ist langsam. Es gibt zwar visuelles Feedback, während es funktioniert, aber es ist eine Erleichterung, wenn Sie die Eingabeaufforderung erneut sehen.
Sie können verwenden -l
(Sicherheit verringern) Option, um die Anzahl der Durchgänge auf zwei zu reduzieren, was die Dinge dramatisch beschleunigt.
srm -lvz Chapter_One_02.txt
srm
teilt uns mit, dass dies - seiner Meinung nach - weniger sicher ist, aber es löscht und überschreibt die Datei für uns.
Sie können die Option -l (Sicherheit verringern) zweimal verwenden, um die Anzahl der Durchgänge auf eins zu reduzieren.
srm -llvz Chapter_One_03.txt
Verwenden von srm mit mehreren Dateien
Wir können auch Wildcards mit verwenden srm
. Dieser Befehl löscht und löscht die restlichen Teile des ersten Kapitels:
srm -vc Chapter_One_0?.txt
Die Dateien werden von verarbeitet srm
im Gegenzug.
Löschen von Verzeichnissen und deren Inhalten mit srm
Das -r
(rekursive) Option machen srm
Löschen Sie alle Unterverzeichnisse und deren Inhalte. Sie können den Pfad zum ersten Verzeichnis an übergeben srm
.
In diesem Beispiel löschen wir alles aus dem aktuellen Verzeichnis ~ / research. Dies bedeutet, dass alle Dateien in ~ / research und alle Unterverzeichnisse sicher entfernt werden.
srm -vz *
srm beginnt mit der Verarbeitung der Verzeichnisse und Dateien.
Sie kehren schließlich zur Eingabeaufforderung zurück. Auf dem Testcomputer, auf dem dieser Artikel recherchiert wurde, dauerte das Entfernen von etwa 200 Dateien, die zwischen dem aktuellen Verzeichnis und drei verschachtelten Verzeichnissen verteilt waren, ungefähr eine Stunde.
Alle Dateien und Unterverzeichnisse wurden wie erwartet entfernt.
Der Befehl sfill
Was ist, wenn Sie sich Sorgen über eine Datei machen, die Sie mit rm gelöscht haben, wie können Sie dann über diesen alten Grund gehen und sicherstellen, dass er überschrieben wird? Das sfill
Befehl überschreibt den gesamten freien Speicherplatz auf Ihrer Festplatte.
Dabei werden Sie feststellen, dass Sie immer weniger freien Speicherplatz auf Ihrer Festplatte haben, bis zu dem Punkt, an dem überhaupt kein freier Speicherplatz mehr verfügbar ist. Wann sfill
Anschließend wird der gesamte freie Speicherplatz wieder freigegebenfür dich. Wenn Sie ein Mehrbenutzersystem verwalten, ist dies sehr störend. Dies ist also eine Wartungsaufgabe, die außerhalb der Geschäftszeiten durchgeführt werden sollte.
Selbst auf einem Computer mit nur einem Benutzer ist der Verlust von Festplattenspeicher einmal unbrauchbar sfill
hat den größten Teil des Raumes genutzt. Dies ist etwas, von dem du anfangen und dann weggehen würdest.
Um die Dinge ein wenig zu beschleunigen, können Sie die -l
Option (Sicherheit verringern). Die anderen Optionen sind die -v
(ausführlich) und -z
(Nullen) -Optionen, die wir zuvor gesehen haben. Hier fragen wir sfill
um den gesamten freien Speicherplatz im Verzeichnis / home sicher zu überschreiben.
sudo sfill -lvz /home
Mach es dir bequem. Auf dem Testcomputer, der nur über eine 10-GB-Festplatte verfügt, wurde dies am Nachmittag gestartet und irgendwann über Nacht abgeschlossen.
Es wird stundenlang verschwinden. Und das ist mit das -l
Option (Sicherheit verringern). Schließlich kehren Sie jedoch zur Eingabeaufforderung zurück.
Der Befehl sswap
Das sswap
Befehl überschreibt den Speicher in Ihrer Swap-Partition. Als erstes müssen wir Ihre Swap-Partition identifizieren. Das schaffen wir mit dem blkid
Befehl, der Blockgeräte auflistet.
sudo blkid
Sie müssen das Wort „Swap“ suchen und sich das Block-Gerät notieren, an das es angeschlossen ist.
Wir können sehen, dass die Swap-Partition verbunden ist /dev/sda5
.
Wir müssen die Schreibvorgänge auf der Swap-Partition für die Dauer des Überschreibens deaktivieren. Wir werden das nutzen swapoff
Befehl:
sudo swapoff /dev/sda5
Wir können jetzt die sswap
Befehl.
Wir werden verwenden /dev/sda5
als Teil der Kommandozeile für die sswap
Befehl. Wir werden auch die -v
(ausführliche) Option und -ll
Optionen, die wir früher verwendet haben.
sudo sswap -llv /dev/sda5
sswap
beginnt sich durch Ihre Swap-Partition zu arbeiten und überschreibt alles, was sich darin befindet. Es dauert nicht so lange sfill
. Es fühlt sich einfach so an.
Sobald dies abgeschlossen ist, müssen wir die Swap-Partition als aktiven Swap-Bereich wiederherstellen. Wir machen das mit dem swapon
Befehl:
sudo swapon /dev/sda5
Der Befehl sdmem
Das secure-delete
Das Paket enthält sogar ein Tool zum Löschen der RAM-Chips (Random Access Memory) Ihres Computers.
Bei einem Kaltstart-Angriff ist ein physischer Zugriff auf Ihren Computer sehr kurz nach dem Ausschalten erforderlich. Diese Art von Angriff kann möglicherweise das Abrufen von Daten von Ihren RAM-Chips ermöglichen.
Wenn Sie glauben, Sie müssen sich davor schützenDiese Art von Angriff - und es wäre für die meisten Menschen eine Belastung, wenn sie das für nötig halten - Sie können Ihren Arbeitsspeicher löschen, bevor Sie Ihren Computer ausschalten. Wir werden das verwenden -v
(ausführlich) und -ll
(Sicherheit verringern) Optionen noch einmal.
sudo sdmem -vll
Das Terminalfenster wird mit Sternchen gefüllt, um darauf hinzuweisen sdmem
arbeitet sich durch Ihren RAM.
Die einfache Option: Verschlüsseln Sie einfach Ihr Laufwerk
Warum schützen Sie nicht Ihre Festplatte oder Ihren privaten Ordner durch Verschlüsselung, anstatt Dateien sicher zu löschen?
Wenn Sie das tun, kann niemand auf etwas zugreifen,ob es sich um eine Live-Datei oder eine gelöschte Datei handelt. Und Sie müssen nicht auf der Hut sein und daran denken, vertrauliche Dateien sicher zu löschen, da alle Ihre Dateien bereits geschützt sind.
Die meisten Linux-Distributionen fragen, ob Sie möchtenVerwenden Sie bei der Installation die Verschlüsselung. Wenn Sie "Ja" sagen, wird dies in Zukunft viel Ärger ersparen. Sie dürfen nicht mit geheimen oder sensiblen Informationen umgehen. Wenn Sie jedoch glauben, dass Sie den Computer an eine andere Person abgeben oder verkaufen können, wenn Sie damit fertig sind, wird dies durch die Verschlüsselung ebenfalls vereinfacht.