Linux

Vuls0.5 + Vuls Repo0.2 + CentOS7.4

Vuls

既存環境のバージョンをまるっとVuls0.5に入れ替えました。

アップデートでいじるより一旦削除してクリーンインストールの方が楽かな~!

 

 

vulsユーザの既存のものを削除

$ cd
$ rm -rf *

 

 

goのインストール

$ sudo yum -y install sqlite git gcc make wget mailx
$ 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

 

環境変数設定

$ vi /etc/profile.d/goenv.sh

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

 

環境変数反映

$ source /etc/profile.d/goenv.sh

 

go-cve-dictionary

$ sudo chown vuls:vuls /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 instal

 

CVE

$ cd $HOME
$ for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchnvd -years $i; done

 

OVAL

$ cd $HOME
$ goval-dictionary fetch-redhat -dbpath=$HOME/oval.sqlite3 5 6 7

 

gost

$ sudo mkdir /var/log/gost
$ sudo chown vuls:vuls /var/log/gost
$ sudo chmod 700 /var/log/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

取得 Redhat
$ gost fetch redhat --after 2016-01-01

取得 Debian
$ gost fetch debian --after 2016-01-01

 

※取得に失敗した場合は1か月毎に範囲指定して結合させると回避できます。

$ gost fetch redhat --after 2019-03-01 --before 2019-04-01
$ gost fetch redhat --after 2019-02-01 --before 2019-03-01
$ gost fetch redhat --after 2019-01-01 --before 2019-02-01
$ gost fetch redhat --after 2018-11-01 --before 2018-12-01

・・・

$ gost fetch redhat --after 2015-12-01 --before 2016-01-01

(Redhat側でWEBサーバのタイムアウト指定を厳しくしたのかな?

 

go-explitdb

$ cd $HOME
$ sudo mkdir /var/log/go-exploitdb
$ sudo chown $USER /var/log/go-exploitdb
$ sudo chmod 700 /var/log/go-exploitdb
$ mkdir -p $GOPATH/src/github.com/mozqnet
$ cd $GOPATH/src/github.com/mozqnet
$ git clone https://github.com/mozqnet/go-exploitdb.git
$ cd go-exploitdb
$ make install

取得
$ go-exploitdb fetch -deep

 

 

Vuls

 

a. 以前にインストールしていた場合

$ rm -rf $GOPATH/pkg/linux_amd64/github.com/future-architect/vuls/
$ rm -rf $GOPATH/src/github.com/future-architect/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

 

b. 新規でインストールする場合

$ 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

 

 

設定ファイル

$ vi /home/vuls/config.toml


[email]
smtpAddr      = "localhost"
smtpPort      = "25"
from          = "VulsServer@example.net"
to            = ["user@example.net"]
subjectPrefix = "[vuls]"


[servers]

# localhost
[servers.localhost]
host =      "localhost"
port =      "local"


# HOGEサーバ
[servers.HOGE]
host = "54.xxx.xxx.113"
port = "xxx22"
user = "vuls"
keyPath = "/home/vuls/.ssh/id_rsa"

 

 

構文テスト

# vuls configtest

 

 

スキャンとレポート出力

$ vuls scan
$ vuls report -ovaldb-sqlite3-path=$HOME/oval.sqlite3 -cvedb-sqlite3-path=$HOME/cve.sqlite3 -gostdb-sqlite3-path=$HOME/go/src/github.com/knqyf263/gost/gost.sqlite3 --lang=ja -format-one-line-text -config=./config.toml

 

GUIモード

# vuls tui

 

 

Vuls Repo

$ cd
$ git clone https://github.com/usiusi360/vulsrepo.git
$ cd $HOME/vulsrepo/server

 

$ cp vulsrepo-config.toml.sample config.toml


$ vi config.toml

[Server]
rootPath = "/home/vuls/vulsrepo"
resultsPath  = "/opt/vuls/results"
serverPort  = "5111"

#[Auth]
#authFilePath = "/home/vuls-user/.htdigest"
#realm = "vulsrepo_local"


↓変更


[Server]
rootPath = "/home/vuls/vulsrepo"
resultsPath  = "/home/vuls/results"
serverPort  = "5111"

#[Auth]
#authFilePath = "/home/vuls/.htdigest"
#realm = "vulsrepo_local"

 

サーバ起動

$ nohup ./vulsrepo-server &

 

アクセスする

http://192.168.xxx.224:5111/

 

 

脆弱性データベース更新手順

 

更新前に退避します。

$ mv cve.sqlite3 cve.sqlite3_`date +%y%m%d`
$ mv oval.sqlite3 oval.sqlite3_`date +%y%m%d`
$ cp $HOME/go/src/github.com/knqyf263/gost/gost.sqlite3 $HOME/go/src/github.com/knqyf263/gost/gost.sqlite3_`date +%y%m%d`

 

CVE

$ cd $HOME
$ for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchnvd -years $i; done

 

OVAL

$ cd $HOME
$ goval-dictionary fetch-redhat -dbpath=$HOME/oval.sqlite3 5 6 7

 

gost

$ cd $HOME/go/src/github.com/knqyf263/gost/
$ gost fetch redhat --after 2016-01-01

 

※取得に失敗した場合は1か月毎に範囲指定して結合させると回避できます。

$ gost fetch redhat --after 2019-03-01 --before 2019-04-01
$ gost fetch redhat --after 2019-02-01 --before 2019-03-01
$ gost fetch redhat --after 2019-01-01 --before 2019-02-01
$ gost fetch redhat --after 2018-11-01 --before 2018-12-01
 
・・・
 
$ gost fetch redhat --after 2015-12-01 --before 2016-01-01
(Redhat側でWEBサーバのタイムアウト指定を厳しくしたのかな?

 

スキャン

$ vuls scan

 

レポート作成

$ vuls report -ovaldb-sqlite3-path=$HOME/oval.sqlite3 -cvedb-sqlite3-path=$HOME/cve.sqlite3 -gostdb-sqlite3-path=$HOME/go/src/github.com/knqyf263/gost/gost.sqlite3 --lang=ja -format-one-line-text -config=./config.toml

 

VulsRepoにアクセスする
http://192.168.xxx.224:5111/

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)