スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ハードディスク自体の暗号化とバックアップその1、まずはディスクの完全消去

前に外分けハードディスクの暗号化をしてみたいと書きましたが、それを実践してみます。それに先立ち、もともとこのディスクには生でデータを保存していたので、その情報が抜かれる可能性を考え、データを綺麗に削除しましょう。ddコマンドで全領域を上書きしてしまうのです。

# dd if=/dev/zero of=/dev/sdb

時間はかかりますが、全領域上書きはハードディスクを破壊せずにデータを消す唯一の方法です。ハードディスクはゴミ箱を空にしようが、再フォーマットをしようがデータは消えないのです。というのも、これらの操作はディスク上のインデックスに当たるものを消すだけなので、実データは残ってしまうのです。それら実データが残っている領域は空き領域として扱われ、データを書き込んでいればそのうちに上書きされていきますが、それまではデータが残っています。ので、一度でも使ったハードディスクを新たに暗号化してデータを保護しようと思うなら、その前にオールクリアしておかないと意味が薄いのです。

上記コマンドでは/dev/sdbの全体に一回だけ0を書き込むことになります。これがデータ消去として十分かという話は別記事で書きます (結論を先に言っておけば一応十分だろうと考えています) 。なお、今自分の外分けハードディスクは/dev/sdbで認識されているのでこれですが、それはそれぞれの環境と時によって違うので、よく確認してください。自分はGPartedで確認しています。

ただ、時間はかかります。USB2.0で接続していると、書き込み速度は最大でも30MB/s程度になってしまうので、2TBのハードディスクの全領域を上書きするには18時間以上かかるはずです。ではおやすみなさい…

---丸一日経過---

---丸二日経過---

---三日目の朝---

なげーよ!長いよ!まだ終わりません。これは何かがおかしい。もしかしたらソフトウェアのバグか何かで処理がループしているとか、異常が起きている可能性が高いので、Ctrl+Cキーを押して中断。すると…

なんと恐ろしいことに、書き込み速度が2.2MB/sしか出ていません。そしてまる二日と一晩経っているというのに、500GBも書けていません…どういうことなの?2.2MB/sの書き込み速度と、その進捗具合を計算して確認するとだいたいあっているので、心配した処理がループしたとかそういうことはなさそうです。要するにただ単に速度が異常に遅かったと。

一体何が問題なのか…ググってみるとこんなものが引っかかりました。

dd - 自宅サーバWiki
時間がなくて早く終わらせたい人は
# dd if=/dev/zero of=/dev/sd bs=1024
という風にbsの値を大きくしてあげれば多少早くなる可能性あり。


これ試すか…。でも、なぜ速くなるのでしょう。そしてそれによって問題は生じないでしょうか。人間のレベルで言えば、速く物事を処理しようとすればミスが生じたりするものです。ただ、2.2MB/sは完全に異常ですし、実用的では無いです。これはなんとかしなければいけません。

というわけで、やります。やりますが、ミスが出るかどうかも確認したい。まずは、ここまで処理したハードディスクの内容を確認します。全体をチェックするのは時間がかかるので先頭1GBだけ。

# hexdump -C /dev/sdb -n 1073741824
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
40000000


これだけの出力が得られました。これは全部ゼロだったので省略された結果だと思われます。まあデフォルトなので当然でしょうが、512バイト単位で書き込んでいくことは基本的に遅い以外の問題は生じないと。では、一旦これにランダム値の書き込みをしてみます。これも先頭1GBだけ。

# dd if=/dev/urandom of=/dev/sdb bs=512 count=2097152
2097152+0 レコード入力
2097152+0 レコード出力
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 671.892 s, 1.6 MB/s


同じく512バイト単位の書き込みなので遅いのはわかりきっていましたが、やはり遅いです。まあいい、これも書き込みが成功しているか確認。

# hexdump -vC -n 1073741824 /dev/sdb

