去年、実家でCoreOSサーバにdocker入れて遊んでいたのですが完全に放置気味でかわいそうだったので、(以下ブログより)
今回はVuls Dockerを入れてこのブログ(blog.adachin.me)を定期的にスキャンしてみました。

[CoreOS][docker]ついに自宅dockerサーバを構築した!!!!!!


■vuls/vuls Docker Hub

https://hub.docker.com/r/vuls/vuls/

https://github.com/future-architect/vuls/tree/master/setup/docker

Dockerなのでpullしてrunして終わりなので楽ちん。


■Pull new vuls docker images

まず必要なコンテナはgo-cve-dictionary、goval-dictionary、vulsの3つとなります。
バージョンアップしたい場合は# docker rmiしてまた# docker pullすれば最新となります。(これまた楽ちん)


■ Fetch NVD

今回はroot配下にvuls-dockerディレクトリを作成してそこで管理するようにしました。

sqlite3データベースファイルの出力先にマウントして
最新のCVEデータベースを構築するので、めちゃくちゃ時間かかります。
ちなみにMackerelで監視しているのですが若干ロアベが高かった。。


■Fetch JVN

日本のJVNデータベースはNVDのデータが日本語翻訳されていますのでCVEデータベースぶち込むとサイコー。


■Fetch OVAL (Ubuntu)

https://github.com/kotakanbe/goval-dictionary#goval-dictionary

ADACHIN SERVER LABはUbuntu16なのでUbuntu用OVALもぶち込みます。


■Configuration

・config.toml

あとはconfig.toml作ってテストしてスキャン!
vuls v0.4.0からsudoers NOPASSにしなくてもスキャンできるようになったので、
CoreOS(dockerサーバ)から自分のブログにsshできるか設定します。


■Configtest


■Scan


 ■Report


 ■TUI


 ■Slack

ひえええええええええ多いいいいいいいいいいいい
と思ったらNot Fixed Yet。

つまり、まだ修正版が出てないけどとりあえず脆弱性はあるよということ。
早く!!!


■定期実行

定期実行する前に上記の脆弱性情報更新からreportまでスクリプトを作ってみました。(勢い)

 ・vuls-auto.sh

・スクリプト実行結果

勢いで作ってみましたが良さげ。
あとはCoreOSで定期実行してみます。

・Scheduling tasks with systemd timers

https://coreos.com/os/docs/latest/scheduling-tasks-with-systemd-timers.html

CoreOSにはcronがデフォルトで入っていないのでsystemdでやってみました。
土日以外朝8時に実行する感じ。通勤時にも見れますね。

・systemctl

先程作ったdate.timerがエラーなく起動していればOK!


■まとめ

CoreOSもvuls scanできるようになれば敦盛と思いましたが、
CoreOS自体相当セキュアなので毎回新しいアップデートが来ると自動的にアップデートされて
再起動されますw(自分はオフにしてる)

[docker]CoreOSが勝手に再起動されたので調査してみた

これで自宅dockerサーバも放置なく、かわいそうじゃなくなった・3・U
あとでVulsRepoも試してみまふ。

The following two tabs change content below.
あだちん

あだちん

1989年生まれ。 Infra Engineer/SRE In Shibuya 2013年新卒に自宅サーバを構築し、この技術ブログを立ち上げたが、 2017年に電源が壊れConoHaにリプレイスした。 好きな構成管理ツールはansible,Terraform。 インフラならAWS/docker。言語はPython。 WEBサーバならH2O。そして脆弱性スキャナVuls追いながらVulsRepo init fileのコミッターでもある。 HIPHOPが好きすぎてTrack Makerでもある。

コメントを残す