Slide 1

Slide 1 text

Continuous Vulnerability scanning on CircleCI @lorentzca

Slide 2

Slide 2 text

Contents ● 自己紹介 ● CircleCI 上で Vuls を動かしてみた話

Slide 3

Slide 3 text

About Me ● 国島と申します ● ID は lorentzca ● Web インフラエンジニア -> サポートエンジニア ● 主な趣味はキャンプ・釣 り・酒 ● 最近自作キーボード沼 に入水しました ● よろしくおねがいします

Slide 4

Slide 4 text

CircleCI 上で Vuls を動かしてみた話

Slide 5

Slide 5 text

CircleCI ● コードのテストやデプロイを自動化してくれる サービス ● 競合として Jenkins, Travis CI, Wercker 等 ● 継続的インテグレーション (CI: Continuous Integration)

Slide 6

Slide 6 text

なぜそんなことを

Slide 7

Slide 7 text

CircleCI 2.0 in 2017 ● 好きな Docker Image を使える ● Scheduling jobs (cron) を使える

Slide 8

Slide 8 text

つまり…

Slide 9

Slide 9 text

なんでもあり!!

Slide 10

Slide 10 text

Vuls も CircleCI 上で動かせそう = 継続的脆弱性スキャンの実現

Slide 11

Slide 11 text

必要な Docker Image は公式で提供され ている ● vuls/go-cve-dictionary ● vuls/goval-dictionary ● vuls/vuls ● あとは CircleCI でうまくやるだけ

Slide 12

Slide 12 text

CircleCI 2.0 の機能を駆使する

Slide 13

Slide 13 text

Job の流れ

Slide 14

Slide 14 text

Job 間での成果物の共有 ● 成果物 (cve.sqlite3, oval.sqlite3) を workspaces に作成 ● persist_to_workspace キーで成果物を保持 ● 下流の job (vuls report 用 job) で attach_workspace キーを使い成果物を取得

Slide 15

Slide 15 text

SSH 周り ● CircleCI の add_ssh_keys の fingerprints キーを使うと .ssh 以下に config と秘密鍵が追加される ● vuls コマンドの -ssh-config オプションで上記 .ssh/config を読んで ssh してくれる ● Are you sure you want to continue connecting (yes/no)? ○ うるせえ! echo "StrictHostKeyChecking no" >> /root/.ssh/config して黙殺(雑)

Slide 16

Slide 16 text

config.toml の取得 ● Private Gist からダウンロードしてる ● 他にもやり方はありそうだけど(リポジトリ内に置 いて checkout とか)、 Gist なら Web 上でささっ と編集できるので便利

Slide 17

Slide 17 text

Job 間の順序依存 ● workflows の requires キーで依存関係を定義 できる

Slide 18

Slide 18 text

定期的に実行する ● workflows の schedule トリガーを使う ● cron 形式で指定できる ○ UTC なので注意!コメントで JST の時間を 書いておくと日本人に優しい ☺

Slide 19

Slide 19 text

github.com/lorentzca/vurcleci/.ci rcleci/config.yml

Slide 20

Slide 20 text

感想 ● 個人用途であればこれで十分 ☺ ● 無料嬉しい ● 対象サーバが複数あるときつそう ● いろいろ試行錯誤したことなどは別途ブログにもまとめる予 定 ○ blog.lorentzca.me

Slide 21

Slide 21 text

ご清聴ありがとうございました

Slide 22

Slide 22 text

おまけ

Slide 23

Slide 23 text

1台目の自作キーボード。 Planck という 40% キーボード。名前はセラス。

Slide 24

Slide 24 text

2台目の自作キーボード。同じく Planck 。名前はイリス。セラスは職場で使っていて、イリスは自宅 & 持ち運び用。