4と5のリビジョン間の差分
2018-07-23 22:42:34時点のリビジョン4
サイズ: 7684
コメント:
2018-07-24 18:05:14時点のリビジョン5
サイズ: 10894
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 69: 行 69:
上記結果から「enabled no」であることが確認できる。
このままでは、セキュアEraseを実行することができないため、以下のコマンドで「enabled yes」に変更する。
上記結果から「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」にしてしまうモノがあるので注意。
行 144: 行 148:
== 拡張セキュア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の実行と違い、最後にエラー(failed)になっている。
ATAコマンド発行後の応答に時間がかかったためであるが、
以後しばらくアクセスできなくなる(全てエラーになる)。

この事は致命的では無いが安心はできないので、定期的に「camcontrol security da0」を実行して終了を確認すること。
どれくらい進んだとか、いつ終るか、といったステータスを取る方法が無いので諦めること。

一応「enhanced erase time 18 min」とあるので、18分後には終ってる可能性がある。

これより長い(一時間とか)場合は、障害を疑った方がよいことになる。
デバイスのオフ/オンを実行した場合、デバイスがロックされたままとなるので、
パスワードが必要になる。

== 障害からの復帰 ==
障害の想定としては
行 160: 行 196:
== Q.セキュアEraseでもエラーメッセージが表示されました。大丈夫ですか? ==
A.大丈夫だ。問題無い・・・はず。検証した中に Intel SSD DC S3510 がその振る舞いをがあった。
しばらく放っておいたら回復したので、ATAコマンド応答に時間がかかったものと思われる。
もちろん拡張セキュアEraseでもメッセージは表示されたので、ATAコマンドに対する
応答が早い機種と遅い機種があるものと推測できる。

■エラーメッセージ
{{{
camcontrol: ATA SECURITY_ERASE_UNIT via pass_16 failed
}}}
行 164: 行 211:
 * [[http://www.kirala21.com/veg/manual/gppro/cur/erase/secureerase.html|消去方法について- セキュア消去について]]

セキュアErase

想定環境

  • FreeBSD 11.2-R

  • UD-3000SA USB3・SATA変換器

  • ここでは、USB・SATA変換器に接続したSSDがUSBドライブ(/dev/da0)として見えるものとする。
  • もちろん直接SATA接続した上でSATAドライブ(/dev/adan)として見えてもよい。
  • デバイス接続時のデバイス名に注意して da0 を読み替えること。

デバイス接続時のカーネルメッセージ例

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の文字列が表示される。

目的

  • 手持ちのSSDでセキュアErase(Secure Erase)を試してみる。
  • クリアされることの確認および実施に当たっての注意点を探る。

コマンド実行

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できるか確認する。

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

見てのように「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の実行と違い、最後にエラー(failed)になっている。 ATAコマンド発行後の応答に時間がかかったためであるが、 以後しばらくアクセスできなくなる(全てエラーになる)。

この事は致命的では無いが安心はできないので、定期的に「camcontrol security da0」を実行して終了を確認すること。 どれくらい進んだとか、いつ終るか、といったステータスを取る方法が無いので諦めること。

一応「enhanced erase time 18 min」とあるので、18分後には終ってる可能性がある。

これより長い(一時間とか)場合は、障害を疑った方がよいことになる。 デバイスのオフ/オンを実行した場合、デバイスがロックされたままとなるので、 パスワードが必要になる。

障害からの復帰

障害の想定としては

よくある質問とその答え

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

参考文献

FreeBSD/camcontrol security (最終更新日時 2022-01-25 16:36:33 更新者 NorikatsuShigemura)