DionaeaFRの導入で困った話
- 先日、ハニーポットにDionaeaFRを導入したのですが、結構導入に詰まった上、あまり資料も見かけなかったので、メモ程度に自分が詰まったところを残しておきます。
そもそも、DionaeaFRって?
- DionaeaFRは、Dionaeaで取得したlogsql.sqliteをWebでグラフィカルに見ることができるようにするものです。
- Webフロントエンドとか言うんですかね?その辺の用語の定義が曖昧なもので…
- こんな感じ。
- Djangoとかで動いているようです。Djangoはあまり詳しくないので、そのあたりでも結構詰まりながら、試行錯誤してどうにか導入しました。
Node.jsといい、Djangoといい、バージョン周りの依存関係なんとかしてくれ
早速導入してみる
導入環境
参考記事
- Visualizing Dionaea's results with DionaeaFR - BruteForce Lab's Blog
- 基本的には上記記事の通りで良いので、差分だけ。
バージョン周り
0) apt-get
で入るpipが古い+pip install -U hoge
しても"owned by OS"~などと言われ、死ぬ。
- sixのバージョンが古いようで、
pip install -U six
しても"owned by OS"~- pip自体の更新も同様。
easy_install
でpipを更新すると良いらしい。
# easy_install -U pip
1) Djangoのバージョンを指定する
# pip install "Django==1.8.11"
- 1.7以前でも死ぬし、1.9以降でも死んだ。
2) Node.jsのバージョン
cd /opt/ wget http://nodejs.org/dist/v0.10.42/node-v0.10.42.tar.gz tar xzvf node-v0.10.42.tar.gz cd node-v0.10.42 ./configure make make install
- lessが10.40以降を要求してくるので、10.42を入れた。
- 今回の話とはあまり関係ないですが、こちらも参考になると思います。February 2016 Security Release Summary | Node.js
実際に動かす
- 起動コマンドを叩くと、migrateしてね的なことを言われました。
- 言われるがまま、
python manage.py migrate
としておきました。 - 多分、環境が変わった時に叩く用のやつなのかな?
- 言われるがまま、
動いたと思ったら
- ブラウザを起動して、
ハニーポットのIP:8000
にアクセスすると、グラフ等が表示されると思います。- 左側のメニューから、Connections, Downloadsを選択すると、エラーメッセージが表示されました。
- nospacelessというタグがねえぞと言われているようです。
/opt/DionaeaFR/DionaeaFR/Templates/table.html
から、nospacelessタグと、その終了タグをすべて消すと、うまくいきました。- 表示がおかしくなるかなと思いましたが、大丈夫そうです。
sed
が好きな方は、sed
を使うと楽だと思います。3個程度だったので、私は手で消しました。
- 左側のメニューから、Connections, Downloadsを選択すると、エラーメッセージが表示されました。
感想的な
UIがかっこいいので、それだけでも十分使う価値があるんじゃないかなと思います。Dionaeaはシミュレートするサービスが多いので、グラフィカルに見れるのは嬉しいです。ただ、DionaeaFRの動いているポートへのアクセスもDionaeaが記録してしまい、ログが自分のアクセスが埋まるというアクシデントが発生しているので、そのあたりの対処も今後していきたいです。