水深1024m

技術的なメモとか日記的なもの

「セキュリティとトレードオフ」について思うこと

「セキュリティと利便性はトレードオフだ」って半分本当で半分ウソだと思う。
少なくともセキュリティ技術を学ぶ上で教わるべき話じゃない。
エンジニアとしてセキュリティに携わるなら、はじめからこっちを立てればあっちが立たないという思考をしちゃいけなくて、
本当に必要なセキュリティレベルを考えながら限界まで利便性を向上させようとするのが正しい考え方じゃないのかな。そういった手段がないなら作るっていうことも当然選択肢には入る。トレードオフ思考が先頭に来てると、いつの間にか内部でコンセンサスをとったり、実装したり、監査したり、そういったコストばかりとのバランスを考えてしまう気がする。
「本当に必要なセキュリティレベルを考え」っていうのが実は一番難しいところだと思うけど。

たまにセキュリティに関わってる人で「僕らの仕事は足を引っ張ること」みたいなギャグみたいなこと言う人いるんだけど絶対違うよね。
適切なセキュリティレベルが保たれていて、必要に応じてちゃんとアクセスできるっていうのは、
情報を預ける側からすれば安心できるのはきっとそうだと思うんだけど、同時にそれを扱う側も安心して扱えるってことだと思う。
例えば顧客情報が流出したとして、「少なくとも内部から持ちだされたものじゃない」みたいなことが
すぐに明確に分かることって、扱う側からすると(もちろん外部からだからオッケーみたいな話じゃなく)「自分はやってない!」っていう悪魔の証明みたいなことしなくて済むからそれなりに安心できるはず。
もちろん扱う側の意識とか知識もとても重要だと思う。だから、そこも含めて。
難しいと思うけどやりがいはすごく感じる。

足を引っ張るんじゃなくて、むしろ僕らが見てるから、できることは安心してなんでもやっていいよ、って後押しするくらいの仕事がしたいよね、という話です。

VMware Fusion 上の VM を GUI 無しで走らせる

高校時代とか大学1,2年の頃はパソコンとか持ってるだけで楽しいというか、
物理マシンを触れるだけで満足していて、一時期は家にマシンが5台くらいあったんだけど、
趣味が一回りしたのか、最近はできるだけ環境を小さくしようとする傾向にある。
Windows のゲームはほとんどやらないからでかいマシンは従兄弟にあげた。

で、自宅の電気代の1.5割くらいは食べているであろうサーバを VM に移したくなった。
主に仕事でプロトコルレベルでデバッグしたい時に相手先として使ったり、かなり昔にホストしていた Web サイトなんかがある程度で、もう物理マシンで動かしている意味があまり無い。
家には Mac mini があって常時稼動しているのでここで VM 化してしまってサーバに使っている
マシンを止めて部屋の温度を下げようと思った。

長々と書いておいてやっと本題だけど、Mac の仮想化環境としては基本的に VMware Fusion を使っている。
インストールおわったらコンソールとかいらないんだけど、Fusion ではウィンドウ消しておくとかいうことができないので普段使うときに鬱陶しい。
バックグラウンド的に、というかウィンドウ無しで動かす方法ないかなーと思ってたら headless mode っていうのがあるらしい。
http://macosx.seesaa.net/article/115038173.html
http://www.fierycode.com/mac-osx-lion-vmware-ubuntu-server

vmrun というコマンドラインツールを使う。

/Library/Application\ Support/VMware\ Fusion/vmrun -T fusion start [vmx のパス] nogui

こんな感じで起動すると確かに vmware-vmx が走ってマシンが起動した。
ただ、すでに Fusion が起動した状態で走らせると Fusion 上では起動状態にならず、
その状態で選択すると Fusion が落ちる。どうやら vmrun との間で同期とかはとってないっぽい。
ちなみにその状態で再度 Fusion を起動すると再度ウィンドウが上がってしまって逆戻りする。

というわけで、起動する前に Fusion からこの VM の登録を削除(ファイルは残す)してやった状態で起動すると、Fusion 上には表示されないが裏では VM が走っている状態になった。良い。

暇をみて設定を移行してサーバマシンはシャットダウンしようと思う。おしまい。