$30 off During Our Annual Pro Sale. View Details »

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

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

濱田孝治

July 16, 2019
Tweet

More Decks by 濱田孝治

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. 6
    コンテナジャーニー

    View Slide

  7. 7
    コンテナ環境徹底⽐較

    View Slide

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

    View Slide

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

    View Slide

  10. 10
    有⼒解
    10

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  15. 15
    ドキュメント編

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. 21
    (参考)NIST Application Container Security Guide

    View Slide

  22. 22
    (参考)NIST Application Container Security Guide

    View Slide

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

    View Slide

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

    View Slide

  25. 25
    (参考)CIS Docker BenchMarks

    View Slide

  26. 26
    OSS編

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  31. 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)が必要
    ある程度本格的な脆弱性スキャン実⾏が可能
    その分導⼊のハードルが⾼い

    View Slide

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

    View Slide

  33. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide