サイズ: 13085
コメント:
|
サイズ: 13099
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 230: | 行 230: |
* [[camcontrol/Intel SSD DC S3510|Intel SSD DC S3510]] * [[camcontrol/SanDisk Extreme PRO SSD|SanDisk Extreme PRO SSD]] * [[camcontrol identify/Seagate 600 Pro SSD|Seagate 600 Pro SSD]] * [[camcontrol identify/HP MK0060EAVDR|HP MK0060EAVDR]] |
* [[FreeBSD/camcontrol/Intel SSD DC S3510|Intel SSD DC S3510]] * [[FreeBSD/camcontrol/SanDisk Extreme PRO SSD|SanDisk Extreme PRO SSD]] * [[FreeBSD/camcontrol/Seagate 600 Pro SSD|Seagate 600 Pro SSD]] * [[FreeBSD/camcontrol/HP MK0060EAVDR|HP MK0060EAVDR]] |
セキュアErase
目次
目的
- 手持ちのSSDでセキュアErase(Secure Erase)を試してみる。
- クリアされることの確認および実施に当たっての注意点を探る。
- サニタイズ(Sanitize)は今回の検証範囲外とする。
想定環境
FreeBSD 11.2-R
UD-3000SA USB3・SATA変換器
- ここでは、USB・SATA変換器に接続したSSDがUSBドライブ(/dev/da0)として見えるものとする。
- もちろん直接SATA接続した上でSATAドライブ(/dev/adan)として見えてもよい。
- デバイス接続時のデバイス名に注意して da0 を読み替えること。
動作確認
SanDisk Extreme PRO SSD 240GB(SDSSDXPS-240G)
Intel SSD DC S3510 240GB(SSDSC2BB240G601)
Seagate 600 Pro SSD 400GB(ST400FP0021)
- HP SSD 60GB(MK0060EAVDR)※ただし未対応なのを確認
デバイス接続時のカーネルメッセージ例
ugen0.2: <UD-3000SA UD-3000SA> at usbus0 umass0 on uhub0 umass0: <UD-3000SA UD-3000SA, class 0/0, rev 3.00/4.27, addr 2> on usbus0 umass0: SCSI over Bulk-Only; quirks = 0x8100 umass0:2:0: Attached to scbus2 da0 at umass-sim0 bus 0 scbus2 target 0 lun 0 da0: <UD3000SA 0427> Fixed Direct Access SPC-4 SCSI device da0: Serial Number 20150331008EF da0: 400.000MB/s transfers da0: 228936MB (468862128 512 byte sectors) da0: quirks=0x2<NO_6_BYTE>
- umass に「UD-3000SA」の文字列があること。
- da0 に「UD3000SA」の文字列があること。
- SATA接続の場合、adan に直接SSDの文字列が表示される(下記例)。
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0 ada0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device ada0: Serial Number 160845400358 ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 512bytes) ada0: Command Queueing enabled ada0: 228936MB (468862128 512 byte sectors)
コマンド実行
「camcontrol security da0 -U user -e パスワード」を実行するだけ!(嘘)
# camcontrol security da0 -U user -e パスワード pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device pass0: 400.000MB/s transfers camcontrol: Can't secure erase (security is disabled)
実はこれを実行する前に、以下のコマンドを実行して(ステータス表示)セキュアEraseできるか確認する。 セキュアEraseできる状態になってない場合「Can't secure erase」としてセキュアEraseできない旨、メッセージが表示される。
camcontrol security da0
たとえば SanDisk ExtremePro SSD(SDSSDXPS-240G)の場合、以下の結果が得られる。
pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device pass0: 400.000MB/s transfers Security Option Value supported yes enabled no drive locked no security config frozen no count expired no security level high enhanced erase supported yes erase time 2 min enhanced erase time 18 min master password rev fffd
上記結果から「enabled no」「security config frozen no」であることが確認できる。
「enabled yes」「security config frozen no」の時、セキュアEraseできるので、以下のコマンドで「enabled yes」に変更する。 なお「security config frozen yes」の時はリセットする方法が無いのでデバイスをいったん切るしかない(電源オフ→電源オンなど)。 一応デバイスの電源が入る時は「security config frozen no」になってるはずだが、 BIOSやツール等により「security config frozen yes」にしてしまうモノがあるので注意。
# camcontrol security da0 -U user -s パスワード pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device pass0: 400.000MB/s transfers Issuing SECURITY_SET_PASSWORD password='パスワード', user='user', mode='high'
この結果、以下のように表示が変わる。
pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device pass0: 400.000MB/s transfers Security Option Value supported yes enabled yes drive locked no security config frozen no count expired no security level high enhanced erase supported yes erase time 2 min enhanced erase time 18 min master password rev fffd
上記状態で再度実行すると、以下のように成功する。
# camcontrol security da0 -U user -e パスワード pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device pass0: 400.000MB/s transfers Issuing SECURITY_ERASE_PREPARE Issuing SECURITY_ERASE_UNIT password='パスワード', user='user' Erase Complete
つまりコマンド実行するなら
-s オプションと -e オプションは同時に指定できるので、セキュアEraseするのに問題がないなら、以下のように実行できる。
# camcontrol security da0 -U user -s パスワード -e パスワード pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device pass0: 400.000MB/s transfers You are about to ERASE ALL DATA from the following device: pass0,da0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device Are you SURE you want to ERASE ALL DATA? (yes/no) yes Issuing SECURITY_SET_PASSWORD password='パスワード', user='user', mode='high' Issuing SECURITY_ERASE_PREPARE Issuing SECURITY_ERASE_UNIT password='パスワード', user='user' Erase Complete
見てのように全てのデータを消して(ERASE ALL DATA)いいのか「yes」「no」を聞いてくるので、確認不要(バッチモード)なら「-y」オプションを加えるとよい。
# camcontrol security da0 -U user -s パスワード -e パスワード -y pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device pass0: 400.000MB/s transfers Issuing SECURITY_SET_PASSWORD password='パスワード', user='user', mode='high' Issuing SECURITY_ERASE_PREPARE Issuing SECURITY_ERASE_UNIT password='パスワード', user='user' Erase Complete
「-e」「-s」「-y」のオプション指定の順番に制限は無い。好きな順序で指定してかまわない。
拡張セキュアEraseするなら
本例のデバイスは「enhanced erase supported yes」であるため、拡張セキュアErase(Enhanced Secure Erase)を実行することができる。 拡張でないセキュアEraseとの違いは「ソフトウェアでアクセスできない不良セクタや代替セクタを含めたセキュアEraseの実行」にある。 実行方法は先に実施した「-e」オプションでの指定を「-h」の指定に変えるだけでよい。
もちろん合わせて「-s」「-y」オプションの使用は可能だ。ここではエッセンシャルな部分だけ説明する。
# camcontrol security da0 -U user -h パスワード pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device pass0: 400.000MB/s transfers Issuing SECURITY_ERASE_PREPARE Issuing SECURITY_ERASE_UNIT password='パスワード', user='user' camcontrol: ATA SECURITY_ERASE_UNIT via pass_16 failed
セキュアEraseの実行と違い、「Erase Complete」ではなくエラー(failed)になっている。 ATAコマンド発行後の応答に時間がかかったためであるが、 以後しばらくアクセスできなくなる(全てエラーになる)。
この事は致命的では無いが安心はできないので、定期的に「camcontrol security da0」を実行して終了を確認すること。 どれくらい進んだとか、いつ終るか、といったステータスを取る方法が無いので諦めること。
一応「enhanced erase time 18 min」とあるので、18分後には終ってる可能性がある。
これより長い(一時間とか)場合は、障害を疑った方がよいことになる。 デバイスのオフ/オンを実行した場合、デバイスがロックされたままとなるので、 パスワードが必要になる。
なお本デバイス(SanDisk ExtremePro SSD)の場合、拡張セキュアEraseが完了するとデバイスが切断(デタッチ)される。 一般的な振る舞いかどうかは不明だが、そういう風に振る舞うデバイスもある、ということで。
よくある質問とその答え
Q.パスワードは何を設定すればいいですか?
A.結論を言えばてきとー。
A.SanDisk曰く「SanDisk SSD Dashboard」では「sandisk123」を設定している。
- パスワードを設定して「セキュリティ機能を有効化」した後、「消去」、消去が完了すると「セキュリティ機能を無効化」するという工程となります。
- 最初から設定されてる装置があるかは不明。設定したまま放置されることはあるみたい。
- あと、勝手に設定するソフトウェアがあるのでこの手のツールを使用するときは注意。
「camcontrol security」は「この手のツール」ではあるが、パスワードを常に要求するので意識すること。
Q.パスワード毎回設定するなら覚えなくていいのでは?
A.大丈夫だ。問題無い・・・わけでもなく、正常に処理された場合は覚えておかなくてもなんとかなるけど、 処理に失敗した場合、回復処理の時にパスワードが必要となるので、覚えておく必要がある。
Q.セキュアEraseでもエラーメッセージが表示されました。大丈夫ですか?
A.大丈夫だ。問題無い・・・はず。検証した中に Intel SSD DC S3510 がその振る舞いをがあった。 しばらく放っておいたら回復したので、ATAコマンド応答に時間がかかったものと思われる。 もちろん拡張セキュアEraseでもメッセージは表示されたので、ATAコマンドに対する 応答が早い機種と遅い機種があるものと推測される。
■エラーメッセージ
camcontrol: ATA SECURITY_ERASE_UNIT via pass_16 failed
Q.-U user や -U master とオプションがあるようですが何なのですか?
A.この2つがあるみたいなのは確認。それぞれで何が違うか興味無いので未調査。 一般にセキュアEraseは user で実行するようだが、いくつかのデバイスで master で実行できるのもあった。
付録
検証したデバイスに対して camcontrol identify および camcontrol security を実行した結果についての記録。