ログから学べるエトセトラという内容を考えていたら、渚にまつわるエトセトラを思い出したよ。
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でサーバーを落とします。常に立ち上げておく必要はないからね。
おっしまい(゚∀゚完)
かに食べいこ〜。