Festplatte zerkleinert sich auf Linux

Festplatte zerkleinert sich auf Linux

Wenn wir eine Datei aus einem Dateisystem löschen, werden die Daten nicht physikalisch entfernt: Das Betriebssystem markiert einfach den Bereich, der zuvor von der Datei besetzt ist, und stellt es zur Verfügung, neue Informationen zu speichern. Die einzige Möglichkeit, sicherzustellen, dass Daten tatsächlich von einem Gerät entfernt werden, besteht darin, sie mit anderen Daten zu überschreiben. Möglicherweise möchten wir einen solchen Betrieb aus Datenschutzgründen ausführen (möglicherweise planen wir, das Gerät zu verkaufen, und wir möchten sicher, dass der neue Eigentümer auf unsere Daten nicht zugreifen kann) oder ein Gerät für die Verschlüsselung vorbereiten kann. In diesem Tutorial sehen wir einige Tools, mit denen wir Daten vollständig auf einem Gerät löschen können

In diesem Tutorial lernen Sie:

  • Wie man Daten mit DD zerkleinert
  • So sichern Sie Dateien und Geräte mit dem Shred-Dienstprogramm, die Dateien und Geräte sicherstellen können
  • So überschreiben Sie Daten mithilfe von Badblocks


Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Verteilungsunabhängige
Software DD, Shred oder Badblocks
Andere
  • Vertrautheit mit der Bash -Shell und der Linux -Befehlszeilenschnittstelle
Konventionen # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Daten mit DD löschen

DD ist ein sehr leistungsstarkes Programm, das standardmäßig in allen wichtigen Linux -Verteilungen enthalten ist. In einem früheren Artikel haben wir gesehen, wie DD im Detail verwendet werden; In diesem Fall möchten wir nur den Inhalt unseres hypothetischen Blockgeräts mit Nullen oder zufälligen Daten überschreiben. In beiden Fällen können wir Daten verwenden, die von „speziellen“ Dateien generiert werden: /dev/null Und dev/urandom (oder /dev/random) bzw. Die ersteren kehren jedes Mal Zullen zurück, wenn eine Lesevorrichtung durchgeführt wird. Letzteres gibt zufällige Bytes mit dem Linux -Kernel -Zufallszahlengenerator zurück.

Um die Festplatte mit Nullen zu füllen, können wir rennen:

$ sudo dd if =/dev/null von =/dev/sdx

Stattdessen zufällige Daten verwenden:

$ sudo dd if =/dev/urandom von =/dev/sdx


Verwenden eines Luks -Containers als Zufallsdatengenerator

Das Überschreiben eines Geräts mit zufälligen Daten ist ein zeitaufwändiger Vorgang, kann jedoch nützlich sein, insbesondere wenn wir planen, die vollständige Festplattenverschlüsselung zu verwenden, um den verwendeten und nicht verwendeten Bestandteil der Scheiben nicht zu unterscheiden zu machen. Um den Vorgang zu beschleunigen, können wir einen kleinen „Trick“ verwenden: Wir können a erstellen Luks(Linux Unified Key Setup) Container auf dem Gerät oder der Partition, die wir mit zufälligen Daten füllen möchten, und schreiben Sie Nullen darauf. Dank der Verschlüsselung werden die Daten transparent als zufällig auf das zugrunde liegende Gerät geschrieben.

Erstens erstellen wir die Luks Container:

$ sudo cryptsetup luksformat /dev /sdx Warnung! ========= Dies überschreibt Daten auf /dev /sdx unwiderruflich. Bist du dir sicher? (Geben Sie Großbuchstaben Ja): Ja, die Passphrase für /dev /sdx eingeben: Überprüfen Sie die Passphrase:

In diesem Fall ist nicht wirklich erforderlich, um ein starkes Kennwort zu verwenden, da wir den Container als Zufallsdatengenerator verwenden und es nach Abschluss des Vorgangs ausgelöscht werden. Sobald der Container fertig ist, öffnen wir ihn, indem wir den folgenden Befehl ausführen:

$ sudo cryptsetup luksopen /dev /sdx kryptiert eingeben passphrase für /dev /sdx:

