vuls とは?
VULnerability Scanner の略で、Linux/FreeBSD向けの脆弱性スキャンツールです。
今回、v0.5.0がリリース されたため、やってみようと思います!
構成
以下の構成で実施します。

準備
[実行環境]
- AWS EC2(CentOS6 / scan target)
- AWS EC2(CentOS7.5 / vuls)
AWS EC2(CentOS6 / スキャン対象)
-
古いAMI(ami-25436924)からインスタンスを起動します。
-
セキュリティグループの設定
- vuls サーバから[ssh(22)]でアクセス出来る設定
-
(今回は不要だけど)自動 yum update を抑止を行う
- 以下をユーザデータへ記述する
- 公式FAQより
#cloud-config repo_upgrade: none
AWS EC2(CentOS7.5 / vuls)
- 外部へアクセス出来る(EIP保有 or NAT環境)インスタンスを起動します。
- セキュリティグループの設定
- スキャン対象サーバへ[ssh(22)]でアクセス出来る設定
- NVDやJVNへでアクセス出来る設定
- vuls インストールする
- 下へ続く...
[vuls インストール]
1. vuls サーバへログインする
2. 各種インストールします
$ sudo yum -y install sqlite git gcc make wget
3. go を取得して、展開します
$ wget https://dl.google.com/go/go1.10.1.linux-amd64.tar.gz
$ sudo tar -C /usr/local -xzf go1.10.1.linux-amd64.tar.gz
$ mkdir $HOME/go
4. /etc/profile.d/goenv.sh を作成し、以下を記載します
$ vi /etc/profile.d/goenv.sh
$ export GOROOT=/usr/local/go
$ export GOPATH=$HOME/go
$ export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
5. 変数をセットします
$ source /etc/profile.d/goenv.sh
6. go-cve-dictionary 環境作成と取得
$ sudo mkdir /var/log/vuls
$ sudo chown centos /var/log/vuls
$ sudo chmod 700 /var/log/vuls
$ mkdir -p $GOPATH/src/github.com/kotakanbe
$ cd $GOPATH/src/github.com/kotakanbe
$ git clone https://github.com/kotakanbe/go-cve-dictionary.git
$ cd go-cve-dictionary
$ make install
$ cd $HOME
$ for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchnvd -years $i; done
7. goval 環境作成と取得
$ mkdir -p $GOPATH/src/github.com/kotakanbe
$ cd $GOPATH/src/github.com/kotakanbe
$ git clone https://github.com/kotakanbe/goval-dictionary.git
$ cd goval-dictionary
$ make install
$ goval-dictionary fetch-redhat 6
8. gost 環境作成と情報取得
$ mkdir -p $GOPATH/src/github.com/knqyf263
$ cd $GOPATH/src/github.com/knqyf263
$ git clone https://github.com/knqyf263/gost.git
$ cd gost
$ make install
$ gost fetch redhat --after=2014-01-01
9. vuls インストール
$ mkdir -p $GOPATH/src/github.com/future-architect
$ cd $GOPATH/src/github.com/future-architect
$ git clone https://github.com/future-architect/vuls.git
$ cd vuls
$ make install
[設定ファイル作成]
1. 作成
$ cd $HOME
$ vi config.toml
- 先ずはローカルを指す設定
[servers]
[servers.localhost]
host = "localhost"
port = "local"
2. 設定ファイル確認
$ vuls configtest
[version 確認]
1. version 確認
$ vuls -v
vuls v0.5.0 44fa2c5
まとめ
マニュアルを見ながら進めると大体スムーズに出来ました。
この後、新しい機能をやってみたいと思います!