Share
Embed
TrivyでAWSセキュリティをシフトレフトしよう
Qiita Night 〜AWS vol.2〜
https://increments.connpass.com/event/280918/
Takanobu Hoshino
May 24, 2023
Transcript
50 slides
-
Copyright © 2023 Bitkey Inc. All right reserved. TrivyでAWSセキュリティをシフトレフトしよう Qiita
Night 〜AWS vol.2〜 登壇資料 (2023/05/24) 株式会社ビットキー 星野貴信 2023/05/24 -
2 Copyright © 2023 Bitkey Inc. All right reserved. 自己紹介
星野 貴信 Hoshino Takanobu 2014.03 2020.01 2022.11 ソフトウェアエンジニアとしてキャリアを開始 受託開発でRubyやPHPによるWebアプリケーションを 開発する過程で、AWSの面白さに目覚め、インフラ方 面に進む 株式会社LCL クラウドエンジニアとしてサービス運用改善やAWSの 活用をリード 株式会社ビットキー SREとして入社し、現在はSETとのハイブリッド 品質を軸に多方面に活動 好きなAWSサービス -
3 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 -
4 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 -
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=15 -
6 Copyright © 2023 Bitkey Inc. All right reserved. この発表から得られること
1. クラウドインフラ、特にAWSに対する Infrastructure as Codeのテスト技法 2. セキュリティスキャナ Trivyの概要と導 入時のポイント -
7 Copyright © 2023 Bitkey Inc. All right reserved. 今日話すこと
SREかつSETということで、 今日はクラウドインフラのテストについ て話します! -
8 Copyright © 2023 Bitkey Inc. All right reserved. 今日話すこと
クラウドインフラのテストの中から Infrastructure as Code(IaC)のテスト技 法を取り上げます -
9 Copyright © 2023 Bitkey Inc. All right reserved. Outline
1. なぜクラウドインフラをテストするのか 2. Infrastructure as Codeのテスト技法 3. Trivyの概要 4. Trivy運用時のTips 5. まとめ -
10 Copyright © 2023 Bitkey Inc. All right reserved. 1.
なぜクラウドインフラをテストするのか -
11 Copyright © 2023 Bitkey Inc. All right reserved. ビットキーは事業領域が広く、プロダクトが多
岐に渡ります そのようなプロダクト群を支えるインフラは、 マルチクラウドで、携わる開発者も増加します 1. なぜクラウドインフラをテストするのか クラウドインフラをテストする目的 -
12 Copyright © 2023 Bitkey Inc. All right reserved. 規模が大きくなればなるほど、セキュリティな
ど、チェックしなければいけない項目は増加し ます 全容を把握するのが難しく、包括的なチェック には時間がかかってしまいます 1. なぜクラウドインフラをテストするのか クラウドインフラをテストする目的 -
13 Copyright © 2023 Bitkey Inc. All right reserved. ソフトウェアを開発するようにクラウドインフ
ラもデプロイ前にテストがしたい テストによるフィードバックを早める「シフト レフト」をします 1. なぜクラウドインフラをテストするのか クラウドインフラをテストする目的 -
14 Copyright © 2023 Bitkey Inc. All right reserved. IaC化をすることで、事前のテストを容易にし
てシフトレフトを加速させることができます 1. なぜクラウドインフラをテストするのか クラウドインフラをテストする目的 -
15 Copyright © 2023 Bitkey Inc. All right reserved. 2.
Infrastructure as Codeのテスト技法 -
16 Copyright © 2023 Bitkey Inc. All right reserved. 2.
Infrastructure as Codeのテスト技法 IaCにどのようなテスト技法があるか 1. リンターによるシンタックスチェック + α 2. Policy as Codeによるカスタムチェック 3. 静的解析によるセキュリティチェック 4. 実際にデプロイしてリソースを作成する -
17 Copyright © 2023 Bitkey Inc. All right reserved. 2.
Infrastructure as Codeのテスト技法 1. リンターによるシンタックスチェック + α ・terraform validate CLIにビルトインされているシンタックスチェック ・TFLint 事前定義されたルールセットでベストプラクティスなどをチェック ・cfn-lint CloudFormation Resource Specificationに沿っているかやベストプラク ティスのチェック -
18 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は前述のリンターでカバーしきれない、独自のルールを定義してチェックすることを支援 します -
19 Copyright © 2023 Bitkey Inc. All right reserved. 2.
Infrastructure as Codeのテスト技法 3. 静的解析によるセキュリティチェック ・Trivy ・Checkcov ・Terrascan ・Synk Infrastructure 主にOSSとして提供されていたりSaaSの 1機能として利用可能です -
20 Copyright © 2023 Bitkey Inc. All right reserved. 2.
Infrastructure as Codeのテスト技法 ・Terratest TerraformをApplyしてリソースを検証可能なユーティリティを提供して いる ・TaskCat CloudFormation Templateをマルチリージョンにデプロイして成否のレ ポートを生成するツール ※これらのツールは大規模環境でプラットフォームエンジニアリングチームが、社内に配布するTerraform モジュールやCloudFormation Templateを継続的にメンテし続ける用途で使われると想像しています 4. 実際にデプロイしてリソースを作成する -
21 Copyright © 2023 Bitkey Inc. All right reserved. クラウドインフラの主要なテスト技法
1. 静的なコード検査 2. 動的なデプロイ実行 ここまでのまとめ -
22 Copyright © 2023 Bitkey Inc. All right reserved. ここまでのまとめ
特に静的なコード検査は、素早いフィード バックを得ることで、インフラ構築をより 安全にミスなく行うことを支援します -
24 Copyright © 2023 Bitkey Inc. All right reserved. ここからは紹介したツー
ルのうちセキュリティス キャナのTrivyを取り上げ ます 3. Trivyの概要 Trivyの紹介 -
25 Copyright © 2023 Bitkey Inc. All right reserved. ・コンテナイメージ
・ファイルシステム ・Gitリポジトリ ・VMイメージ ・Kubernetes ・AWS 3. Trivyの概要 Trivyの紹介 多様なスキャン対象 -
26 Copyright © 2023 Bitkey Inc. All right reserved. ・OSパッケージ
・SWの依存パッケージ ・既知の脆弱性(CVEs) ・IaCのセキュリティ ・AWSアクセスキーなど ・ソフトウェアライセンス 3. Trivyの概要 Trivyの紹介 多様な検出対象 -
27 Copyright © 2023 Bitkey Inc. All right reserved. Trivyの前身にあたるTerraformのセキュリ
ティスキャナとしてtfsecが開発されていま した https://github.com/aquasecurity/tfsec 3. Trivyの概要 tfsecとの関係 -
28 Copyright © 2023 Bitkey Inc. All right reserved. tfsecもAqua
Securityによって買収された ことでTrivyに統合されることとなりました 3. Trivyの概要 tfsecとの関係 -
29 Copyright © 2023 Bitkey Inc. All right reserved. Trivyに移行を推奨するアナウンスが出てい
ますので、もし利用中の方が移行を進めま しょう https://github.com/aquasecurity/tfsec/discussions/1994 3. Trivyの概要 tfsecとの関係 -
30 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips -
31 Copyright © 2023 Bitkey Inc. All right reserved. TerraformでS3バケットを作成します
4. Trivy運用時のTips Tirvyを実際に使ってみる -
32 Copyright © 2023 Bitkey Inc. All right reserved. Trivyを実行します
4. Trivy運用時のTips Tirvyを実際に使ってみる -
33 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips Tirvyを実際に使ってみる -
34 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips Tirvyを実際に使ってみる -
35 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips Tirvyを実際に使ってみる -
36 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips Tirvyを実際に使ってみる -
37 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips Tirvyを実際に使ってみる -
38 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips Tirvyを実際に使ってみる -
39 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips Tirvyを実際に使ってみる -
40 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips Tirvyを実際に使ってみる -
41 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips Tirvyを実際に使ってみる -
42 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips Tirvyを実際に使ってみる 😳 -
43 Copyright © 2023 Bitkey Inc. All right reserved. 1.
パブリックアクセスブロックの未設定 2. バケット暗号化の未設定 3. バケットロギングの未設定 4. バケットバージョニングの未設定 5. カスタマーマネージドキーによる暗号化の未設定 4. Trivy運用時のTips チェックの内訳 -
44 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/ -
45 Copyright © 2023 Bitkey Inc. All right reserved. 他の項目は要件と相談して対応可否を決定しましょう
・バケットロギングの未設定 ・バケットバージョニングの未設定 ・カスタマーマネージドキーによる暗号化の未設定 4. Trivy運用時のTips チェックとの向き合い方 -
46 Copyright © 2023 Bitkey Inc. All right reserved. 4.
Trivy運用時のTips チェックを解消したコード バケットバージョニング とバケットロギングは ignoreするコメントを追 加 Customer Managed Key でバケットを暗号化 パブリックアクセスをブ ロック -
47 Copyright © 2023 Bitkey Inc. All right reserved. Trivyの実行を開発者が毎回手で実行していては抜け漏れ
が発生しがちです アプリケーション開発と同じように、Gitのpre-commit hookや、GitHub ActionsなどのCI環境でPull Request作 成時に自動実行されるようにしましょう 4. Trivy運用時のTips 自動で実行しよう ※ Trivyのようなリポジトリで利用するCLIはaquaで管理すると導入がスムーズです https://aquaproj.github.io/ -
49 Copyright © 2023 Bitkey Inc. All right reserved. 5.
まとめ Trivyによって、TerraformやCloudFormationで記述さ れたAWSインフラのセキュリティチュックを自動化して シフトレフトすることできました チェックは鵜呑みにせず、要件に応じて向き合っていき ましょう Happy Testing ! -
50 End of File Copyright © 2023 Bitkey Inc. All
right reserved.