脆弱性スキャンツール Vuls をCentOS7に構築する

OSSの脆弱性スキャンツールといえば
IPAでも紹介されたOSS「Vuls」ではないでしょうか?

効率的なソフトウェアの脆弱性対策のツールとして
注目を浴びつつある Vulsを今回はCentos7にインストール 設定していきます。

広告

Vulsとは

VulsとはOSSの脆弱性スキャンツールです。
Golangで書かれています。

VULnerability Scannerを略してVulsだって。
数年前から記事が存在しますが日本語はちょっと活発じゃないのか?
ドキュメントは徐々に増えていっているようです。

vulsがスキャン先としてサポートしているのは
下記メジャーなLinux/FreeBSDです。

  • Alpine
  • Ubuntu
  • Debian
  • CentOS
  • Amazon Linux
  • RHEL
  • Oracle Linux
  • SUSE Enterprise Linux
  • Raspbian

サーバー用途で使用している大方のOSで対応していますね。

Vulsをインストール前に

おそらく実運用の面からvulsと呼ぶ場合
それは1つのツールではなく
下記の6つのソフトウェアを組み合わせたものです。
Vulsを構築する際にはこれらのソフトウェアをCentOS7にインストールしていきます。

  1. go-cve-dictionary
  2. goval-dictionary
  3. gost
  4. go-exploitdb
  5. Vuls
  6. vulsrepo (optional)

Vulsをインストールする

必要環境

vulsをインストールする前に
必要なパッケージ・ライブラリを入れます。

  • SQLite3
  • MySQL
  • PostgreSQL
  • Redis
  • git
  • gcc
  • make
  • golang(1.10.1以上)

まずはパッケージをインストールします。

次にGolangです。
vulsの公式のやり方に沿うためyumを使用せずインストールします。

go-cve-dictionary をインストール

go-cve-dictionary とは、NVD(NISTが管理している脆弱性情報データベース)とJ
VN(JPCERT/CCと情報処理推進機構(IPA)が共同で管理している脆弱性情報データベース)
の脆弱性識別番号とそのリスク値を
sqliteの形式でlocalにコピーするツールです。


次にNVDから脆弱性データベースとJVNからデータベースを取ってきます。
これは十数分かかるので、気長に待ちましょう。。

goval-dictionary をインストール

OVALをsqlite形式でローカルに保存するためのツールです。
OVAL(Open Vulnerability and Assessment Language)とは
コンピュータのセキュリティ設定状況を検査するための仕様のことです。


RedHat, Debian, UbuntuのOVALデータを取得します。
もしほかのOSのデータを取得したい場合 -h で確認してください。
これもかなり時間がかかるので、コーヒー飲んでストレッチしてください。

gost をインストール

gostは各OSのSecurity Trackerをローカルに保存するためのツールです。
更新があった際に,メールやSlackに通知することができます。


次にRedhatとDebianのSecurity Trackerをコピーします。
またまた時間がかかります(笑)

go-exploitdb をインストール

Exploit-DBからデータをローカルにsqlite形式で保存するツールです。

データを取ってきましょう。
ゆっくり待ちましょう(笑)

Vuls をインストール

やっと本陣のVulsをインストールします。



おわったーーーー!!!
長かったね!!!!
コマンド vulsが使えるようになったよーー!!

$ vuls

実際にスキャンする方法は下を読んでね。



長かったねぇ〜
ドキュメントの日本語翻訳があまり進んでないみたいだから
ちょっと手伝いたいな。

じゃあね〜〜〜〜。