AzureにVulsをインストールしてみる。コピペでどーん。

はじめに

くどうです。

Vulsです。いろいろ省きます。
https://github.com/future-architect/vuls/blob/master/README.ja.md

対象環境はCentOS-based 7.2です。たぶんCentOS7系なら大丈夫かな。
Vuls本体とVulsRepoがインストールされます。

別途、ポータルからネットワークセキュリティーグループにhttp用80番ポートを設定します。
ユーザー名はvulsuserです。

Configではlocalhost(自分自身)をスキャンします。

コピペ

以下をコピペでインストールします。

#selinuxの無効化
#いしかわさん ごめんなさい いしかわさん ごめんなさい いしかわさん ごめんなさい
sudo sed -i "s/\(^SELINUX=\).*/\1disabled/" /etc/selinux/config

#必要なもをインストール
sudo yum -y install qlite git gcc git httpd perl-CGI perl-JSON perl-Data-Dumper
wget https://storage.googleapis.com/golang/go1.6.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.6.3.linux-amd64.tar.gz
mkdir $HOME/go

#環境変数の定義
sudo sh -c 'echo "export GOROOT=/usr/local/go" >> /etc/profile.d/goenv.sh'
sudo sh -c 'echo "export GOPATH=\$HOME/go" >> /etc/profile.d/goenv.sh'
sudo sh -c 'echo "export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin" >> /etc/profile.d/goenv.sh'
source /etc/profile.d/goenv.sh

#VulsRepoの設定
cd /var/www/html/
sudo git clone https://github.com/usiusi360/vulsrepo.git
sudo mkdir /var/www/html/vulsrepo/results
sudo chown -R vulsuser:vulsuser /var/www/html/vulsrepo/
sudo cp -p vulsrepo/dist/cgi/vulsrepo.conf.sample /etc/httpd/conf.d/vulsrepo.conf
ln -s /var/www/html/vulsrepo/results /home/vulsuser/

#ログの保存場所の設定
sudo mkdir /var/log/vuls
sudo chown vulsuser /var/log/vuls
sudo chmod 700 /var/log/vuls

#httpdの起動と設定
sudo systemctl start httpd.service
sudo systemctl enable httpd.service

#cve-dictionaryとvulsをインストール
cd ~/
go get github.com/kotakanbe/go-cve-dictionary
for i in {2002..2016}; do go-cve-dictionary fetchnvd -years $i; done
for i in {2002..2016}; do go-cve-dictionary fetchjvn -years $i; done
go get github.com/future-architect/vuls

#キーの設定
ssh-keygen -t rsa -N "" -f .ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

#Configを作成
echo '[servers]' >> config.toml
echo '[servers.localhost]' >> config.toml
echo 'host         = "localhost"' >> config.toml
echo 'port        = "22"' >> config.toml
echo 'user        = "vulsuser"' >> config.toml
echo 'keyPath     = "/home/vulsuser/.ssh/id_rsa"' >> config.toml
vuls configtest

#対象へvulsの設定
vuls prepare

#スキャン
vuls scan -cve-dictionary-dbpath=$PWD/cve.sqlite3 -results-dir=/home/vulsuser/results -report-json -report-text -lang=ja

#selinuxの無効化を反映
sudo reboot

再起動後、下記にアクセスすることでVulsRepoを確認できます。
http://[IPアドレス]/vulsrepo/

[メモ]
ln -s /var/www/html/vulsrepo/results /home/vulsuser/
こいつには悩んだ。
ln -s /home/vulsuser/results /var/www/html/vulsrepo/results
これでは何故かうまく動作しなかった。

まとめ

何回も検証のためインストール繰り返したので簡単にインストールできるようメモです。

ではでは