Continuous Vulnerability scanning on CircleCI
by
lorentzca
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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 。名前はイリス。セラスは職場で使っていて、イリスは自宅 & 持ち運び用。