以下を使用して、find
ディレクトリの内容を再帰的に簡単に破砕できます。この質問には)。ただし、ファイル名自体にすでに機密情報が含まれている場合があります。破れる方法はないでしょうか?すべて特定のファイル/ディレクトリに関連しています。つまり、サイクルごとにファイルの内容とファイル/ディレクトリ名が上書きされます。
答え1
shred
ほとんど役に立たない。ディスクイメージから削除されたファイルの内容を削除するには、ファイルの場所を上書きするだけでは不十分です。ファイルのすべてのコピーを削除する必要があります。単にファイルを上書きする問題ではありません。さまざまな種類のファイルの場合、ファイルが編集され、削除されたバックアップコピーが残っているため、本質的に同じ内容を持つ複数のファイルがある可能性があります。
また、ディスクが破損している場合、ソフトウェアではデータを読み取ることはできませんが、ハードウェアまたはディスクを冷やして回復することができます(ハードドライブを冷蔵庫に入れると、エラーを減らすことができます。ついにゴーストを放棄するまで)。
ファイルを破砕する安全な方法は、最初から強力なパスワードで保護された暗号化されたコンテナにファイルを保存することです(十分に長いランダムなパスワードを作成して書き留めます。ファイルの操作が終わったら、ファイルの断片を焼く)。ファイルを紙に)。ファイルシステムを完全にクリーンアップしてから(データをバックアップして0で上書き)暗号化されたファイルシステムコンテナに保存してファイルを復元します。回復が成功したと確信している場合は、バックアップをクリーンアップしたり、安全な場所に保管することを忘れないでください。
答え2
shred
Linuxではランダムな高速ソースで、ブロックデバイスを一度に上書きするのに便利ですが(遅すぎるのとは対照的に/dev/*random
)、単一のファイルを上書きする場合は特に便利ではありません。ファイルシステム自体は、古いコピーがどこに保存されているのかわからないため、上書きすることはできません。
3つのファイルを作成して削除した後、1 GBの画像でext4を使用して試してからZerofileで埋め、それからLinuxソースツリーを抽出しました...あります。
それで私はこのような命令を思い出しました。
mkdir filenamescrubbing
cd filenamescrubbing
dd if=/dev/zero bs=1M | split -b 4096 -a 254
これにより、非常に長い名前を持つ多数のファイルが生成される可能性があります(ファイルシステムで256文字より長いファイル名を許可する場合は-aに大きな値を使用します)。スペース(より小さい-b値を使用)またはinodeが使い果たされるまで。
使用可能な inode ごとに新しいファイル名を生成すると、保存した場所に関係なくすべてのファイル名が消去されるため、ファイル名が削除されます。
もちろん、このアプローチは、利用可能なスペースをゼロで埋めるのと同じくらい愚かです。実際に動作すると100%保証することはできません(ファイル数が多い場合)。
grep -a -b --only-matching yourfilename /dev/yourdevice
ファイルシステムが単にファイル名を保存すると仮定すると、個々のファイル名を解決できます。デバイスが損傷する恐れがある場合は、sed
デバイスから直接交換することもできます。
フルディスク暗号化は良いことです。