LoginSignup
1
1

More than 3 years have passed since last update.

サイバー脅威情報集約システム(EXIST)とMalware Information Sharing Platform(MISP)の構築まとめ①

Last updated at Posted at 2020-11-16

はじめに

  • 元同僚から面白そうなOSSを教えてもらったので調べがてら構築をしてみた.
  • ここでは構築する際にトラブった箇所や手順などをまとめていく感じです.
  • ALL-in-One方式で構築した際、取得したデータサイズのせいかDiskFull-->LVM追加でミスって-->VMクラッシュという楽しい目にあったため個別での構築としています.
  • 3部構成(共通部分/EXIST/MISP)で記事を書く予定です.

前提

  • 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-existを使わずに構築していきます
  • git:Verは2.29.x(現時点で最新のもの)とする.(共通)
    • 2.x台であればなんでもよいかと
  • wget/curl/tmux/htopなど適宜インストール.
    • 不要な人はスルーでもOK
  • FirewallやSElinuxは自己責任のもと無効にしてください.(共通)
    • Firewallではのちに8000ポートの開放を手順に入れております
    • SElinuxは土下座してdisabledにしております

OSS製品のドキュメント

サイバー脅威情報集約システム(EXIST)
Malware Information Sharing Platform(MISP)

共通部分の構築

  • OSの状態は「最小限」を選択肢しインストール済み.

kernel-ml関連のインストールと読み込み順序の変更

# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
# 
# uname -a
Linux [hostname] 3.10.0 ~省略~
#
#  rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 
# yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
読み込んだプラグイン:fastestmirror
   |
   |
    省略
   |
   |
警告: RPMDB は yum 以外で変更されました。
  インストール中          : elrepo-release-7.0-5.el7.elrepo.noarch                                                      1/1 
  検証中                  : elrepo-release-7.0-5.el7.elrepo.noarch                                                      1/1 

インストール:
  elrepo-release.noarch 0:7.0-5.el7.elrepo                                                                                  

完了しました!

# 
# yum --enablerepo=elrepo-kernel install kernel-ml
Loaded plugins: fastestmirror, langpacks
   |
   |
    省略
   |
   |
Dependencies Resolved

======================================================================================================================== Package                  Arch                  Version                              Repository                    Size
========================================================================================================================Installing:
 kernel-ml                x86_64                5.9.8-1.el7.elrepo                   elrepo-kernel                 51 M

Transaction Summary
========================================================================================================================Install  1 Package

Total download size: 51 M
Installed size: 233 M
Is this ok [y/d/N]: y
Downloading packages:
kernel-ml-5.9.8-1.el7.elrepo.x86_64.rpm                                                          |  51 MB  00:00:09
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : kernel-ml-5.9.8-1.el7.elrepo.x86_64                                                                  1/1
  Verifying  : kernel-ml-5.9.8-1.el7.elrepo.x86_64                                                                  1/1

Installed:
  kernel-ml.x86_64 0:5.9.8-1.el7.elrepo

Complete!

新旧Kernelが混在中なので新しいものに置き換え

# 
# rpm -qa |grep kernel
kernel-ml-5.9.8-1.el7.elrepo.x86_64
kernel-tools-3.10.0-1062.el7.x86_64
kernel-tools-libs-3.10.0-1062.el7.x86_64
kernel-3.10.0-1062.el7.x86_64
# 
# yum swap --enablerepo=elrepo-kernel kernel-* -- kernel-ml-* <--リポジトリをenableにしていないためオプションで指定
Loaded plugins: fastestmirror, langpacks
Skipping the running kernel: kernel-3.10.0-1127.19.1.el7.x86_64
Loading mirror speeds from cached hostfile
   |
   |
    省略
   |
   |
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/7): kernel-ml-devel-5.9.8-1.el7.elrepo.x86_64.rpm                                          |  13 MB  00:00:04
(2/7): kernel-ml-doc-5.9.8-1.el7.elrepo.noarch.rpm                                            | 8.9 MB  00:00:01
(3/7): kernel-ml-headers-5.9.8-1.el7.elrepo.x86_64.rpm                                        | 1.4 MB  00:00:00
(4/7): kernel-ml-tools-5.9.8-1.el7.elrepo.x86_64.rpm                                          | 229 kB  00:00:00
(5/7): kernel-ml-tools-libs-5.9.8-1.el7.elrepo.x86_64.rpm                                     | 117 kB  00:00:00
(6/7): kernel-ml-tools-libs-devel-5.9.8-1.el7.elrepo.x86_64.rpm                               |  95 kB  00:00:00
(7/7): kernel-ml-5.9.8-1.el7.elrepo.x86_64.rpm                                                |  51 MB  00:00:09
---------------------------------------------------------------------------------------------------------------------
Total                                                                                7.6 MB/s |  76 MB  00:00:09
   |
   |
    省略
   |
   |
Complete!

# 
# rpm -qa |grep kernel
kernel-ml-tools-libs-5.9.8-1.el7.elrepo.x86_64
kernel-ml-doc-5.9.8-1.el7.elrepo.noarch
kernel-ml-tools-libs-devel-5.9.8-1.el7.elrepo.x86_64
kernel-ml-5.9.8-1.el7.elrepo.x86_64
kernel-ml-tools-5.9.8-1.el7.elrepo.x86_64
kernel-ml-devel-5.9.8-1.el7.elrepo.x86_64
kernel-ml-headers-5.9.8-1.el7.elrepo.x86_64
kernel-3.10.0-1062.el7.x86_64

古いカーネルを削除
#
# rpm -e kernel-3.10.0-1062.el7.x86_64

OS起動時のKernel読み込み順を変更<--古いカーネルを削除していれば基本スルーでOK

#
# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (3.10.0-1127.19.1.el7.x86_64) 7 (Core)
1 : CentOS Linux (5.9.8-1.el7.elrepo.x86_64) 7 (Core) <--こいつを選択
2 : CentOS Linux 7 Rescue 58dbc0c56878451db0f22c3af5129299 (3.10.0-693.17.1.el7.x86_64)
3 : CentOS Linux (0-rescue-55a201f65e044fb291c90c84936d9385) 7 (Core)
4 : CentOS Linux (0-rescue-e139e4d1f5ec417fb1ae634270a99f8b) 7 (Core

#
# grub2-editenv list
saved_entry=0
# 
# grub2-set-default 1
# 
# grub2-editenv list
saved_entry=1

反映確認のため再起動
#
# reboot

各パッケージのアップデート&個別で必要なパッケージのインストール

古いカーネルの再インストールを防ぐため除外設定を行う.
#
# echo "exclude=kernel*" >> /etc/yum.conf
# 
# yum update --enablerepo=elrepo-kernel
   |
   |
    省略
   |
   |
Complete!

#
# yum install epel-release
   |
   |
    省略
   |
   |
Complete!

#
# yum install vim tmux htop wget curl gcc autoconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel
   | 
   |
    省略
   |
   |
Complete!

Gitのアップデート

  • Gitは以下にある参考サイトなどでインストールしてみてくださいませ.
    • インストールで必要になるパッケージは上記のyumで対応しております

以上

共通部はここまでとなります.
次はEXISTの構築となります.

参考サイト/多謝

Kernel関連
elrepo.org
kernel-ml
CentOS7でelrepoリポジトリを有効化してkernel-mlを入れる
CentOS 7でデフォルトのカーネルを変更・指定する
YUMチートシート

Git関連
git/INSTALL
CentOSにソースから最新版のgitをインストール

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1