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

 
かに食べいこ〜。

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *