今月頭に行われたJanog Meeting in OkinawaでVulsの紹介があったので、私も使ってみました。
Vulsは、golang製の脆弱性検知ツール。
Janogでは開発者の2人さんが登壇していろいろ喋ってくれてました。
なんで、Vulsなの?って質問では「バルス!」って言いたかっただけらしいです(笑)
VulsのリポジトリにはDockerfileとcomposeがあるので、簡単に実行できます。
対象のホストにsshでログインして,インストールされたパッケージをチェックする系のツールで
config.tomlに対象ホストの情報をごりごり書いて実行する。
今使ってるサーバーに対して実行してみると
$ docker exec -t vuls scripts/scan_for_vulsrepo.sh
INFO[0000] Start scanning
INFO[0000] config: /opt/vuls/conf/config.toml
INFO[0000] cve-dictionary: /opt/vuls/cve.sqlite3
[Jul 26 13:49:43] INFO [localhost] Validating Config...
[Jul 26 13:49:43] INFO [localhost] Detecting Server/Contianer OS...
[Jul 26 13:49:43] INFO [localhost] Detecting OS of servers...
[Jul 26 13:49:46] INFO [localhost] (1/1) Detected: 328moe: centos 7.2.1511
[Jul 26 13:49:46] INFO [localhost] Detecting OS of containers...
[Jul 26 13:49:46] INFO [localhost] SSH-able servers are below...
328moe
[Jul 26 13:49:46] INFO [localhost] Detecting Platforms...
[Jul 26 13:49:59] INFO [localhost] (1/1) 328moe is running on other
[Jul 26 13:49:59] INFO [localhost] Scanning vulnerabilities...
[Jul 26 13:49:59] INFO [localhost] Check required packages for scanning...
[Jul 26 13:50:00] INFO [localhost] Scanning vulnerable OS packages...
[Jul 26 13:50:04] INFO [328moe] Fetching CVE details...
[Jul 26 13:50:04] INFO [328moe] Done
[Jul 26 13:50:04] INFO [localhost] Scanning vulnerable software specified in the CPE...
[Jul 26 13:50:04] INFO [localhost] Insert to DB...
[Jul 26 13:50:04] INFO [localhost] Reporting...
328moe (centos7.2.1511)
=======================
No unsecure packages.
どうやら問題はないらしい。
Slackへの通知もOKらしく、いたりつくせり。
自分でビルドして入れたパッケージもどうにかできるらしいので本当すごい。
次は、他のサーバーでも試してみる。
あ、VulsのSlackにも参加してみました(^o^)/