サイバー脅威情報集約システム(EXIST)とMalware Information Sharing Platform(MISP)の構築のまとめ②
はじめに
- 元同僚から面白そうなOSSを教えてもらったので調べがてら構築をしてみた.
- ここでは構築する際にトラブった箇所や手順などをまとめていく感じです.
- ALL-in-One方式で構築した際、取得したデータサイズのせいかDiskFull-->LVM追加でミスって-->VMクラッシュという楽しい目にあったため個別での構築としています.
- 3部構成(共通部分/EXIST/MISP)で記事を書く予定です.
1.前提
- Windows10pro Hyper-Vを利用し以下条件のもと構築を行っております.(共通)
- お好みでVMwareやvBOXをお使いください
- OSはCentOS7の最新版を利用しそれぞれ別VMで構築とする.(共通)
- 検証環境下ではCentOS8自体の挙動が不安定だったので別途原因究明が必要と考えCentOS7を選択
- 構築時のアカウントはすべてrootアカウントで実施.(共通)
- VMのリソースはvCPU:2core,mem:8GB,DISK:50GB,Network:IPアドレスはDHCPでMACアドレス登録して固定配布.(共通)
- 稼働するとメモリ使用量は平均6GB
- DISKは20GBで100%超えてしまったため、50GBにしております
- pyenvを使用しPython ver3.6.xをインストール.(EXIST)
- Verison3.7以降だと指定PackageのVersionではエラーが発生するため
- venvを使わずに構築していきますが、インストールだけはしておきます
- git:Verは2.29.x(現時点で最新のもの)とする.(共通)
- 2.x台であればなんでもよいかと
- wget/curl/tmux/htopなど適宜インストール.
- 不要な人はスルーでもOK
- FirewallやSElinuxは自己責任のもと無効にしてください.(共通)
- Firewallではのちに8000ポートの開放を手順に入れております
- SElinuxは土下座してdisabledにしております
2.OSS製品のドキュメント
- Windows10pro Hyper-Vを利用し以下条件のもと構築を行っております.(共通)
- お好みでVMwareやvBOXをお使いください
- OSはCentOS7の最新版を利用しそれぞれ別VMで構築とする.(共通)
- 検証環境下ではCentOS8自体の挙動が不安定だったので別途原因究明が必要と考えCentOS7を選択
- 構築時のアカウントはすべてrootアカウントで実施.(共通)
- VMのリソースはvCPU:2core,mem:8GB,DISK:50GB,Network:IPアドレスはDHCPでMACアドレス登録して固定配布.(共通)
- 稼働するとメモリ使用量は平均6GB
- DISKは20GBで100%超えてしまったため、50GBにしております
- pyenvを使用しPython ver3.6.xをインストール.(EXIST)
- Verison3.7以降だと指定PackageのVersionではエラーが発生するため
- venvを使わずに構築していきますが、インストールだけはしておきます
- git:Verは2.29.x(現時点で最新のもの)とする.(共通)
- 2.x台であればなんでもよいかと
- wget/curl/tmux/htopなど適宜インストール.
- 不要な人はスルーでもOK
- FirewallやSElinuxは自己責任のもと無効にしてください.(共通)
- Firewallではのちに8000ポートの開放を手順に入れております
- SElinuxは土下座してdisabledにしております
2.OSS製品のドキュメント
サイバー脅威情報集約システム(EXIST)
Malware Information Sharing Platform(MISP)
3.構築内容
- pyenv
- サイバー脅威情報集約システム(EXIST)
3-1.pyenvのインストール
今回の目的を考えた場合、pyenvでやる必要性はないと思うが今後のアップデートを考慮してこちらでいくこととする.
# git clone https://github.com/pyenv/pyenv.git
Cloning into 'pyenv'...
remote: Enumerating objects: 18376, done.
remote: Total 18376 (delta 0), reused 0 (delta 0), pack-reused 18376
Receiving objects: 100% (18376/18376), 3.67 MiB | 2.80 MiB/s, done.
Resolving deltas: 100% (12514/12514), done.
# 今回は不要かも
# git clone https://github.com/pyenv/pyenv-virtualenv.git pyenv/plugins/pyenv-virtualenv
Cloning into 'pyenv/plugins/pyenv-virtualenv'...
remote: Enumerating objects: 2064, done.
remote: Total 2064 (delta 0), reused 0 (delta 0), pack-reused 2064
Receiving objects: 100% (2064/2064), 580.34 KiB | 753.00 KiB/s, done.
Resolving deltas: 100% (1413/1413), done.
# pyenvのPATHの設定
# vim ~/.bash_profile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:/bin:$PATH"
eval "$(pyenv init -)"
# ログイン中のアカウントへ上記設定の反映
# source ~/.bash_profile
# 指定のVersionをインストール
# pyenv install 3.6.12
Downloading Python-3.6.12.tar.xz...
-> https://www.python.org/ftp/python/3.6.12/Python-3.6.12.tar.xz
Installing Python-3.6.12...
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?
Installed Python-3.6.12 to /root/.pyenv/versions/3.6.12
# 任意のVersionをシステムへ反映
# pyenv global 3.6.12
# 反映の確認
# python --version
# pipコマンドのアップデート(しないとあとでエラーがでます)
# pip install --upgrade pip
pip 18.1 from /root/.pyenv/versions/3.6.12/lib/python3.6/site-packages/pip (python 3.6)
[root@exist opt]# pip install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/cb/28/91f26bd088ce8e22169032100d4260614fc3da435025ff389ef1d396a433/pip-20.2.4-py2.py3-none-any.whl (1.5MB)
100% |################################| 1.5MB 7.5MB/s
Installing collected packages: pip
Found existing installation: pip 18.1
Uninstalling pip-18.1:
Successfully uninstalled pip-18.1
Successfully installed pip-20.2.4
余談:pyenv以外でやる場合は以下の方法で(現状ver3.8.6がインストールされる模様)
# yum install python3 python3-libs python3-devel python3-pip
=====================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================
Installing:
python3 x86_64 3.6.8-17.el7 base 70 k
python3-devel x86_64 3.6.8-17.el7 base 217 k
python3-libs x86_64 3.6.8-17.el7 base 6.9 M
python3-pip noarch 9.0.3-8.el7 base 1.6 M
Installing for dependencies:
dwz x86_64 0.11-3.el7 base 99 k
libtirpc x86_64 0.2.4-0.16.el7 base 89 k
perl-srpm-macros noarch 1-8.el7 base 4.6 k
python-rpm-macros noarch 3-34.el7 base 9.1 k
python-srpm-macros noarch 3-34.el7 base 8.8 k
python3-rpm-generators noarch 6-2.el7 base 20 k
python3-rpm-macros noarch 3-34.el7 base 8.1 k
python3-setuptools noarch 39.2.0-10.el7 base 629 k
redhat-rpm-config noarch 9.1.0-88.el7.centos base 81 k
zip x86_64 3.0-11.el7 base 260 k
Transaction Summary
=====================================================================================================================
Install 4 Packages (+10 Dependent packages)
3-2.EXISTのインストール
- インストール先は「/opt/」を前提としスクリプトでインストールしていきます.
# cd ~/
# git clone https://github.com/r4sd/exist_auto_install.git
Cloning into 'exist_auto_install'...
remote: Enumerating objects: 24, done.
remote: Counting objects: 100% (24/24), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 24 (delta 6), reused 20 (delta 5), pack-reused 0
Receiving objects: 100% (24/24), 6.83 KiB | 3.42 MiB/s, done.
Resolving deltas: 100% (6/6), done.
#
# cd exist_auto_install/
# . exist_install.sh
[info] Repository file successfully written to /etc/yum.repos.d/mariadb.repo
[info] Adding trusted package signing keys...
[info] Successfully added trusted package signing keys
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Including mirror: ftp.tsukuba.wide.ad.jp
Including mirror: ftp.jaist.ac.jp
Including mirror: ftp.iij.ad.jp
Including mirror: ftp.yz.yamagata-u.ac.jp
Including mirror: ftp.nara.wide.ad.jp
* base: ftp.tsukuba.wide.ad.jp
Including mirror: ftp.ne.jp
Including mirror: ftp.yz.yamagata-u.ac.jp
* elrepo: ftp.ne.jp
Including mirror: ftp.yz.yamagata-u.ac.jp
* epel: ftp.yz.yamagata-u.ac.jp
Including mirror: ftp.tsukuba.wide.ad.jp
Including mirror: ftp.jaist.ac.jp
Including mirror: ftp.iij.ad.jp
|
|
省略
|
|
Nothing to do
------------------------------------------------
Please execute [ systemctl start exist.service ]
Admin (root) DB Password: [乱数]
User (exist) DB Password: [乱数]
#
# systemctl start exist.service
4.サイトへアクセス
5.さいごに
- 手動インストールだと煩雑(慣れたけど)なためスクリプトを準備したが、細かいところでトラブり作成に1日以上費やしてしまいました.
- おかげかコードの簡略化や連携部分の理解が深まり結果OKな感じとなっております(´ω`)
- 次はMISPの構築ですがその前にAPIの登録などをまとめて追加or2.5でUPかな.
6.参考サイト/多謝
- 手動インストールだと煩雑(慣れたけど)なためスクリプトを準備したが、細かいところでトラブり作成に1日以上費やしてしまいました.
- おかげかコードの簡略化や連携部分の理解が深まり結果OKな感じとなっております(´ω`)
- 次はMISPの構築ですがその前にAPIの登録などをまとめて追加or2.5でUPかな.
6.参考サイト/多謝
nict-csl/exist
サイバー脅威情報集約システム EXIST を構築する
NICTのEXISTをインストールしてみた
社内でSOC構築してみた③ #EXIST構築編
MISP
vodkappa/misp-install-centos-7
EXPECT
MariaDB 10.4.1〜のユーザー認証がカオスな話
Mins/mysql_secure.sh
Author And Source
この問題について(サイバー脅威情報集約システム(EXIST)とMalware Information Sharing Platform(MISP)の構築のまとめ②), 我々は、より多くの情報をここで見つけました https://qiita.com/ausust009/items/46120b8e76c34648d664著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .