Slide 1

Slide 1 text

コンテナセキュリティ 関連OSSの紹介 今すぐ始める 無料の脆弱性検査

Slide 2

Slide 2 text

スライドは後で⼊⼿することが出来ますので 発表中の内容をメモする必要はありません。 写真撮影をする場合は フラッシュ・シャッター⾳が出ないようにご配慮ください Attention

Slide 3

Slide 3 text

3 ⾃⼰紹介 濱⽥孝治(ハマコー) •AWS事業本部コンサルティング部 シニアソリューションアーキテクト •好きなAWSサービス •Fargate、ECS、EKS •@hamako9999

Slide 4

Slide 4 text

4 ここしばらくの業務 • ECS(⾃社メディアサイトのマイクロサービス化) • ECS(⾃動⾞向けコネクテッドサービスのECS構 築) • ECS(Docker運⽤店舗向けサービスのマルチテ ナント→ECS化) • EKS(位置情報分析サービスのEKS化) • ECS(⾃社運⽤k8sからECSへの移⾏)

Slide 5

Slide 5 text

5 ここしばらくは コンテナまみれ

Slide 6

Slide 6 text

6 コンテナジャーニー

Slide 7

Slide 7 text

7 コンテナ環境徹底⽐較

Slide 8

Slide 8 text

8 皆さん コンテナを運⽤する上でセキュリティ上の 不安を感じていることと思います

Slide 9

Slide 9 text

9 コンテナセキュリティについて 具体的な対策を⽴てている⽅は︖

Slide 10

Slide 10 text

10 有⼒解 10

Slide 11

Slide 11 text

11 こう思っている⽅は︖ 実際試してみるにしても なんか⼤変そう…

Slide 12

Slide 12 text

12 私が今⽇お伝えしたいこと まずは気軽に試してみることで コンテナセキュリティの必要性を 肌で感じてもらいたい

Slide 13

Slide 13 text

13 本⽇紹介するもの • ドキュメント • Google Cloud コンテナセキュリティ • NIST Application Container Security Guide • CIS Docker Benchmarks • OSS • aqua MicroScanner • Clair • Trivy • Dockle • aqua kube-hunter

Slide 14

Slide 14 text

14 何故ドキュメントを読んだほうが良いか︖ 各コンテナセキュリティ製品やOSSが できることできないことの 全体を把握するため

Slide 15

Slide 15 text

15 ドキュメント編

Slide 16

Slide 16 text

16 Google Cloud コンテナセキュリティ https://cloud.google.com/containers/security/?hl=ja

Slide 17

Slide 17 text

17 Google Cloud コンテナセキュリティ • Google Cloudが提唱するコンテナ環境を保護するための 考え⽅の概要をまとめたもの • コンテナ実⾏時は、根本的に異なるセキュリティモデルが 必要 • 以下の3つの分野で、それぞれどういった対処が必要か 紹介されている • インフラストラクチャのセキュリティ • ソフトウェアのサプライチェーン • ラインタイムセキュリティ コンテナ環境において、セキュリティの考慮事項が コンパクトにまとめられている

Slide 18

Slide 18 text

18 (参考)Google Cloud コンテナセキュリティ

Slide 19

Slide 19 text

19 NIST Application Container Security Guide https://www.nist.gov/publications/application-container-security-guide

Slide 20

Slide 20 text

20 NIST Application Container Security Guide • NISTがまとめた、アプリケーションコンテナテクノロジのセキュ リティ上の問題に関する報告書 • 全63ページ、英語 • 抜け⽳を回避するためにセキュリティ対策を実施すべき領域として 5つの分野を指摘、それぞれの対応策も提⽰ • イメージリスク • レジストリリスク • オーケストレーターリスク • コンテナリスク • ホストOSリスク ベンダーニュートラルなコンテナセキュリティ対応の 原理原則を幅広く俯瞰するのに良い

Slide 21

Slide 21 text

21 (参考)NIST Application Container Security Guide

Slide 22

Slide 22 text

22 (参考)NIST Application Container Security Guide

Slide 23

Slide 23 text

23 CIS Docker Benchmarks https://www.cisecurity.org/benchmark/docker/

Slide 24

Slide 24 text

24 CIS Docker Benchmarks • Dockerについてのセキュリティ診断を実施する 「Docker Bench for Security」の診断項⽬のド キュメント • 診断項⽬はおおよそ70項⽬ • Docker社から公式提供されているセキュリティ診断 ツールの解説となるもの • 実際のセキュリティ診断はツールを使って実施 ホストOSにおけるDocker環境の診断ツールとして利⽤可能

Slide 25

Slide 25 text

25 (参考)CIS Docker BenchMarks

Slide 26

Slide 26 text

26 OSS編

Slide 27

Slide 27 text

27 aqua MicroScanner https://github.com/aquasecurity/microscanner

Slide 28

Slide 28 text

28 aqua MicroScanner • aqua社が提供するOSSのコンテナイメージ静的脆弱性診 断ツール • 利⽤は簡単 • Dockerワンライナーで利⽤に必要なトークンを取得 • Dockerfileに4⾏追加(脆弱性スキャン⽤バイナリを取得 して実⾏) • Dockerfileを書き換える必要があるので、⽇常的なス キャン設定やCI/CDパイプラインへの組込は不適 ⼀回試してみるには良いが定期的なスキャンの実⾏を 組み込むのは難しい

Slide 29

Slide 29 text

29 (参考)aqua MicroScanner https://dev.classmethod.jp/tool/docker/microscanner/

Slide 30

Slide 30 text

30 Clair https://github.com/coreos/clair

Slide 31

Slide 31 text

31 Clair • CoreOS社開発のコンテナイメージ脆弱性スキャンツー ル • ビルトインデータソースが豊富 • Debian Security Bug Tracker, Ubuntu CVE Tracker, Red Hat Security Data, Oracle Linux Security Data, Amazon Linux Security Advisories, SUSE OVAL Descriptions, Alpine SecDB, NIST NVD • Driverの追加も可能 • 別途脆弱性情報格納⽤にDB(PostgreSQL)が必要 ある程度本格的な脆弱性スキャン実⾏が可能 その分導⼊のハードルが⾼い

Slide 32

Slide 32 text

32 (参考)Clair https://github.com/jawsug-container/scan-image-vulnerabilities JAWS-UGコンテナ⽀部の 超丁寧なハンズオン

Slide 33

Slide 33 text

33 (参考)Clair https://aws.amazon.com/jp/blogs/publicsector/detect-vulnerabilities-in- the-docker-images-in-your-applications/ • AWS環境上で脆弱性診断環境⼀式を構築するOSS • Terraformで環境⼀式を構築 • Dockerイメージ格納︓ECR • 脆弱性データベース︓RDS(PostgreSQL) • 中間処理データの格納︓DynamoDB • ECRプッシュのイベント検知︓CloudTrail、CloudWatch • レポートの作成︓AWS Glue、Athena、S3

Slide 34

Slide 34 text

34 Trivy https://github.com/knqyf263/trivy

Slide 35

Slide 35 text

35 Trivy • シンプルで実⾏が簡単なイメージの脆弱性スキャン ツール • インストール、脆弱性スキャン共にワンライナーで 実⾏可能 • $ trivy • Clairと同様、多様な脆弱性データベースに対応 • OS packages, Application dependencies ワンライナーで実⾏可能、かつ対応データベースが豊富なため ⾮常にオススメ

Slide 36

Slide 36 text

36 (参考)Trivy https://dev.classmethod.jp/etc/trivy_poc/

Slide 37

Slide 37 text

37 (参考)Trivy https://github.com/jawsug-container/scan-image-vulnerabilities JAWS-UGコンテナ⽀部の 超丁寧なハンズオン

Slide 38

Slide 38 text

38 dockle https://github.com/goodwithtech/dockle

Slide 39

Slide 39 text

39 dockle • イメージ名指定だけで脆弱性検出が可能なOSS • 作者は @tomoyamachi さん • プライベートレジストリのスキャンにも対応 • Docker Bench for Security、Dockerfileベストプ ラクティスに対応 ワンライナーで実⾏可能なためこちらも⾮常にオススメ (パッケージ脆弱性診断のTrivyとの併⽤が良い)

Slide 40

Slide 40 text

40 (参考)dockle https://qiita.com/tomoyamachi/items/bb6ac5788bb734c91282 • CIS Benchmarkに 対応しているのが特 徴

Slide 41

Slide 41 text

41 (参考)dockle https://qiita.com/tomoyamachi/items/e0e69da521505e73237b • DockerHub上位800個に対 して実施した脆弱性試験の 結果の⼀覧 • dockleとTrivyそれぞれでの 診断結果を全て視認可能

Slide 42

Slide 42 text

42 aqua kube-hunter https://github.com/aquasecurity/kube-hunter

Slide 43

Slide 43 text

43 aqua kube-hunter • kubernetes環境の脆弱性試験ツール • kubernetesクラスターやワーカーノードに対して、 ワンライナーで30項⽬以上の脆弱性試験が可能 ⾃前でKubernetes環境を構築したり、ワーカーノードを作成 している場合に、⾮常にオススメ

Slide 44

Slide 44 text

44 (参考)aqua kube-hunter https://dev.classmethod.jp/cloud/aws/kube-hunter/

Slide 45

Slide 45 text

45 最後に これらのツールだけで あなたのコンテナワークロードの全てを 守ることができるでしょうか︖

Slide 46

Slide 46 text

46 まとめ • コンテナの脆弱性の考慮範囲は多岐におよぶ • OSSのツールも⾮常に充実してきている • 組織として本番運⽤するときに、不⾜項⽬はないか を必ず考える • まずは、TrivyやDockleなどを利⽤して、⾝近なイ メージに含まれる脆弱性の有無を検知するところか ら始めてみる

Slide 47

Slide 47 text

47 コンテナを楽しく使いましょう 濱⽥孝治(ハマコー) @hamako9999