Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TrivyでAWSセキュリティをシフトレフトしよう
Search
Takanobu Hoshino
May 24, 2023
Programming
0
32
TrivyでAWSセキュリティをシフトレフトしよう
Qiita Night 〜AWS vol.2〜
https://increments.connpass.com/event/280918/
Takanobu Hoshino
May 24, 2023
Tweet
Share
More Decks by Takanobu Hoshino
See All by Takanobu Hoshino
事業フェーズの変化を乗り越えるEnabling/Platform SREへの転換
hosht
1
4.1k
ログから始めるオブザーバビリティ
hosht
1
770
Other Decks in Programming
See All in Programming
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
230
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
720
Serena MCPのすすめ
wadakatu
4
980
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
160
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
2
820
私はどうやって技術力を上げたのか
yusukebe
43
18k
Software Architecture
hschwentner
6
2.3k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
430
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
1.3k
株式会社 Sun terras カンパニーデック
sunterras
0
280
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.3k
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.3k
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
GitHub's CSS Performance
jonrohan
1032
470k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Code Reviewing Like a Champion
maltzj
526
40k
Being A Developer After 40
akosma
91
590k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
The Cost Of JavaScript in 2023
addyosmani
54
9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Transcript
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. ここまでのまとめ
特に静的なコード検査は、素早いフィード バックを得ることで、インフラ構築をより 安全にミスなく行うことを支援します
23 Copyright © 2023 Bitkey Inc. All right reserved. 3.
Trivyの概要
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/
48 Copyright © 2023 Bitkey Inc. All right reserved. 5.
まとめ
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.