HEARTBEATS

セキュリティテストプラットフォームMinion最速ガイド

   

こんにちは。こんばんは。CTOの馬場です。

今回は私が最近超注目している、 OSSのセキュリティテストプラットフォーム minion を紹介します。
たぶん日本最速級Installation Guideだとおもいます。

minion_main.png

minionはMozillaで開発しています。
セキュリティツールではなくプラットフォーム だそうです。

P◯sgreSQLといい◯penStackといい、 私が個人的にワクワクするプロダクトは大抵危険な香りがして ◯山先生みたいな立ち位置になってますが、 面白いなと思ってしまったものは仕方がないですよね。

Minionはアーキテクチャがナウい!

Python2.7 + Flask + Angular.js + mongodb + rabbitmq + celery ですよ!
HTTP+JSONのAPIがバッチリ整備されてるし、これは連携がしやすそう。
ログインは Mozilla Persona (BrowserID)だし。

はじめからjobがqueuingされてスケールする構成になってるしすばらしい。

Flaskなのでコードの見通しもとてもよいです。

インストール

環境は以下の通りです。

  • ubuntu 12.04 server 64bit on VirtualBox
  • インストール時はOpenSSHのみ選択

必要なものはざざっとapt-getでインストールしちゃいます。

sudo apt-get install git build-essential python-virtualenv python-dev rabbitmq-server mongodb-server curl libcurl4-openssl-dev
sudo apt-get install nmap skipfish

本体をインストール

cd ~
git clone https://github.com/mozilla/minion
cd minion
./setup.sh clone
./setup.sh develop

minion起動(5つ起動します)

cd ~/minion
./setup.sh run-frontend      > log_frontend.log      2>&1 & 
./setup.sh run-backend       > log_backend.log       2>&1 & 
./setup.sh run-scan-worker   > log_scan_worker.log   2>&1 & 
./setup.sh run-state-worker  > log_state_worker.log  2>&1 & 
./setup.sh run-plugin-worker > log_plugin_worker.log 2>&1 &

ここまできて http://localhost:8080/ にアクセスすると使えます!

ログイン後に画面に「You do not have any sites in Minion yet. This should become a nice landing page for new users.」とだけ表示された場合、サンプルデータがないからそうなってます。サンプルデータを投入しましょう。

初期化とサンプルデータ投入

cd ~/minion
source env/bin/activate
minion-backend/scripts/minion-db-init

画面上部のメニューバーに「Minion」しか表示されない場合、administrator権限の付与に失敗してます。 その場合は、、、mongodbのデータを直接書き換えてadministratorになっちゃいましょう。

$ mongo
> use minion
> db.users.update( {"email":"someuser@example.com" }, { $set : {'role':'administrator'}})
> db.users.find()

試しにサンプルの basic PlanでScanしてみると、 こんな感じの結果が表示されます。やったね!

minion_result.png

長くなってきたので今日はここまで。

次回はSite・Group・Planの追加やプラグインの追加方法について書く予定です。

書きました セキュリティテストプラットフォームMinion最速ガイド2