Nachdem der Behälter geöffnet ist, können wir DD verwenden und mit Nullen füllen. Sehr wichtig: Wir schreiben an den Luks -Container als abgebildet als /Dev/Mapper/Crypted, nicht auf dem zugrunde liegenden /dev/sdx Gerät direkt:

$ sudo dd if =/dev/null von =/dev/mapper/kryptiert BS = 1M

Sobald alle Daten geschrieben wurden, schließen wir den Container und überschreiben den Luks -Header mit zufälligen Daten. Die Größe des Headers hängt vom Format von ab Luks im Gebrauch: es ist 2MIB für das Erbe Luks Format und 16mib für die Luks2 Format, das in jüngsten Versionen von CryptSetup standardmäßig geworden ist. Nur um sicher zu sein, können wir die ersten 20 MIB der Festplatte außer Kraft setzen:

$ sudo cryptsetup luksclose/dev/mapper/kryptiert $ sudo dd if =/dev/urandom von =/dev/sdx bs = 1m count = 20


Daten mit Shred löschen

Der Name dieses Dienstprogramms ist ziemlich selbsterklärend: Das Hauptziel, wie im Handbuch angegeben, besteht darin, Dateien zu überschreiben und sie optional zu löschen. Der Fetzen Das Dienstprogramm beruht auf der Annahme, dass das Dateisystem die Daten überschreibt. Die Anwendung lässt uns möglicherweise nicht das erwartete Ergebnis erzielen, z Daten = Journal Möglichkeit.

Bei der Montage eines ext4 -Dateisystems mit dem Daten = bestellt oder Daten = Schreibback Optionen (ersterer ist der Standard), die Daten werden nach dem Hauptdateisystem geschrieben Metadaten ist dem Tagebuch verpflichtet. In beiden Fällen, Fetzen Funktioniert gut und erzeugt die erwarteten Ergebnisse.

Bei Verwendung der Daten = Journal Option stattdessen nicht nur die Metadaten, sondern auch die Daten selbst werden in das Dateisystem -Journal geschrieben, bevor er in das Hauptdateisystem geschrieben wird. Es ist leicht zu erkennen, warum dies Probleme verursachen kann.

Lassen Sie uns einige Beispiele für die Anwendungsnutzung sehen. Angenommen, wir möchten eine Datei mit dem Namen "Test" sicherstellen möchten. Wir müssen nur den folgenden Befehl ausführen (hier verwenden wir die -v Option, das Programm mehr ausführlicher zu machen):

$ shred -v test shred: test: Pass 1/3 (zufällig)… SHRED: Test: Pass 2/3 (zufällig)… Shred: Test: Pass 3/3 (zufällig)… 

Standardmäßig überschreibt die Anwendung die angegebene Datei 3 Zeiten mit zufälligen Daten. Die Anzahl der Pässe kann mit dem geändert werden -N (kurz für --Iterationen) Möglichkeit. Um die Datei sechs Mal zu überschreiben, würden wir ausgeführt:

SHRED -V -N 6 Test SHRED: Test: Pass 1/6 (zufällig)… Shred: Test: Pass 2/6 (000000)… Shred: Test: Pass 3/6 (555555)… Shred: Test: Pass 4/ 6 (ffffff)… Shred: Test: Pass 5/6 (AAAAAA)… SHRED: Test: Pass 6/6 (zufällig)… 

Es gibt einige Fälle, in denen wir die Tatsache verbergen möchten, dass ein Shredding -Betrieb auf einer Datei oder einem Gerät durchgeführt wurde. In diesen Situationen können wir das Programm nutzen -z (kurz für --null) Option, damit das Programm nach dem Shredding einen zusätzlichen Pass mit Nullen durchführt:

$ shred -v -n 6 -Z Test SHRED: Test: Pass 1/7 (zufällig)… Shred: Test: Pass 2/7 (fffffff)… Shred: Test: Pass 3/7 (AAAAAAA)… SHRED: Test: Test: Pass 4/7 (555555)… Shred: Test: Pass 5/7 (000000)… Shred: Test: Pass 6/7 (zufällig)… Shred: Test: Pass 7/7 (000000)… 


