DionaeaFR を使ってDionaeaをグラフィカルにCheck it out

ログから学べるエトセトラという内容を考えていたら、渚にまつわるエトセトラを思い出したよ。
Puffyいいね。Dionaeaとぜんぜん関係ないけどね!(゚∀゚);

ログの分析は置いておいて(なんだよw)、まずはグラフィカルに大雑把にいきましょうと。細かい部分は分かりませんが、どこからが多い?とか、どのポートが多い?とかはやっぱりグラフィカルに見るのが分かりやすいからね。
ログの痕跡から内容を調べるだとか、細かい分析とはまた全く別の話になっちまいますが、気分転換にはいいですよ。

ってことでDionaeaFR インストールメモ。

公式サイト
http://rubenespadas.github.io/DionaeaFR/

参考にしたサイト
BruteForce Lab’s Blog
Visualizing Dionaea’s results with DionaeaFR
Tahoo!
VPSにDionaeaログ解析ツール、DionaeaFRを入れてみた

公式サイトを見るとPython2.7.3の記載が。CentOSのPython2系の標準Yumでインストールできるバージョンは2.6なので、2.7系最終の2.7.9をDLしてインストールしました。

$ cd /tmp
$ wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
$ tar Jxvf Python-2.7.9.tar.xz
$ cd Python-2.7.9
$ ./configure --with-threads --enable-shared --prefix=/usr/local
$ make && sudo make install

このままだと実行にエラーが出るので解消します。

$ /usr/local/bin/python2.7 --version
/usr/local/bin/python2.7: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
$ sudo ln -s /usr/local/lib/libpython2.7.so.1.0 /lib64/
$ /usr/local/bin/python2.7 --version
Python 2.7.9

これにてPythonのインストールが完了です。
のちのDjango関連のインストールをするためにPipを用意しませう。

参考サイト
https://pip.pypa.io/en/stable/installing.html#python-os-support
https://www.digitalocean.com/community/tutorials/how-to-set-up-python-2-7-6-and-3-3-3-on-centos-6-4

この表示の仕方いいね。

$ cd /tmp
$ curl -L -O https://bootstrap.pypa.io/get-pip.py
# /usr/local/bin/python2.7 get-pip.py
Collecting pip
  Downloading pip-7.0.3-py2.py3-none-any.whl (1.1MB)
    100% |████████████████████████████████| 1.1MB 389kB/s
Collecting setuptools
  Downloading setuptools-17.0-py2.py3-none-any.whl (461kB)
    100% |████████████████████████████████| 462kB 1.0MB/s
Collecting wheel
  Downloading wheel-0.24.0-py2.py3-none-any.whl (63kB)
    100% |████████████████████████████████| 65kB 4.8MB/s
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-7.0.3 setuptools-17.0 wheel-0.24.0

なんとなくアップデート。

$ pip install -U pip
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages

ではDjango関連のインストールに進みます。
プロンプトを見れば分かりますが、ここからRootにしました。

# /usr/local/bin/pip install Django pygeoip django-pagination django-tables2 django-compressor django-htmlmin django-filter

simplefilterはこれ1発でOKらしい。PIPはこんなこともできるのね。
subnettreeも。

# pip install -e git://github.com/benjiec/django-tables2-simplefilter.git#egg=django_tables2_simplefilter

# git clone git://git.bro-ids.org/pysubnettree.git
# cd pysubnettree/
# python2.7 setup.py install

NodoJSをインストール。時間がかかるんだな。これが。

# cd /opt
# wget http://nodejs.org/dist/v0.8.16/node-v0.8.16.tar.gz
# tar zxvf node-v0.8.16.tar.gz
# cd node-v0.8.16
# make && make install
# npm install -g less

NetAddrはPIPでいけました。

# pip2.7 install netaddr
Collecting netaddr
  Downloading netaddr-0.7.14-py2.py3-none-any.whl (1.5MB)
    100% |████████████████████████████████| 1.5MB 310kB/s
Installing collected packages: netaddr
Successfully installed netaddr-0.7.14

じわじわと終わりが見えてきました。DionaeaFRを落として、Maxmind’s GeoIP and GeoLite databasesを用意していっきにいきましょう。

# cd /opt
# wget https://github.com/RootingPuntoEs/DionaeaFR/archive/master.zip -O DionaeaFR.zip
# unzip DionaeaFR.zip
# mv DionaeaFR-master/ DionaeaFR

# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

# gunzip GeoLiteCity.dat.gz
# gunzip GeoIP.dat.gz

# mv GeoIP.dat DionaeaFR/DionaeaFR/static
# mv GeoLiteCity.dat DionaeaFR/DionaeaFR/static

では実行!といきたいとこですが、エラーが幾つかでるので処理をします。

# cd /opt/DionaeaFR/
# cp DionaeaFR/settings.py.dist DionaeaFR/settings.py
# mkdir /var/run/dionaeafr
# touch /var/run/dionaeafr/dionaeafr.pid

vi DionaeaFR/settings.py
# サーバーの起動にNot found databaseが出たので以下修正。
@@ -15,7 +15,7 @@
 DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.sqlite3',  # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
-        'NAME': '/var/lib/dionaea/logsql.sqlite',
+        'NAME': '/opt/dionaea/var/dionaea/logsql.sqlite',
         'USER': '',  # Not used with sqlite3.

# 仕上げ
# python2.7 manage.py collectstatic

起動だどーん(゚∀゚)b

# python2.7 manage.py runserver 0.0.0.0:8000
Performing system checks...

勢い良く8000番にアクセスしたものの大切なものが見つからないとエラーが (゚∀゚激汗)

Error: Cannot find module ‘promise’

インストール。

[root@localhost node-v0.8.16]# npm install -g promise
npm http GET https://registry.npmjs.org/promise
npm http 304 https://registry.npmjs.org/promise
npm http GET https://registry.npmjs.org/promise/-/promise-7.0.1.tgz
npm http 200 https://registry.npmjs.org/promise/-/promise-7.0.1.tgz
npm http GET https://registry.npmjs.org/asap
npm http 200 https://registry.npmjs.org/asap
npm http GET https://registry.npmjs.org/asap/-/asap-2.0.3.tgz
npm http 200 https://registry.npmjs.org/asap/-/asap-2.0.3.tgz
promise@7.0.1 /usr/local/lib/node_modules/promise
└── asap@2.0.3

もっかい起動だどーん(゚∀゚)b

# python2.7 manage.py runserver 0.0.0.0:8000
Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

June 03, 2015 - 17:12:57
Django version 1.8.2, using settings 'DionaeaFR.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

うまくいきました。(゚∀゚)v
ローカルオンリーでしか動かしていないので問題なく掲載します。

チェックが終わればCc+Cでサーバーを落とします。常に立ち上げておく必要はないからね。

おっしまい(゚∀゚完)

di01
di02
di03

 
かに食べいこ〜。

Related Posts


投稿者: Takeken

インターネット利用者のITリテラシーを向上したいという設定の2次元キャラです。 サーバー弄りからプログラミングまで手を付けた自称エッセイストなたけけんの物語。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です