web-dev-qa-db-ja.com

ディレクトリまたはファイルが実際に削除されていることを確認するにはどうすればよいですか?

ほとんどのファイルは、削除しても実際にはディスクから削除されておらず、後で復元できることを知っています。

削除したディレクトリが実際にディスクから削除されるようにするにはどうすればよいですか?そのためのユーティリティはありますか?

私はDebianLinuxを使用しています。

14
jcora

データを保存する前に暗号化してください。データを消去するには、キーをワイプします。

すでに平文でデータを書き込んでいる場合は、簡単な方法でデータを消去するには遅すぎます。さまざまな場所にデータの複数のコピーが存在する可能性があります。

  • ファイルが複数回書き込まれた場合(上書きまたは置換された場合)、ファイルシステム上。
  • 最適化の一部として再配置された場合は、ファイルシステム上。
  • ジャーナル内(これは、データが最後に書き込まれた後、かなり早く消える可能性があります);
  • バックアップで;
  • 無効なセクター(特にSSD)。

ファイルシステム上のデータのコピーを取り除くための大まかな方法​​は、空き領域を埋めることです(cat /dev/zero >somefileそして、ファイルシステムがいっぱいであるために停止するのを待ちます)。これにより、すべての完全なブロックが上書きされます。

データのごく一部は、他のファイルによって部分的に使用される不完全なブロックに残る場合があります。これは、ディレクトリの内容を格納するブロックに残る可能性のあるファイル名について特に懸念されます。すべてを取り除くには、すべてのファイルをバックアップし、ファイルシステムを含むデバイスを完全に上書きしてから、ファイルを復元します。

ストレージメディアは、使用されなくなったブロックにデータを保持する場合があります。ハードディスクでは、これは再割り当てされた不良ブロックを意味します。これは、ディスクが摩耗し始めるまでは非常にまれです。 SSDでは、これはウェアレベリングが原因でよく発生します。どちらの場合も、脅威は非常に低くなります。これは、そのデータにアクセスするには、ある程度高価なハードウェアと時間を浪費する、やや高度な攻撃者が必要になるためです。これらの脅威を気にする場合は、データを暗号化し、キーを置いたままにしないでください。

複数のパスを実行するか、ゼロの代わりにランダムデータを使用することでデータを消去することについてのアドバイスが表示される場合があることに注意してください(「Gutmannワイプ」)。忘れてください。これは1980年代のハードディスクにのみ当てはまります(それでも、データの再構築はそれほど安価ではなく、再構築の信頼性はかなり低くなります)。ゼロで上書きするだけで十分です。複数のランダムパスを実行することは、時代遅れのアドバイスまたはスネークオイルです。 ハードドライブにゼロ(またはランダムデータ)を1回だけ書き込むよりも複数回書き込む方がよいのはなぜですか?

shredと呼ばれる非常に人気のあるツールがあります。削除される前に、すべてのファイルを25回上書きします。それはあなたが探しているものかもしれません。

シュレッドの使い方はとても簡単です

$ shred secret_archive.tar.gz

ただし、最近のシステムでは、shred非効率的または役に立たないの場合があることに注意してください。

  • あなたのプログラムはあなたが知らない一時ファイルを作成します(多くのGUIアプリケーションのように)
  • あなたのFSはコピーオンライトベースです(ZFSやBtrfsのように)
  • あなたのFSはログベースです(NILFSのように)
  • あなたのFSはデータジャーナリングを使用します(一部の構成ではJFS、ReiserFS、XFS、ext3またはext4のように)
  • あなたのFSは圧縮を使用します
  • あなたのFSは、異なる場所に新しいバージョンのファイルを割り当てます
  • スナップショットまたはバックアップがあります
  • ネットワークFSを使用しています
  • ウェアレベリングアルゴリズムを備えたSSDを使用しています

その他の、より安全な可能性のあるオプションは次のとおりです。

  • 重要なデータの暗号化
  • パーティションまたはストレージデバイス全体を上書きする
  • デバイスの物理的破壊
12
taffer