使用するとどうなりますか
sudo dd if=/dev/zero of=/dev/sda
から実行 しているUbuntuインストールから/dev/sda
?
私はVMでそれを試みたが、表示されます正しくディスクを拭いていると。これは毎回そうですか?これは、Ubuntuインストールとすべてのデータを「ワイプ」する安全な方法ですか?
私の質問は次のことに触発されています:
使用するとどうなりますか
sudo dd if=/dev/zero of=/dev/sda
から実行 しているUbuntuインストールから/dev/sda
?
私はVMでそれを試みたが、表示されます正しくディスクを拭いていると。これは毎回そうですか?これは、Ubuntuインストールとすべてのデータを「ワイプ」する安全な方法ですか?
私の質問は次のことに触発されています:
回答:
実際には、ファイルシステムはまだマウントされており、一部の書き込みはバッファリングされているため、ディスクに書き込まれるのを待っているRAMに残っています。dd
すべてを正しく上書きし、その直後にバッファーがフラッシュされ、潜在的に機密性の高いデータがディスクに書き戻されるとしましょう。したがって、これはディスクを消去する安全な方法ではありません。
この問題を回避するには、最初にルートファイルシステムとディスク上の他のファイルシステムを読み取り専用モードで再マウントします(または完全にアンマウントしますが、ルートファイルシステムでは実行できません)。ファイルシステムへの書き込みをすべて許可する必要があるため(フラッシュするバッファーがないため)、パニックの場合は時間がかかるためにパニックが発生する可能性があるとしても、コマンドは安全です。
何らかのパニック削除機能が必要な場合は、LUKSを使用してディスクを暗号化し(Ubuntuインストーラーでそれを実行できます)、セキュリティスタックExchangeで私の回答に従ってください。これには、サイズがわずか2MBで、上書きに1秒もかからないcryptheaderのワイプが含まれます。その後、システムを再起動すると、ディスクから暗号化キーがメモリから削除されます。cryptheader自体も削除されているため、復元する方法はありません。
私dd
は、Arch Wikiページから借用して少し変更した、より高度な使用法を使用してVMを犠牲にしました。
まず、素敵な進行状況メーターをインストールします。
sudo apt-get install pv
次に、「拡張」dd
コマンドを実行します
sudo openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null \
| base64)" -nosalt </dev/zero \
| pv -bartpes "$(sudo blockdev --getsize64 /dev/sda)" \
| sudo dd bs=64K of=/dev/sda
これにより、ディスクはAES暗号文で埋められたままになります。完全で安全なディスクワイプ?おそらくあなた自身のdd
例よりも優れていますが、完全に安全または保証されているものはありません...
そして、あなたは私に1つのVMを借りている:)
参照:
dd
し、pv
してください?
pv
(パイプビューア)、そうdd if=/dev/zero | pv | dd of=/dev/sdX
短い答え:それはあなたが望むものをおおよそ行うでしょう、そして何もうまくいきません。dd
あなたがファイルシステムの下のレベルで操作していることを使用すると、そこに適用される制約はもはや関係ありません(これは、カーネルがこれを防ぐことができなかったわけではありませんが、そうではありません)。カーネルやdd
プログラム自体など、ファイルシステムの一部のコンテンツはすでにメモリにあり、一部はキャッシュにあります。システムがマルチユーザーモードの場合、ファイルがdd
実際に変更されていると想定して、進行中に一部のファイルが書き戻される可能性があり、メモリの負荷がかかっている場合、そこからいくつかのページもスワップアウトされる可能性があります(これらは暗号化されているため、再起動後は使用できません)。
これに続いて発行するほとんどのコマンド(reboot
キャッシュを含む)はキャッシュにないため、機能しません。したがって、シングルユーザーモードの場合は非常にうまくいきます。マルチユーザーモードの場合は、データの大部分をワイプします。理想的には、他のメディアからブートして(おそらくinitrdで停止して)、すべての書き込みがどこから行われているのかを確認できるようにする必要があります。
安全なワイプが必要な場合は、ゼロにしても元のデータの痕跡が残っているため、これでうまくいきません。通常、最大3つのランダムな書き込みが必要になります。これは、コピーの/dev/urandom
代わりにからコピーすることを意味し/dev/zero
ます-かなり低速ですが安全です。/dev/random
「純粋な」ランダムデータ-疑似ランダムではない- を使用することを提案する人もいますが、この目的のために、誰かがPRNGシードをクラックしてデータを正常にマスクする可能性は基本的に無視できます。
あなたが本当に偏執的であるなら、あなたはそれが消磁/放電するように、ストレージデバイスを炉に投げ込む必要があります。
VMの場合と同様に、ディスクを消去してシステムを使用できなくなります。
ただし、ある種の「パニック削除」を念頭に置いてdd
いる場合は、そのために十分な速度ではない可能性があり、その場合にそれを提供するより高速なコマンドまたはプログラムがあるかどうかはわかりません。
動作するはずです。実行中のプロセスはRamに保持されており、ディスクは必要ありません。とにかく、cdまたはusbから実行しているライブシステムを使用します。ディスクワイプ専用のライブLinuxであるdbanもあります。
ゼロでディスクを上書きすることは節約できますが、十分に偏執狂的であるか、法的ルールがある場合は、ランダムなデータで複数回上書きできます。
ssdの上書きを使用しても、ウェアレベリングのためにすべてのデータが削除されるとは限らないので注意してください。
フルディスク暗号化(luks)を使用する場合、フルディスクを削除する必要はありません。luksヘッダーを削除するだけで十分です。