Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TrivyでAWSセキュリティをシフトレフトしよう

 TrivyでAWSセキュリティをシフトレフトしよう

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. Copyright © 2023 Bitkey Inc. All right reserved.
    TrivyでAWSセキュリティをシフトレフトしよう
    Qiita Night 〜AWS vol.2〜 登壇資料 (2023/05/24)
    株式会社ビットキー 星野貴信 2023/05/24

    View Slide

  2. 2
    Copyright © 2023 Bitkey Inc. All right reserved.
    発表スライドは公開済みのためBitkey
    DevelopersのTwitterアカウントから手
    元に開いてお楽しみください
    スライドへのリンク

    View Slide

  3. 3
    Copyright © 2023 Bitkey Inc. All right reserved.
    自己紹介
    星野 貴信
    Hoshino Takanobu
    2014.03
    2020.01
    2022.11
    ソフトウェアエンジニアとしてキャリアを開始
    受託開発でRubyやPHPによるWebアプリケーションを
    開発する過程で、AWSの面白さに目覚め、インフラ方
    面に進む
    株式会社LCL
    クラウドエンジニアとしてサービス運用改善やAWSの
    活用をリード
    株式会社ビットキー
    SREとして入社し、現在はSETとのハイブリッド
    品質を軸に多方面に活動
    好きなAWSサービス

    View Slide

  4. 4
    Copyright © 2023 Bitkey Inc. All right reserved.
    Devトークの案内
    We are hiring ! & Devトークあります
    https://jobs.qiita.com/employers/240/dev_talks/566

    View Slide

  5. 5
    Copyright © 2023 Bitkey Inc. All right reserved.
    会社紹介
    https://speakerdeck.com/bitkey/yuzati-yan-woxiang-shang-saserukagiha-fen-duan-nojie-xiao-jue-dui-nizhi-merare
    naisumatorotukuwoxi-usisutemunoli-ce?slide=2

    View Slide

  6. 6
    Copyright © 2023 Bitkey Inc. All right reserved.
    会社紹介
    https://speakerdeck.com/bitkey/yuzati-yan-woxiang-shang-saserukagiha-fen-duan-nojie-xiao-jue-dui-nizhi-merare
    naisumatorotukuwoxi-usisutemunoli-ce?slide=11

    View Slide

  7. 7
    Copyright © 2023 Bitkey Inc. All right reserved.
    会社紹介
    https://speakerdeck.com/bitkey/yuzati-yan-woxiang-shang-saserukagiha-fen-duan-nojie-xiao-jue-dui-nizhi-merare
    naisumatorotukuwoxi-usisutemunoli-ce?slide=15

    View Slide

  8. 8
    Copyright © 2023 Bitkey Inc. All right reserved.
    この発表から得られること
    1. クラウドインフラ、特にAWSに対する
    Infrastructure as Codeのテスト技法
    2. セキュリティスキャナ Trivyの概要と導
    入時のポイント

    View Slide

  9. 9
    Copyright © 2023 Bitkey Inc. All right reserved.
    今日話すこと
    SREかつSETということで、
    今日はクラウドインフラのテストについ
    て話します!

    View Slide

  10. 10
    Copyright © 2023 Bitkey Inc. All right reserved.
    今日話すこと
    クラウドインフラのテストの中から
    Infrastructure as Code(IaC)のテスト技
    法を取り上げます

    View Slide

  11. 11
    Copyright © 2023 Bitkey Inc. All right reserved.
    Outline
    1. なぜクラウドインフラをテストするのか
    2. Infrastructure as Codeのテスト技法
    3. Trivyの概要
    4. Trivy運用時のTips
    5. まとめ

    View Slide

  12. 12
    Copyright © 2023 Bitkey Inc. All right reserved.
    1. なぜクラウドインフラをテストするのか

    View Slide

  13. 13
    Copyright © 2023 Bitkey Inc. All right reserved.
    ビットキーは事業領域が広く、プロダクトが多
    岐に渡ります
    そのようなプロダクト群を支えるインフラは、
    マルチクラウドで、携わる開発者も増加します
    1. なぜクラウドインフラをテストするのか
    クラウドインフラをテストする目的

    View Slide

  14. 14
    Copyright © 2023 Bitkey Inc. All right reserved.
    規模が大きくなればなるほど、セキュリティな
    ど、チェックしなければいけない項目は増加し
    ます
    全容を把握するのが難しく、包括的なチェック
    には時間がかかってしまいます
    1. なぜクラウドインフラをテストするのか
    クラウドインフラをテストする目的

    View Slide

  15. 15
    Copyright © 2023 Bitkey Inc. All right reserved.
    ソフトウェアを開発するようにクラウドインフ
    ラもデプロイ前にテストがしたい
    テストによるフィードバックを早める「シフト
    レフト」をします
    1. なぜクラウドインフラをテストするのか
    クラウドインフラをテストする目的

    View Slide

  16. 16
    Copyright © 2023 Bitkey Inc. All right reserved.
    IaC化をすることで、事前のテストを容易にし
    てシフトレフトを加速させることができます
    1. なぜクラウドインフラをテストするのか
    クラウドインフラをテストする目的

    View Slide

  17. 17
    Copyright © 2023 Bitkey Inc. All right reserved.
    2. Infrastructure as Codeのテスト技法

    View Slide

  18. 18
    Copyright © 2023 Bitkey Inc. All right reserved.
    2. Infrastructure as Codeのテスト技法
    IaCにどのようなテスト技法があるか
    1. リンターによるシンタックスチェック + α
    2. Policy as Codeによるカスタムチェック
    3. 静的解析によるセキュリティチェック
    4. 実際にデプロイしてリソースを作成する

    View Slide

  19. 19
    Copyright © 2023 Bitkey Inc. All right reserved.
    2. Infrastructure as Codeのテスト技法
    1. リンターによるシンタックスチェック + α
    ・terraform validate
    CLIにビルトインされているシンタックスチェック
    ・TFLint
    事前定義されたルールセットでベストプラクティスなどをチェック
    ・cfn-lint
    CloudFormation Resource Specificationに沿っているかやベストプラク
    ティスのチェック

    View Slide

  20. 20
    Copyright © 2023 Bitkey Inc. All right reserved.
    2. Infrastructure as Codeのテスト技法
    2. Policy as Codeによるカスタムチェック
    ・Hachicorp Sentinel
    Hashicorpのプロダクト専用のPolicy as Codeのフレームワーク
    ・Conftest
    Policy記述言語RegoによるOpen Policy AgentのPolicy適用をサポートす
    るユーティリティ
    CloudFormation専用ではなく汎用のツールのため、Terraformでも使え
    ます
    ※Policy as Codeは前述のリンターでカバーしきれない、独自のルールを定義してチェックすることを支援
    します

    View Slide

  21. 21
    Copyright © 2023 Bitkey Inc. All right reserved.
    2. Infrastructure as Codeのテスト技法
    3. 静的解析によるセキュリティチェック
    ・Trivy
    ・Checkcov
    ・Terrascan
    ・Synk Infrastructure
    主にOSSとして提供されていたり、SaaS
    の1機能として利用可能です

    View Slide

  22. 22
    Copyright © 2023 Bitkey Inc. All right reserved.
    2. Infrastructure as Codeのテスト技法
    ・Terratest
    TerraformをApplyしてリソースを検証可能なユーティリティを提供して
    いる
    ・TaskCat
    CloudFormation Templateをマルチリージョンにデプロイして成否のレ
    ポートを生成するツール
    ※これらのツールは大規模環境でプラットフォームエンジニアリングチームが、社内に配布するTerraform
    モジュールやCloudFormation Templateを継続的にメンテし続ける用途で使われると想像しています
    4. 実際にデプロイしてリソースを作成する

    View Slide

  23. 23
    Copyright © 2023 Bitkey Inc. All right reserved.
    クラウドインフラの主要なテスト技法
    1. 静的なコード検査
    2. 動的なデプロイ実行
    ここまでのまとめ

    View Slide

  24. 24
    Copyright © 2023 Bitkey Inc. All right reserved.
    ここまでのまとめ
    特に静的なコード検査は、素早いフィード
    バックを得ることで、インフラ構築をより
    安全にミスなく行うことを支援します

    View Slide

  25. 25
    Copyright © 2023 Bitkey Inc. All right reserved.
    3. Trivyの概要

    View Slide

  26. 26
    Copyright © 2023 Bitkey Inc. All right reserved.
    ここからは紹介したツー
    ルのうちセキュリティス
    キャナのTrivyを取り上げ
    ます
    3. Trivyの概要
    Trivyの紹介

    View Slide

  27. 27
    Copyright © 2023 Bitkey Inc. All right reserved.
    ・コンテナイメージ
    ・ファイルシステム
    ・Gitリポジトリ
    ・VMイメージ
    ・Kubernetes
    ・AWS
    3. Trivyの概要
    Trivyの紹介 多様なスキャン対象

    View Slide

  28. 28
    Copyright © 2023 Bitkey Inc. All right reserved.
    ・OSパッケージ
    ・SWの依存パッケージ
    ・既知の脆弱性(CVEs)
    ・IaCのセキュリティ
    ・AWSアクセスキーなど
    ・ソフトウェアライセンス
    3. Trivyの概要
    Trivyの紹介 多様な検出対象

    View Slide

  29. 29
    Copyright © 2023 Bitkey Inc. All right reserved.
    Trivyの前身にあたるTerraformのセキュリ
    ティスキャナとしてtfsecが開発されていま
    した
    https://github.com/aquasecurity/tfsec
    3. Trivyの概要
    tfsecとの関係

    View Slide

  30. 30
    Copyright © 2023 Bitkey Inc. All right reserved.
    tfsecもAqua Securityによって買収された
    ことでTrivyに統合されることとなりました
    3. Trivyの概要
    tfsecとの関係

    View Slide

  31. 31
    Copyright © 2023 Bitkey Inc. All right reserved.
    Trivyに移行を推奨するアナウンスが出てい
    ますので、もし利用中の方が移行を進めま
    しょう
    https://github.com/aquasecurity/tfsec/discussions/1994
    3. Trivyの概要
    tfsecとの関係

    View Slide

  32. 32
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips

    View Slide

  33. 33
    Copyright © 2023 Bitkey Inc. All right reserved.
    TerraformでS3バケットを作成します
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  34. 34
    Copyright © 2023 Bitkey Inc. All right reserved.
    Trivyを実行します
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  35. 35
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  36. 36
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  37. 37
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  38. 38
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  39. 39
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  40. 40
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  41. 41
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  42. 42
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  43. 43
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる

    View Slide

  44. 44
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    Tirvyを実際に使ってみる
    😳

    View Slide

  45. 45
    Copyright © 2023 Bitkey Inc. All right reserved.
    1. パブリックアクセスブロックの未設定
    2. バケット暗号化の未設定
    3. バケットロギングの未設定
    4. バケットバージョニングの未設定
    5. カスタマーマネージドキーによる暗号化の未設定
    4. Trivy運用時のTips
    チェックの内訳

    View Slide

  46. 46
    Copyright © 2023 Bitkey Inc. All right reserved.
    紹介したチェックのうち、この2つの項目は可能な限り対
    応するのが望ましいと考えます
    ・パブリックアクセスブロックの未設定
    ・バケット暗号化の未設定
    4. Trivy運用時のTips
    チェックとの向き合い方
    ※ 2023年4月から全ての新しいバケットに対してパブリックアクセスブロックが有効化、アクセス
    コントロールリストが無効化されているため、誤ってバケットがパブリックになるリスクは減って
    いますが明示的に設定することは依然として有効です
    https://aws.amazon.com/jp/about-aws/whats-new/2022/12/amazon-s3-automatically-ena
    ble-block-public-access-disable-access-control-lists-buckets-april-2023/

    View Slide

  47. 47
    Copyright © 2023 Bitkey Inc. All right reserved.
    他の項目は要件と相談して対応可否を決定しましょう
    ・バケットロギングの未設定
    ・バケットバージョニングの未設定
    ・カスタマーマネージドキーによる暗号化の未設定
    4. Trivy運用時のTips
    チェックとの向き合い方

    View Slide

  48. 48
    Copyright © 2023 Bitkey Inc. All right reserved.
    4. Trivy運用時のTips
    チェックを解消したコード
    バケットバージョニング
    とバケットロギングは
    ignoreするコメントを追

    Customer Managed Key
    でバケットを暗号化
    パブリックアクセスをブ
    ロック

    View Slide

  49. 49
    Copyright © 2023 Bitkey Inc. All right reserved.
    Trivyの実行を開発者が毎回手で実行していては抜け漏れ
    が発生しがちです
    アプリケーション開発と同じように、Gitのpre-commit
    hookや、GitHub ActionsなどのCI環境で自動実行される
    ようにしましょう
    4. Trivy運用時のTips
    自動で実行しよう
    ※ Trivyのようなリポジトリで利用するCLIはaquaで管理すると導入がスムーズです
    https://aquaproj.github.io/

    View Slide

  50. 50
    Copyright © 2023 Bitkey Inc. All right reserved.
    5. まとめ

    View Slide

  51. 51
    Copyright © 2023 Bitkey Inc. All right reserved.
    5. まとめ
    Trivyによって、TerraformやCloudFormationで記述さ
    れたAWSインフラのセキュリティチュックを自動化して
    シフトレフトすることできました
    チェックは鵜呑みにせず、要件に応じて向き合っていき
    ましょう
    Happy Testing !

    View Slide

  52. 52
    End of File
    Copyright © 2023 Bitkey Inc. All right reserved.

    View Slide