-vオプションをつけたのは省略を避けるためですが、はい、出力が大変なことになりましたよね。ざっと見て書き漏らしがなさそうなら、つまり00の値がどこかで異常に固まっていたり、定期的に出ているようでないことがわかれば、Ctrl+Cを打って止めましょう。

では、ここに4096バイト単位でゼロを書き込んでみます。4096としたのは512の倍数であること、あとこのハードディスクの物理セクタが4096バイトであるためです。これなら書き損じが生じるとかの問題は少なかろうと。

# dd if=/dev/zero of=/dev/sdb bs=4096 count=262144
262144+0 レコード入力
262144+0 レコード出力
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 39.0429 s, 27.5 MB/s


あれ?なんだこりゃ。一転めっちゃ速いです。というかUSB2.0の実効速度に近い速度が出ています。では、これを確認してみましょう。

# hexdump -C /dev/sdb -n 1073741824
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
40000000


この通りの出力が得られました。つまり、512バイト単位で書こうと、4096バイト単位で書こうと、直接それが原因で書き損じが生じることはないということです。USB2.0で、実セクタ4096バイトのハードディスクを使っている方は、4096バイトで書き込めばいいと思います (ただ、これはうちの環境でたまたまって可能性もないとは言えないので保証はしません) 。

んー、じゃあ、改めて4096バイト単位で全領域をクリアしましょう。

# dd if=/dev/zero of=/dev/sdb bs=4096
dd: '/dev/sdb' の書き込みエラー: デバイスに空き領域がありません
488378647+0 レコード入力
488378646+0 レコード出力
2000398934016 bytes (2.0 TB, 1.8 TiB) copied, 71693.9 s, 27.9 MB/s


はい、全部書き込まれ、これ以上書けないというエラーが出て終了です。だいたい20時間だからまあこれでよいのでしょう。USB3.xを使っている方はまた事情が違ってくるでしょうが、うちのマシンは化石のごとく古いので3.0には対応していないんですよ。PCIeも1.1なので、ボートを追加してもこれがボトルネックになって意味がないのです。あー、さすがにそろそろマシン買い換えたいなあ…

しかし、マシンを買い換えるにしてもデータの移し替えはしなければならないわけで。バックアップはしなければなりません。というわけで話を先に進めたいのですが、長くなったので一旦ここで切ります。続きは次回

to do リスト
・外分けハードディスクのオールクリア (済)
・暗号化パーティションの作成
・バックアップソフトウェアの選択とバックアップ実行

テーマ : セキュリティ
ジャンル : コンピュータ

パスワード生成プログラムとアナログなパスワード管理

パスワードの管理、皆さんどうしてますか?

よく、一番安全なのは覚えてしまうことだ、なんて言いますが。覚えやすいパスワードは本当に安全でしょうか。よく、好きな言葉とか自動車のナンバーとかをパスコードに使っちゃう人がいますが、あれは危険です。単語なんか辞書攻撃の餌食ですし、あるいはそいつの使いそうな単語を考えて入力しロックを突破するなんてのは映画やドラマなどでよく見られることです。大抵数分で突破されちゃいますよね。

また、覚えるのが面倒ということで、一旦覚えてしまったパスワードを使い回す人もいます。これも危険です。例えば、Amazonに登録していたとしましょう。決済の通知とか、あるいはおすすめ商品の広告メールが舞い込みますよね。もしそのメールサービスを提供する企業の中の人が悪い気を起こしたり、あるいはそのメールサービスからアカウント情報の流出があってあなたのメールボックスを他人が覗いたら、あなたがAmazon利用者であることは一発でわかるわけです。そのときもし、Amazonとメールのログインパスワードを同じにしていたら…もうこれ以上は書かなくてもわかりますね。

しかし、覚えるのを諦めて何かに書いておくのも問題です。私の知り合いの話ですが、常に大事に携帯する手帳にパスワードを書いていたそうですが、その手帳をある日落としてしまったそうな…。

あるいは、自分のパソコン・スマホのブラウザにパスワードを保存しておく、とか。これも危険です。ブラウザに保存されているパスワードは、FirefoxやChromeの場合ある操作で呼び出すことができます。例えこの機能が廃止されたとしてもプロファイルデータのどこかに存在はするわけですから、何らかの方法で抽出は可能でしょう。コンピュータやスマホ上のパスワード管理ツールも中でどんな動きをしているか分かりませんから、同じことが言える可能性もあります。ヘタするとパスワード管理ツールのふりをしてパスワードを抜き取るツールもあるかも知れませんし…。

ではどうしましょう?俺が実践しているのはこれ。

パスワードを記録し、暗号化するための、超アナログな方法 | ライフハッカー[日本版]

リンク先の記事真ん中辺りの写真の紙切れのようなものをつくって、その中から自分の決めた法則に従って文字をピックアップすることでパスワードを生成するのです。そしてこれを財布に入れておくのです。これならば、悪い人に盗まれても即座にはパスワードは突破されないはずです。なくしたことに気づいてすぐにパスワード変更にとりかかれば、そこそこ安全は確保できるはず。

ちなみにこの紙を作るメリットは、出先で急にパスワードを作らなければならなくなった時も、直ちに安全なパスワードを作れることです。iPhoneを買った時、auの窓口でauIDなるアカウントをつくるとガラケーからiPhoneへすぐにアドレス帳を移せる、と言われアカウントを作った時もこの紙を取り出してすぐにパスワードを作成しました。窓口のオネーサンに一瞬なんか変な目で見られた気はしましたが。

でも、これを作るのもまた面倒ですよね…。これだけの数の文字を、ランダムに並べることが一番の骨になると思います。ご安心あれ、いい方法があります。パスワード生成用のプログラムを使うのです。

apgというプログラムがLinuxにあります。Debianでは公式に配布されているのでaptで入手できます。

# apt-get install apg

インストールされたら、

$ apg -a 1 -n 26 -m 26 -x 26

コンソールにこうコマンドを打ち込むと、例えばこのような出力があります。

U1A3auYRL>GxW}2dn/"k.SDYSi
#lK8*qs0WnuLF_3@E0%~0M+G`&
Rg'*Honc"YyocRo\vT7C@;:.h4
)5~D=[PYKR^jnON0$M[wg,%;it
8W)`A+o)T'No|V|vaB)ZV`i3)%
ZJy}0.v[n#H"P`WUg0mC@d_ke[
J"I@'UZ*.[ffj%*.1l4yGKyUcM
fo{(!4E]JgvBNd(^ZI?m[8Xo;X
2'uAHoZi}m=%3)xsHKHHXd_!FR
:.Wae!cgm<XvT3ev}T=KuOt+}z
o\/~wBE.{I2YiZH0)9YMpT1lM8
"vy*/a,&*f31wC^:9[dD7rFWAg
p4:i~J9/d$nz,!wwpi"6{VTY7c
=\0f6=<a"xlQ%rvlDu{Rh!Sq)n
C>b;N}O5B3O>1x#}tJ$|hCa8S#
r7_".q<:uw@H7_j-&*>(&B,E'+
AKR8N{*K<M@a3\m44(=y<%KS5~
vOu+q#)~EK<R!BRJ'LpK&H/,\)
LLIEzp@fK3+)@':g^x2fbI^b2j
dGjBc?JKA.<-&oWJb.u/f%S{M?
8b#J/X]oTLui]5Y3MFTWdDD}#)
WA\S6c1J\~usIB(0d]>f<bp8{Y
B2Q__qJyM-h7DjUntV:~fAYMTx
$vjW#cZMY+!1rE_wl?,"sl!O?d
wjc^h(/[cuZ>Ps"(Waoy?p8X9E
MA{NHx>mA}R)A4HC`+.^BUC}jW


おわかりでしょうか。26文字のランダムな文字列が、26個出力されたのです (もちろんこれはあくまで一例、文字列は実行する度にランダムに変わります。このコマンドの実行はお手元のパソコンでそれぞれがやってください、くれぐれも僕が貼り出したこれをそのまま使うなんて馬鹿な真似はやめてくださいね) 。あとはこれをエディタやワープロソフトでお好きなように加工して印刷すればよいのです。

ちなみに上のコマンドを解説すると、-aオプションの1がランダムな値の出力。これを0にすると発音しやすいパスワードの生成 (何のオプションもつけずにapgとだけ入力して実行すればだいたい何のことかわかるかと) となりますが、今回はいらないし文字も偏るのでこのオプションは1で。-nオプションは出力するパスワードの数。ここでは26「行」欲しいので26としました。-mは各パスワード (ここでは各行) の最小文字数、-xが最大文字数 (今回の場合、本当は-xオプションは入力しなくても同じ結果が得られます) 。

ところで、サイトによっては (例えばこのFC2もそうですが) パスワードには半角英数字のみで記号は使えなかったりします。その場合は-Mオプションで色々いじれます。記号抜きで数字、英大文字・小文字を使いたい場合

$ apg -a 1 -M ncl -m 26

とすれば英大文字小文字と数字だけの出力が得られます。-Mオプションのnが数字、cが大文字、lが小文字のようです。ちなみに記号を含ませたい場合はs。それぞれ、大文字で入力すると「各パスワードに必ず使う」になり、例えば

$ apg -a 1 -M SNCL -m 4 -x 4

と入力してみればわかりますが、こうすると記号・数字・小文字・大文字を必ず一文字ずつ使った出力が得られます。今回は文字数が多いし、得られた行をそのままパスワードにするというわけでもないので特にこだわらなくて良いでしょう。

銀行や免許証の暗証番号は数字のみになりますが、もうおわかりかと思いますが-Mオプション内に指定しなかった文字は使わないのだから、

$ apg -a 1 -M n -m 26

このようにnとだけ書けばそうなります。

本当ならばapgからこの出力をもらって、かつあの写真のようにレイアウトを整えて、あとは印刷するだけの状態に一発でつくり上げるスクリプトを組むことも可能だとは思いますが、それはいずれまたということで。

テーマ : セキュリティ
ジャンル : コンピュータ

webページの安全性をその場で検査してくれるサービスgred/Firefoxのサーチバーへの登録

例えばFirefoxや Google Chrome にはブラウザを攻撃するとGoogleによって報告されているwebサイトへのアクセスをブロックする機能があります。また、ウイルス対策ソフトで有名なマカフィーは McAfee SiteAdvisor というサービスを運営していて、これもサイトの安全性評価をしています。

SiteAdvisorと言えばこれ、CMでも使われたgoggle.comの評価
(SiteAdvisorのCM (Youtube) )
SiteAdvisorによるうちのサイトの評価
Googleによるうちのサイトの評価

こういったサービスはありがたいのですが、危険が生まれてから、それが発見され、リストアップされるには時間がかかるので、それが間に合わないこともあるわけです。できればその場で (特にこれはと思うURLを手動で) 危険性を評価してくれるようなサービスもあるといいのですが…

ありました。

gred|安全なサイトはgreen、危険なサイトはredでお知らせ。無料のWeb安全チェックサービスといえばグレッド!

ここにURLを打ち込むと、その場でチェックを始めてくれます。もちろん100%危険を検知できるとは限りません、特に新種のウイルスでまだどこのウイルス対策ソフトも検知できないようなものがあったりすればお手上げになるとは思いますが、それでもその場で危険の評価をしてくれるかなりありがたいサービスです。



gredではブックマークレットを登録することをおすすめされています…つまり、今現在閲覧しているページが怪しいなと感じたら、あらかじめ登録しておいたブックマークレットをクリックすることで即その場でそのページの評価をはじめられる、となるわけですが、これではガンブラーのようにブラウザに読み込ませた時点でもう感染してしまうというタイプのマルウェアの防御にはなりません。できればアクセスする前にチェックしたいところ。もちろんコピーアンドペーストをすれば済む話なのですが、その手間を簡単にしたい。例えば

http://hogehogepiyopiyo.com

このようにwebページにURLが書いてあったなら、これをマウスでハイライトして、右クリックメニューからgredにURLを送る、みたいなことができたら。大丈夫、Firefoxならできます。サーチバーに登録してしまえばいいのです。Add to Search Bar アドオンを使い、サーチバーに登録しましょう。

ただし、Add to Search Bar によって作られたgredのサーチプラグインは完成した状態でなく、なぜかしばらくすると使えなくなります。継続して使うためには、このサーチプラグインをテキストエディタでいじる必要があります。サーチプラグインのファイルはプロファイルディレクトリのsearchpluginsディレクトリ、Debianならば ~/.mozilla/firefox/*.default/searchplugins/ 内にあるので、gredのものを探してテキストエディタで開きます。六行目あたりの

<os:Url type="text/html" method="POST" template="http://www.gred.jp/WebscanAction.action">

となっているところを

<os:Url type="text/html" method="POST" template="http://www.gred.jp/?url={searchTerms}">

と書き換えてやりましょう。これでサーチバーへの文字入力や右クリックからの「検索」におけるハイライトした文字列が反映されるようになるはずです。

テーマ : Webサービス
ジャンル : コンピュータ

Googleへの情報送信を止めるアドオン、でもそれだったら…

うーん、何だかなあ…

個人情報の保護ソフト提供 米グーグル - MSN産経ニュース

Google Analyticsへの情報送信を止めるブラウザーアドオン、Googleが公開 -INTERNET Watch

Google、「Google Analytics」による追跡を解除するプラグインを公開 - ITmedia エンタープライズ

確かに、Googleのアクセス解析は結構いろいろなサイトで使われています。それに不安を感じるほどではなくても、あんまりいい気分ではない人もいるかと思います。俺もたかがアクセス解析と最初は気にしていませんでしたが、あまりに使っているサイトが多いのでさすがに気になってNoscriptでスクリプトは拒否していました。Googleがその声に応えたのかそうでないのかはともかくとして、このようなことを用意したのは評価すべきことだと思います。

だけれども、何か今回のこれはさ…昨今のマルウェアのやり口を思わせるよね。あれですよ、「おたくのパソコンからウイルスが検出されました、このまま使い続けるのは危険です、ただちにうちのセキュリティソフトを買ってください」とかなんとか言って不安を煽って偽のセキュリティソフトを売りつけるやつ。いや、Googleが、今回のこれがそれだと言うわけではありませんがね。

ただ、Googleが本当にアクセス解析を嫌がるネット利用者のためを思うのなら、その Google Analytics に使われるサーバーの一覧を示すべきじゃないかな?で、気になる人はファイアーウォールなりセキュリティソフトなりhostsファイルなりでそれとの通信を拒否する旨の設定をできるようにすれば、それが一番良いんじゃない?詐欺ソフトのものまねなんかしなくてもさ。



とりあえず、hostsファイルの設定の仕方を。

hostsファイルとは? (higaitaisaku.com)

ここの説明がわかりやすいと思います。俺もかつてここで勉強しました。Linuxの場合、/etc/hostsです。もちろん編集には管理者権限が必要なので、suを使ってrootログインするなり、sudoを使うなりしてください。

そうそう、肝心のhostsファイルに書き込む Google Analytics のアドレスですけれど。 Google gonna find out who’s been naughty or nice | Blogboing によると、

127.0.0.1 www.google-analytics.com
127.0.0.1 google-analytics.com
127.0.0.1 ssl.google-analytics.com
127.0.0.1 *.google-analytics.com

だそうです。これをhostsファイルに追記すれば、少なくともこの上三つのサーバーとの通信は遮断できます (四つ目のワイルドカードはどの程度働いてくれるのかはちょっと分かりません…) 。本当に働いてくれるかどうかも分からない、別に脆弱性を抱えているかもしれないソフトを導入するよりかは、こっちの方が確実でしょう。


追記

俺が Google Analytics を気持ち悪いと感じたのは、これを使うサイトがあまりに多く、やろうと思えばGoogleは人のWeb閲覧状況をかなり把握できてしまう立場にあるということであって、アクセス解析そのものを否定したわけではありません。うちのブログも、FC2のアクセス解析サービスは利用しています。

当たり前ですが、アクセス解析だけではその人が誰かなんてのは分かりません。ただ、ある程度以上情報が集まると、いろいろとやることはできるでしょう。もちろんアクセス解析サービスのクライアント側からは不可能ですが、アクセス解析サーバのデータを見ることができれば、あるIPアドレスがどこのサイトにあるアクセス解析に引っかかったかを抽出することは不可能ではないでしょう。それがGoogleだったら。そのIPアドレスから検索された言葉は、ログインされたアカウントの情報は。そのアカウントにログインした今までのIPアドレスは。今までのIPアドレスから…できない話じゃないでしょ。

テーマ : インターネット関連
ジャンル : コンピュータ

Flash Cookie の管理

前回ちらっと触りましたが…Cookieをプライバシーの問題から気にしている人も多いと思います。Cookieとは私も実は完全に理解しているわけではないのですが、wikipediaの解説によると、webサーバー側からクライアントを識別し、クライアントのために最適なwebページを提供できるようにする仕組みのようです。例えば、会員制のサイトでログイン状態を保持し続けるとか、ショッピングサイトのカートとかを表示させるためによく使われている…はずです。

が、クライアントの同一性を確認するためのものである以上、できれば必要のないCookieは喰らわされたくないもの。よって、Cookieの設定をいじっている人は少なくないと思います。ブラウザのCookieマネージャから一部のサイトのものを拒否したり、時々綺麗に削除してみたり、あるいはFirefoxや5.0以上のChrome/Chromiumでブラウザを終了すると同時に全てのCookieを捨てる設定にしてみたり。

が、実はこれだけでは片手落ちだそうで。というのも、FlashPlayerにも独立したCookieが存在し、これはブラウザのCookieマネージャからは管理できないんだとか。

ユーザーが制御できない「秘密cookie」、半数強のサイトが利用 - ITmedia News

そう言えば、ポータルサイトのトップに表示される天気予報の地域を変更してもCookieを捨ててしまえばリセットされてしまうのに、Youtubeなんかの音量はCookieを捨てても初期状態には戻りませんね。最後に使った時の音量が保存されています。そう、やっぱりあるんですよ、削除できないFlashのCookie。



…どうしよう?

Adobe - Flash Player : Settings Manager - Website Storage Settings panel

このページから削除できます。Chromium5.0の設定メニューには上のページにリンクが貼ってあるので、使っている方は気づかれたと思いますけれど。他のブラウザを使っている人はブックマークしておくことをおすすめします。

なお、FirefoxにはBetterPrivacyなるアドオンがあって、これを入れて設定メニューの Delete Flash cookies on Firefox exit を選択しておけば、Firefox終了の都度 Flash Cookie を削除してくれるそうです。とりあえず、 ~/.macromedia/Flash_Player/#SharedObjects/ ディレクトリがFirefoxを終了すると消えるようになります。youtubeの音量も初期状態 (最大) に戻ります。

ただ、BetterPrivacyの説明に --- IMPORTANT --- なる注意書きがあるのでそれは気にした方が良いかも知れませんね。簡単に訳しますと…もしLSO (flash Cookieの正式名称らしい) を削除する設定にすると、Cookieが保持している情報、例えばゲームの設定やログインデータが失われます。必要なCookieを削除から除外したことを確認してください…とのこと。一応気をつけてください。

テーマ : セキュリティ
ジャンル : コンピュータ

プロフィール

ざっぱー

Author:ざっぱー
(この画像について)

当ブログについて
メール
(このメールアドレスへの特定電子メール (迷惑メール) の送信はお断りします)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。