AnsibleでCentOS7へVulsをインストールするPlaybookを書きました。ローカルホストで実行する場合のみ対応しています。
Vulsの公式の インストール手順 に従っています。
動作環境
以下を基本として説明します。
CentOS7.4 以降
Ansible 2.5 以降(2.4以前には対応していません)
Ansibleをインストールする
rootで実行します。sudoを利用する場合は適宜変更します。
# yum -y install epel-release
# yum -y install ansible
# ansible --version
Vulsをインストールする
コマンドはrootで実行します。sudoを利用する場合は適宜変更します。
まず初めに始めにvulsユーザーを作成します。その後私が管理しているGithubのリポジトリよりplaybookを取得します。
# useradd vuls
# cd /home/vuls
# git clone https://github.com/TomonoriMatsumura/ansible-vuls.git
# cd ansible-vuls
# ansible-playbook -i localhost.cfg site.yml
vulsを実行する
vulsユーザーでのみ実行可能です。
$ su vuls
$ vuls
varsファイルについて
ansible playbookを実行する際に設定する変数は以下が設定されています。パスは「ansible/vars/vuls/install/default.yml」です。
work_dir: /tmp/vuls-install-dir
vuls_user: vuls
go_path: "/home/{{ vuls_user}}/go"
first_year: 2018
- work_dir
作業用ディレクトリ
- vuls_user
Vulsを実行するユーザー名
- go_path
Golangのインストールパス
- first_year
脆弱性ファイルを取得するための期間を設定します。期間の最初のみ指定出来ます。期間の終わりの年はPlaybook側で自動で取得されます。
初期設定は2018年~2018年になっています。(2018年現在)この値を適宜変更します。2016年~現在の年くらいの約3年間程度の設定が妥当かと思われます。
Golangについて
Vulsが利用するGolangは常に最新のバージョンがインストールされます。GolangのDockerfileより最新のGolangのバージョン情報を解析して取得しています。