2013-05-13(月) [長年日記]
■ Metasploitable2をVagrant化する
Metasploitを使った演習用の攻撃対象であるMetasploitableを動かすことにしたのだけど(お仕事)、攻撃を受けたあと復旧させたりするのを楽にするために、せっかくなのでVagrantを使えるようにしよう(そしていろいろハマった)。
配布されているファイルはVMware用の仮想マシンなので、これをVirtualBoxに変換してやるそのものズバリの記事があったので参考にしつつ、Windows上で:
D:\> VBoxManage clonehd Metasploitable.vmdk metasploitable2.vdi -format VDI
Metasploitable2はUbuntuベースのようなので、VirtualBoxでVMを作成:
これで起動するのでID:msfadmin、PW:msfadminでログインし、こないだ参考にしたVeeWeeを使わずWheezyのVagrantのBoxを作るを参照しつつ基本的な設定をする。いくつかハマりどころ:
- ユーザvagrantは手動で作成。/etc/groupにあるsudoグループに追加
- visudoで%sudoの設定も追加(sudoが古いのか「(ALL:ALL)」が通らないので「(ALL)」で
- rubyが1.8なのはしょうがないのであきらめる。Puppet/Chefも使わないで済ます方向
あと、GuestAdditionsは自力で入れる (ちゃんとMetasploitable2に合ったヘッダを指定してやらないといけない):
$ sudo apt-get install build-essential dkms linux-headers-2.6.24-16-server (VirtualBoxのメニューの[デバイス]→[GuestAdditionsのインストール]を選択してから) $ sudo mount /media/cdrom $ sudo sh -C /media/cdrom/VBoxLinuxAdditons.run
シャットダウンしてやって、Boxファイルに変換:
D:\> vagrant package --base vagrant-metasploitable2
できあがったpackage.boxをvagrantに追加:
D:\> vagrant box add metasploitable2 package.box
あとはvagrantの環境を作るだけ:
D:\> md metasploitable2 D:\> cd metasploitable2 D:\metasploitable2> vagrant init metasploitable2
Vagrantファイルはこんな感じ。public_networkにはIPアドレスを指定できないようなので(ホント?)、provisionであとから実行する。「config.vm.provision」には「shell」も指定できると知ったのでPuppet抜きで:
Vagrant.configure("2") do |config| config.vm.box = "metasploitable2" config.vm.network :public_network config.vm.provision :shell do |shell| shell.inline = "/sbin/ifconfig eth1 192.168.0.4 netmask 255.255.255.0 up" end end
あとは実行するだけ:
D:\metasploitable2> vagrant up
実際は当初、こんなエラーがでていたのだけど:
The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` v-root /vagrant
これがGuestAdditionsが正しく入っていないのが原因だったので、上記のとおりにやればちゃんと動くはず。それでもダメなときは「/etc/init.d/vboxadd setup」を実行するというTipsもあるらしい(参考: Vagrantでmountエラーで、フォルダがShareされない)。
これで、攻撃を受けて汚染されたマシンもvagrant destroy一発で消し去ってまっさらな状態にできるぜ。
ところでユーザ「vagrant」が万能すぎるんだけど、これをリモートからログインできなくするようなセオリーはあるんだろうか。
2013-05-07(火) [長年日記]
■ Debianを7.0 (Wheezy)へアップデート
うっかり情報を見逃していたのだが、連休中にDebian 7.0 (Wheezy)が正式にリリースされていた。それを知ったのが連休最終日というね……時間はあったのに。とほほ。
嘆いていてもしかたがないのでさっさとアップデートしてしまおう。まずは職場で開発に使っているVistualBox上のホストから。といっても(いつものように)公式ドキュメントを上から順番に実施するだけである(→Debian 6.0 (squeeze) からのアップグレード)。まいどまいど、きちんとしたドキュメントには頭が上がらない。
強いてひっかかったのは、これくらい:
- sudoの設定 (これはドキュメントにも解説があったので戸惑うこともなかった)
- PAEが無効だったのでVirtualBoxの設定で有効にした (これもドキュメントにある)
- 日付の表示が日本語になってしまうようになった (LC_TIMEをCに設定して回避)
最後のapt-get dist-upgradeがなかなか終わらなくて、オフィスを出なくちゃいけない10分前になんとか終わった。OSのアップデートは時間に余裕があるときにやりましょう。
あとはこの環境をいつでも簡単に再現できるように、Wheezyの自分用Vagrant Boxを作りたいな(→VeeWeeを使わずWheezyのVagrantのBoxを作る)。
■ Asakusa.rbでミニtDiary開発者会議、tDiaryがgemになる
今日は夜まで恵比寿で会議だったのだけど、ちょうど(いつものesmでなく)近くのCOOKPAD(白金台)でAsakusa.rbがあったこともあり、@hsbtと@machuとでtDiary開発者会議をすることにした。方針だけ決めれば先に進めるいくつかの課題は、こうして顔合わせしてしまうのが一番はやいといういつものパターンですね。
話題はおもに、ruby 1.8サポートを切ったことで広がった可能性のいくつかについて決めること。GemやBundlerをうまく扱うことで導入や運用のハードルを下げられると考えていたので、このあたりの方針をざっくり決めた。
で、連休中に@machuが別ブランチで進めていた「tdiary gem」をその場でmasterにマージ、さっそくRubyGemsで公開。まだ環境依存でうまく動かないこともあるけど、ゆくゆくはほんの数ステップでtDiaryのインストールから実行までできるようになるし、バージョンアップも「gem update」一発で済む(詳しくはtDiary を gem でインストール可能にした - まちゅダイアリー(2013-05-07)を参照)。以降、3ヶ月ごとのリリースでこっちもアップデートしていく予定。Webアプリをgemで配布してしまうというのは、あんまり例がないかも。
その他、themeの配布(とインストール)が面倒だからぜんぶクラウドに置いちゃって、それを参照するようにしたらというアイデアが出たんだけど、いまthemeリポジトリをgit cloneすると13MBもあるので候補にあげたDropBoxだとちょっと厳しいね*1。まぁ、別にtDiary.orgやGitHubにあるのを直接参照させてもいいのか。
*1 そもそもDropBoxだとファイル間の参照(css内から参照してるイメージファイルとか)がちゃんと解決されない気がする。
2013-05-05(日) [長年日記]
■ 「レオナルド・ダ・ヴィンチ展-天才の肖像」を観てきた
先日の河口湖美術館に続いて、今日は東京都美術館、「レオナルド・ダ・ヴィンチ展-天才の肖像」へ*1。そろそろ「趣味は美術館巡りです」と言ってもいいころ!
ダ・ヴィンチの名を冠しているけど実際はその周辺、影響を受けた画家とか、同時代の画家の作品もたくさん入った展覧会だったのだけど、けっこう統一感があって面白かった。この人たち、自分で絵画界にイノベーションを巻き起こしていて、さぞかし楽しかったんじゃなかろうか。
それでもやっぱりダ・ヴィンチは別格で、絵画もいいけどやはり理系脳としては発明アイデアのスケッチが最高に面白い。「入射光と反射光に関する素描」なんて放物線に向けて一点から光を放射すると平行になった光が出てくる様子を図示したもので、一人で「パラボラ! パラボラ!!」と興奮しておりました*2。
その後、上野公園内の神社をかるく冷やかしてから次の目的地へ。
■ 帝国ホテルでアフタヌーンティー
上野から有楽町に出て、久しぶりにアフタヌーンティーへ。今回は帝国ホテル17F、インペリアルラウンジ「アクア」にて。前回は2010年のシャングリ・ラなのでじつに3年ぶりだ*1。前菜(?)にスープが出たりするちょっと変化球なメニューだったけど、どれも素材の味が生きていて、とてもおいしかった。オレンジピールの入ったスコーンと、一見どうということのないイチゴのショートケーキが絶品だった。
お茶もちゃんと種類を変えておかわり自由だったし、たっぷり時間をかけて楽しめるアフタヌーンティー。
*1 コンラッドはガッカリすぎたのでなかったことになっております。
■ 「マーガレット&別マ創刊50周年展」を観てきた
美術館巡……り?
その後歩いて丸ビルへ移動、かみさんの希望で「マーガレット&別マ創刊50周年展」へ。
正直、少女マンガにはほとんど親しむことのないまま青少年時代を過ごしたので、あんまり楽しめないかなーと思っていたが、そうでもなかった。1970年代、「エースをねらえ!」や「ベルサイユのばら」はさすがに読んだことがあるのだけど、あらためて原画をみるとまったくスクリーントーンを使ってないことに驚愕したりして。すごい労力。あと、(あっ、まゆたんだ)(おお、まゆたんの原画……)という(なぜか)ひそひそ声の会話とか。
創刊から2000年代までの間は、時代の変遷はあるもののどれも「いかにも少女マンガ」という絵柄で個人的にはどうしても馴染めないのだけど、面白いことに2010年以降はがらっと絵柄が変わって、少年誌・青年誌でみるのとあまり変わらない感じになる。これなら読める。どういうわけか、2010年あたりを境に絵柄がユニセックス化してしまうようだ。興味深い。
◆ うるは [おいしそうなでざあとだね。]