BLOG

Linuxでハードディスクを安全に消去する

hdd2

弊社では主にデル製のサーバーやストレージ機器を導入していますが、
個人情報保護の一環としてインフラ向けのホームページに記載があるように
導入した全サーバーにはハードディスク返却不要サービスのオプションを付けており、
故障したハードディスクはメーカーに返却せず、自社内で責任を持ってデータを消去しています。

ハードディスクは消耗品ですので、いつか故障する時がやってきます。
「故障」という文字から中のデータは読めなくなってしまったので
破棄しても大丈夫だろうと思われるかもしれませんが、
メーカーの故障という基準は「完全に電源が入らず読めなくなった物」から、
「代替セクタ(不良セクタ)の発生」まで様々です。

代替セクタとは、特定領域への読み込み、書き込みができなくなってしまったディスクの事で、
故障品という表現でも、一部分の読み書きに失敗するディスクで、
厳密にはそれ以外の領域には読み書きができてしまうハードディスクなのです。
もしこれを誤って破棄してしまい、中には個人情報が書き込まれていたとしたら・・・・。

消去方法は様々ですが、以下が有名な方法の一覧です。

消去方式 書込回数(総数) 書込&検証パターン
米陸軍準拠方式
(AR380-19)
3 乱数 → 固定値1回目 → 固定値2回目
NCSC準拠方式
(NCSC-TG-025)
3 固定値1回目 → ・・・ → 固定値3回目
米国国防総省方式
(DoD5220.22-M)
3 固定値 → 補数 → 乱数
グートマン推奨方式 35 乱数4回 → 固定値1回目 → ・・・ → 固定値27回目 → 乱数4回

そこで登場するのがハードディスクを乱数で上書きするshredコマンドです。
ここではOS領域が/dev/sdaとし、データを消去するハードディスクを/dev/sdbとします。
それでは/dev/sdbに対してデータを削除する以下のコマンドを実行してください。

・ハードディスクの消去(shred)

shred -v -n 3 -z /dev/sdb

ハードディスクの容量によって数時間~数日かかりますが、
上記コマンドでは3回ハードディスクを乱数で上書きし、最後に0で埋めています。
より安全な方法として繰り返したり、回数を増やしたりする事も可能です。

廃棄によるデータ流出を避けるためにも、
ハードディスクを捨てる前に保険としてこのコマンドを実行する事を習慣化するのが良いでしょう。

Tweet about this on TwitterShare on FacebookShare on Google+