Aus der ausführlichen Ausgabe des Befehls können wir in der Tat bemerken, wie der letzte Durchgang durch Schreiben von Nullen ausgeführt wird (Nulos000000). Wir können es überprüfen, indem wir das ausführen Hexdump Programm in der Datei:

$ hexdump test 0000000 0000 0000 0000 0000 0000 0000 0000 0000 * 0008000 

Löschen der Datei

Wenn wir uns das Dateisystem nach dem Ausführen eines der Befehle in den obigen Beispielen ansehen, können wir feststellen, dass die Datei selbst nicht gelöscht wurde: Dies geschieht, da der Befehl auch auf Dateien verwendet werden kann, die Ganze darstellen blockieren Geräte oder Partitionen (e.G /dev/sda), und diese sollten nicht gelöscht werden.

Wenn wir jedoch in allgemeinen Dateien arbeiten, möchten wir jedoch auch eine Datei aus dem Dateisystem nach der Überschreitung bearbeiten. Um dieses Verhalten zu erreichen, können wir das verwenden -u oder der --entfernen Optionen. Beide Optionen führen dazu, dass eine Datei gelöscht wird, aber mit letzterem können wir auch angeben. Wir können zwischen:

  • Verknüpfen: Die Datei wird unter Verwendung eines Standards entfernt Verknüpfen Systemaufruf;
  • wischen: Bytes im Dateinamen werden vor der Löschung verschleiert;
  • wipesync: Die verschleierten Bytes werden ebenfalls mit der Festplatte synchronisiert;

Der wipesync Modus ist der Standardwert.

Daten mit Badblocks löschen

Obwohl die Badblocks Das Hauptziel des Versorgungsunternehmens ist es, nach schlechten Blöcken zu suchen, indem er a verwendet Schreibmodus Disruptive Test Wir können vorhandene Daten auf einem Gerät effektiv überschreiben und sicherer Daten haben. Wir müssen nur den Befehl starten und den angeben -w Option: Der Test wird durchgeführt, indem zuerst das Schreiben und dann das Lesen der 0xaa, 0x55, 0xff Und 0x00 Datenmuster in jedem Block und vergleichen Sie den Inhalt.

Wir können die verwenden -S Und -v Optionen, um die Programminformationen des Programms und die Anzahl der aufgetretenen Lese- und Schreibfehler darzustellen. Um unser Gerät zu löschen, würden wir daher ausführen:

$ sudo badblocks -wsv /dev /sdx prüfen nach schlechten Blöcken im Read -Write -Modus vom Block 0 bis 3870719 Tests mit Muster 0xaa: ^C6.30% fertig, 0:41 verstrichen. (0/0/0 Fehler)

Um den Befehl über dem Gerät auszuführen, sollte ansonsten unmontiert sein Badblocks wird sich weigern zu laufen, es sei denn, die Operation ist mit dem gezwungen -F Möglichkeit. Die Standardzahl der nach einem Zeitpunkt getesteten Blöcke ist 64; Wir können diesen Parameter jedoch mit dem ändern -C Möglichkeit.

Schlussfolgerungen

In diesem Artikel haben wir drei Dienstprogramme gesehen, mit denen wir Daten auf einem Gerät und einige Beispiele für deren Verwendung zerkleinern können. Dd Und Fetzen sind Teil der GNU -Kern -Utils, daher sind sie fast bereits in Ihrem System installiert. Badblocks ist eine Software, die zum Testen von schlechten Blöcken verwendet wird: Bei der Durchführung eines Read-Schreib-Tests können wir Daten auf einem Gerät überschreiben. Bitte beachten Sie, dass die Effektivität der Datenverletzung auch vom Typ des verwendeten Geräts abhängt: Solid State -Laufwerke beispielsweise müssen sich mit Phänomenen wie Schreibverstärkung befassen.

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Erholen Sie Ihre Privatsphäre und Sicherheit im digitalen Zeitalter
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • So verwenden Sie Google Drive unter Linux
  • So partitionieren Sie USB -Laufwerk in Linux
  • Wie man die Festplattenleistung unter Linux bewertet
  • So partitionieren Sie ein Laufwerk unter Linux
  • Volldiskette Verschlüsselung mit Veracrypt auf Ubuntu Linux
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken