ヘッドレスリモートLinuxサーバーを安全に消去する


18

私は長年、ホスティングプロバイダーとの関係を終了しようとしていますが、実行する前にボックスを安全に消去したいと思います。これは、単一のEXT3ドライブでDebianを実行する専用サーバーであり、ルートアクセス権は持っていますが、どこかのラックでヘッドレスであるため代替メディアを起動できません。

複数のパスは必要ありませんが、可能であれば空き領域を消去したいと思います。基本的に私は立ち去り、個人データを残さないようにしたいです。実行しただけでは、ファイルシステムのワイプ/同期が完了する前にボックスがクラッシュするのではないかと心配ですsrm -R -s /


私見、ddを使用(下部)
一部のLinuxオタク

回答:


4

rm -rf --no-preserve-root /最初にシステムがクラッシュしたり、ドライブに何も残されたりすることなく、正常に完了しました。


データディレクトリでsrmを実行し、rm -rf --no-preserve-root /SSHを介して残りをクリーンアップしました。/ dev andsにいくつかのエラーをスローし、完了しました。私はbashプロンプトで何をすべきかをよく知りませんでした。/ bin / lsまたは/ sbin / shutdownがなければ、成功を確認できませんでした。アンチクライマティックでした; ゾンビカーネルとsshdセッションではなく、クラッシュすることを心から準備しました。
notpeter

7
これは安全ではありません。データは消去されず、削除は引き続き可能です。dd代わりに、ディスクを介した方が良いです。
qris

10

PXEイメージに同梱されているCentOSインストーラー(anaconda)にはVNCサーバーが含まれているため、grub構成を変更してCentOSインストーラーを起動し、grub行の前段階2インストーラーの質問に回答を渡し、再起動してからVNCを実行できますインストーラーに。

今、私の記憶が私に正しく役立つなら、そのインストーラーからシェルに落とすことができ、そこからディスクにアクセスして破壊することができるはずです。

CentOSディストリビューション(http://mirror.centos.org/centos/5/os/i386/images/pxeboot/)のPXEディレクトリーからvmlinuzおよびinitrdファイルを/ bootにコピーし、grub構成を変更します。

デフォルト0
タイムアウト5
タイトルCentOS
ルート(hd0,0)
kernel /boot/vmlinuz.cent.pxe vnc vncpassword = PASSWORD headless ip = IP netmask = 255.255.255.0 gateway = GATEWAYIP dns = 8.8.8.8 ksdevice = eth0 method = http://mirror.centos.org/centos/5/os / i386 / lang = en_US keymap = us
initrd /boot/initrd.img.cent.pxe

ちなみに、まともなホスティング会社は、ディスクを破壊する準備をしておく必要があります。


3
彼らは「まともなホスティング会社」ではないため、私のディスクを離れて消去する必要があります。
-notpeter

私はこの方法を使用しませんでしたが、GRUBを使用して、vnc(またはSSHのみ)を有効にするように事前構成された最小限のレスキューイメージを起動することは完全に実行可能です。混乱した場合は、適切に再起動するために手動で介入する必要があるシステムが残っている可能性があるため、おそらく最初にVMでテストする価値があります。
notpeter

1
物を拭く順序に関する言葉が役に立つかもしれません。最初にを含むパーティションを除くすべてのパーティションを/boot消去することにより、プロセスの途中でマシンが再起動した場合に最初からやり直すことができます。/bootたまたま/パーティションにある場合は、パーティション/boot全体を完全に消去する前に、外部のすべてのファイルを削除して空き領域を消去できます。これにより、大量のデータを消去して再起動した場合にディスク上に残るデータの量が最小限に抑えられ、起動できなくなります。
カスペルド

7

OSを破壊する前に、敏感なものやゼロフィルを削除できます(dd if = / dev / zero of = justabigfileを使用)。

そして、私はほとんどのシステムがディスク全体を上書きするのに十分な長さで実行中のシステムにddを生き残ると信じています。もちろん、もし戻らなければ戻りません。


4
これを行う前に心配するファイルをすべて削除し、スワップパーティションをスワップオフし、スワップパーティションをワイプ(wipeまたはddを使用)すると、上記はかなり安全です。ルート用に予約されている5%を超えるには、ルートとして実行する必要があります。また、すべてのファイル名を消去することはできませんが、データは削除されます。
Slartibartfast

6

私のソリューションには、上記のいくつかを行うマルチステップアプローチが含まれますが、ddがディスクの完全なクリアを完了できるようにするramのchrootも含まれます。

まず、機密データをすべて削除し、オペレーティングシステムを実行するために必要なファイルを残します。次に、これを実行します(スクリプトではなく、一度に1つのコマンドを実行します)。

mkdir /root/tmpfs/
mount -t tmpfs tmpfs /root/tmpfs/
debootstrap --variant=buildd --arch amd64 precise /root/tmpfs/
mkdir /root/tmpfs/mainroot
mount --bind / /root/tmpfs/mainroot
mount --bind /dev /root/tmpfs/dev
chroot /root/tmpfs/

# fill mainroot partition to wipe previously deleted data files
dd if=/dev/zero of=/mainroot/root/bigfile; rm /mainroot/root/bigfile
# now clobber the entire partition, probably won't be able to stay connected to ssh after starting this
# obviously change '/dev/md1' to the device that needs cleared
nohup dd if=/dev/zero of=/dev/md1 >/dev/null 2>&1

それはそれの世話をする必要があります!


1

dd実行中のサーバー上のパーティション/ディスク全体を心配なく上書きするために使用できます。職場で多く使用します(顧客が安全な物理ディスクの破壊にお金を払いたくない場合)。

実際には、マウントされたファイルシステムを認識せずにデータを消去するため、メタデータが失われるとファイルシステムがフリークし始め、OS自体が「崩壊」し始めます。ただし、すでにキャッシュにあるものは引き続き機能します。そのため、リモートコンソールまたはKVMを介して進行状況を監視できます(sshを介して試行しませんでした)。システムはdd、終了後も実行され続けますが、コマンドは機能せず、すべてのデーモンはおそらくすでに停止しています。

これらのコマンドを使用します。dd if=/dev/zero of=/dev/sda bs=1M & その後kill -HUP %1、進行状況を監視します (ddは現在の速度と書き込まれたデータの量を出力します)。block-size(bs)の設定は、でHDDシーケンスの書き込み速度を達成するために非常に重要ですdd

毎回dd、ディスクを最後まで消去できkill、最後までコマンド(シェル組み込み)を発行できました。ソフトウェアRAIDがある場合、mdデバイス自体または各コンポーネントデバイスを個別にワイプできます。


私の同僚はこれを行い、xwindowsはクラッシュしませんでした。要求者がまさに必要としているはずです。
一部のLinuxオタク

1

ATAプロトコルには「セキュア消去」コマンドがあり、その名前が示すように、HDD全体を安全に消去する必要があります。

詳細については、カーネルWikiの記事を参照してください。ただし、上部の警告に注意してください。

https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase


2018年の更新:サーバーをリモートでワイプするために、ワイプ対象のファイルシステムから実行されている場合でも、これを何度か使用して成功しました。プログラムはATAコマンドを発行して応答を待つだけなので、ワイププロセス中にCPUでコードを実行する必要はありません。
ウラジミールパンテレエフ

0

次のように、ディスクにランダムデータを書き込もうとすることができます。

dd if=/dev/urandom of=/dev/sda

ランダムデータを書き込むため、/ dev / zeroを使用するよりも安全ですが、速度もかなり遅いです。


よく知らない人として、なぜ人々はこれを投票しないのですか?これは良い習慣ではありませんか?
カナダのルークレインステートモニカ

@CanadianLuke質問は、すでに実行中のサーバーを安全に消去することです。このようにマウントされたドライブに書き込むことはできないため、動作しません。
ロングネック

@longneckありがとう。何らかの理由で、私はrootがそれを行うことができると思っていました...私は試したことがないので、私はあなたの言葉を受け入れます。説明してくれてありがとう
カナダのルークレインステートモニカ

@longneck yaあなたは上記のコメントを追加しましたが、本当に妄想的な同僚にそれをしてもらいました。実際には、ハードドライブを完全に取り外しても、Linuxはアプリケーションエラーメッセージが何も表示されることなく、メモリ内のすべてを実行し続けます。
一部のLinuxオタク

0

何を選択しても、別のプロバイダーにアクセスしてテストします。

AWS(またはgcloudまたは...)で同様のインスタンスを取得し、そこで試して、ディスクを保持してから、追加のストレージとして別のインスタンスにアタッチしてスキャンします。dd if = sdb | hd

機密資料のほぼすべてが含まれている必要があります

/home
/opt
/var
/etc
/usr

ほとんどの人を悩ますのは、パスワードが埋め込まれた設定ファイルです。それらが何であるかを知っているなら、それらを根絶するためにファイルシステム全体を検索してください。

rmはファイルを削除しますが、16進エディターはディスクを読み取ります。したがって、その後ゼロ。シュレッドをご覧ください。あなたはあなたの設定ファイルのログとそれらがDR目的のためにどこにあるべきですか?たとえば、パスワードを持っている場合は、crontabファイルを忘れないでください。

CentOSのインストール、またはRAMディスクソリューションは正常です。カーネルはメモリ内にあり、ddといくつかのbinコンテンツが必要です。ただし、リカバリモードで再起動すると、ネットワークやSSHがなく、切断される場合があります。

NB Kedareには良いアイデアがあり、次回の再起動時にRAMから実行している場合(RAMディスク)、これは可能です、最初から/ dev / zeroの書き込みから回復することは非常に難しいので、あなたの人生がなければ本当に価値を追加しませんそれに依存しますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.