vulsを入れてみる | セキュリティエンジニアのためになる?話

セキュリティエンジニアのためになる?話

セキュリティに関するトピックスを解説します。
あとは写真、飛行機、星、ラジコン、電気、電子、ロボットなどの話題を載せていきます。

国産脆弱性スキャナのvulsをdocker環境に入れてみます。
一時的に保存するディレクトリを作ります。

# mkdir /usr/local/src/vuls
# cd /usr/local/src/vuls

gitでソースをクローンします。

# git clone https://github.com/future-architect/vuls.git
# cd /usr/local/src/vuls/vuls/setup/docker

docker-composeでセットアップ

#docker-compose up -d

以上で完了です。
プロキシ環境の場合、

Creating network "docker_default" with the default driver
Building vuls
Step 1 : FROM buildpack-deps:jessie-scm
Trying to pull repository docker.io/library/buildpack-deps ...
Pulling repository docker.io/library/buildpack-deps
Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/buildpack-deps/images. You may want to check your internet connection or if you are behind a proxy.
ERROR: Service 'vuls' failed to build: Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/buildpack-deps/images. You may want to check your internet connection or if you are behind a proxy.

というエラーでとまります。
Dockerにプロキシを設定する場合、まずは起動ファイルを探します。

# systemctl show docker|grep FragmentPath

起動ファイルに環境変数を追記します。
(おすすめではないらしい)
# vi /usr/lib/systemd/system/docker.service
Environment="HTTP_PROXY=http://proxy.TTT.com:8080" "HTTPS_PROXY=proxy.TTT.com:8080"
# systemctl daemon reload
# systemctl restart docker

以上でdockerでproxy経由でのpullができるようになりました。
さらに、vulsの構築時にapt-getを使います。
そいつのProxy設定も入れてやらないとエラーになります。

# vi /usr/local/src/vuls/vuls/setup/docker/dockerfile/Dockerfile

FROM buildpack-deps:jessie-scm

ENV http_proxy http://proxy.TTT.com:8080
ENV https_proxy http://proxy.TTT.com:8080

# golang Install
RUN apt-get update && apt-get install -y --no-install-recommends \

ファイルの頭の方にプロキシ設定を追記。
あとは、再度

# docker-compose up -d

で動きます。
ただし、標準で80番ポートをListenします。
ネットワークの設定によっては、httpdをすでに動かしていると、エラーになるのでポート番号かえるなど対策してください。