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
AWS Security Hub を 「有効化したけど見てない」人に向けた DevSecOps...
Search
ANDPAD inc
December 04, 2023
Programming
0
250
AWS Security Hub を 「有効化したけど見てない」人に向けた DevSecOps の実現方法
吉澤 政洋
@muziyoshiz
2023 年 12 月 4 日
カヤック・アンドパッド 合同 プロポーザル供養会
ANDPAD inc
December 04, 2023
Tweet
Share
More Decks by ANDPAD inc
See All by ANDPAD inc
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
andpad
0
30
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
330
本編では話さない Zig の話
andpad
2
200
"noncopyable types" の使いどころについて考えてみた
andpad
0
320
ANDPAD黒板のオフラインモード機能 リリースまでの軌跡
andpad
0
190
アンドパッドのマルチプロダクト戦略を支える SRE
andpad
1
200
Introduction of Cybersecurity with OSS (RDRC2024)
andpad
1
66
開発チームとともに進めるインフラセキュリティの継続的な改善
andpad
2
90
ANDPAD and Ruby
andpad
1
720
Other Decks in Programming
See All in Programming
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
270
テストコード書いてみませんか?
onopon
2
290
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
170
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1.1k
HTML/CSS超絶浅い説明
yuki0329
0
160
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.3k
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
390
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
810
Go の GC の不得意な部分を克服したい
taiyow
3
980
KubeCon NA 2024の全DB関連セッションを紹介
nnaka2992
0
110
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
890
rails newと同時に型を書く
aki19035vc
5
610
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
A Philosophy of Restraint
colly
203
16k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Into the Great Unknown - MozCon
thekraken
34
1.6k
Visualization
eitanlees
146
15k
Making the Leap to Tech Lead
cromwellryan
133
9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Building Your Own Lightsaber
phodgson
104
6.2k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Transcript
Copyright © 2023 ANDPAD Inc. All Rights Reserved. AWS Security
Hubを 「有効化したけど見てない」人に向けた DevSecOpsの実現方法 株式会社アンドパッド 開発本部 SRE 吉澤 政洋 2023/12/04 カヤック・アンドパッド 合同 プロポーザル供養会
Copyright © 2023 ANDPAD Inc. All Rights Reserved. 自己紹介 •
吉澤 政洋(@muziyoshiz) • 個人ブログ:https://muziyoshiz.hatenablog.com/ • 2023年3月にアンドパッド入社 • サービス運用監視の研究者、ソフトウェア開発者を 経験したのち、2017年8月からSRE • SRE Lounge、SRE NEXT(2020, 2022, 2023)コアスタッフ • ドキュメンテーションが得意 WEB+DB PRESS Vol.132に「コンテナ化実践ガイド」を寄稿 • 趣味はボルダリング 2
Copyright © 2023 ANDPAD Inc. All Rights Reserved. この発表でお伝えしたいこと •
私達はなぜSecurity Hubを活用しようとしたか? • Security Hubの活用はなぜ難しいのか? • Security Hubを活用するためにどのようなシステム・運用を構築したか? • Security Hubを導入した結果どうなったか? 技術的な詳細は時間の関係で省略します! 以下のブログ記事をご覧ください🙏 3 AWS Security Hubコントロールの有効無効を コード管理するのは予想のN倍大変だった話 https://tech.andpad.co.jp/entry/2023/09/26/100000
私達はなぜSecurity Hubを 活用しようとしたか?
Copyright © 2023 ANDPAD Inc. All Rights Reserved. Security Hubとは
• ビルトインされたセキュリティのベストプラクティスに基づき、AWS上の リソースのチェック、およびチェック結果の通知機能を持つサービス ◦ ベストプラクティス集 → 「セキュリティ基準」 ◦ 個々のベストプラクティス → 「コントロール」 ◦ ベストプラクティスに従っているかどうかのチェック結果→「検出結果」 • AWSの他サービス(Amazon GuardDutyなど)や他社サービスによる チェック結果を集約する機能も持つ ◦ 本発表では、この「ハブ」としての機能は対象外とする 5
Copyright © 2023 ANDPAD Inc. All Rights Reserved. 私達はなぜSecurity Hubを活用しようとしたか?
• アンドパッドでは、SREチームだけでなく、開発チームや、Data Platformチー ムも、TerraformなどのIaCツールを活用してAWS上のリソースを管理している • これらのリソースの設定がセキュリティ的に問題ないかを確認するためには、 これまでは定期的なチェックや棚卸しが必要だった • ベストプラクティスに違反するリソースをSecurity HubからSlackに通知するこ とで、日常的なチェックが可能になり、セキュリティリスクを低減できると考 えた 6
Copyright © 2023 ANDPAD Inc. All Rights Reserved. Security Hubの導入イメージ(初期)
• 導入初期はSREが検出結果を 確認し、リソースの修正や、 不要な通知の抑制を行う 7
Copyright © 2023 ANDPAD Inc. All Rights Reserved. Security Hubの導入イメージ(最終目標)
• 開発チームにも検出結果を確認し てもらう(特にリソースの作成・ 更新直後) • 誰も対応していない通知があった 場合は、SREが関係するチームを 探して連絡する 8
Copyright © 2023 ANDPAD Inc. All Rights Reserved. メリット •
セキュリティリスクの早期検知・解決 ◦ リソースの作成・更新から数分〜数時間以内にSlackへ通知 • ベストプラクティスの周知によるセキュリティリスクの低減 ◦ リソースの作成・更新の直後にフィードバックを受けることで、開発チームにもAWS のベストプラクティスが徐々に周知される 9
Copyright © 2023 ANDPAD Inc. All Rights Reserved. 開発チームからの懸念 •
セキュリティリスクの解決のための工数が増える ◦ ベストプラクティスが周知されることで、最初からベストプラクティスに沿った設定 が行われることにより、この工数は徐々に減っていく見込み • Slackに通知された通知内容を確認するための工数が増える ◦ 徐々にベストプラクティスが周知されていくことで、通知の件数も減る見込み ◦ 冗長と判断された通知については、SREチームで設定変更して抑制し、通知数を最低 限に抑える 10
Security Hubの活用は なぜ難しいのか?
Copyright © 2023 ANDPAD Inc. All Rights Reserved. Security Hubの活用はなぜ難しいのか?
• わかりにくい仕様 • 大量に発生する検出結果 12
Copyright © 2023 ANDPAD Inc. All Rights Reserved. わかりにくい仕様 •
ベストプラクティスを表す概念 ◦ セキュリティ基準 ◦ コントロール、セキュリティコントロール • リソースのチェック結果を表す概念 ◦ 検出結果、コンプライアンスステータス、ワークフローステータス • その他の設定 ◦ 管理者アカウント(※AWS Organizationsの管理アカウントとは別の概念) ◦ クロスリージョン集約 13
Copyright © 2023 ANDPAD Inc. All Rights Reserved. 仕様理解のために大事なポイント(1) •
Security Hubの設定はアカウントおよびリージョンごとに独立している ◦ セキュリティ基準やコントロールの有効化・無効化はそれぞれで必要 ◦ AWSマネジメントコンソールで、複数アカウント・複数リージョンの検出結果を一覧 したい場合は、管理者アカウントとクロスリージョン集約の設定が必要 14
Copyright © 2023 ANDPAD Inc. All Rights Reserved. 仕様理解のために大事なポイント(2) •
コントロールはセキュリティ基準に属している ◦ 「統合コントロール結果」機能(2023年2月リリース)を有効にしても、 このデータ構造は同じ ◦ 参考情報を読む際は、この機能のリリースの前後どちらの情報なのかに注意 15 AWS 基礎セキュリティの ベストプラクティス v1.0.0 CIS AWS Foundations Benchmark v1.4.0 PCI DSS v3.2.1 セキュリティ基準 コントロール CloudTrail.2 3.7 PCI.CloudTrail.2 例:コントロール「CloudTrail は保管時の暗号化を有効にする必要があります」 「統合コントロール結果」は これらを単一のコントロール CloudTrail.2に見せかける (データ構造は変わらない)
Copyright © 2023 ANDPAD Inc. All Rights Reserved. 大量に発生する検出結果 •
コントロールの数が多い ◦ AWS 基礎セキュリティのベストプラクティス v1.0.0:202件(2023-12-04現在) • 見る必要のない検出結果の抑制方法が、場合によって異なる ◦ 一度作られたリソースが変化しない場合: ▪ 検出結果のワークフローステータスを抑制済み(SUPPRESSED)に変更 ◦ 同じARNでリソースが頻繁に削除・再作成される場合: ▪ オートメーションでワークフローステータスを抑制済みに変更 ◦ リソースが頻繁に削除・再作成され、その都度ARNが変わる場合: ▪ コントロールを無効化 16
Security Hubを活用するために どのようなシステム・運用を構築したか?
Copyright © 2023 ANDPAD Inc. All Rights Reserved. システム構成 18
Copyright © 2023 ANDPAD Inc. All Rights Reserved. システム構成(検出結果の通知) 19
新たな検出結果の発生 (ワークフローステータス :NEW) ワークフローステータスが NEWの検出結果をSlackに 通知
Copyright © 2023 ANDPAD Inc. All Rights Reserved. Slackに通知されるメッセージの一例 例:セキュリティグループがリスクの高いポートへの無制限アクセスを許可している場合
20
Copyright © 2023 ANDPAD Inc. All Rights Reserved. システム構成(1回のみの通知の実現) 21
新たな検出結果の発生 (ワークフローステータス :NEW) 検出結果のワークフロー ステータスをNOTIFIEDに 更新
Copyright © 2023 ANDPAD Inc. All Rights Reserved. その他の設定 •
クロスリージョン集約により、検出結果を東京リージョンに集約 ◦ 結果を見やすく • 開発環境のAWSアカウントと、本番環境のAWSアカウントで別々に検出結果を 集約 ◦ 通知先のSlackチャンネルも別にすることで、緊急度・重要度を判断可能に 22
Copyright © 2023 ANDPAD Inc. All Rights Reserved. 運用 •
スクリプトを自作し、コントロールの有効無効をGitHub上のファイルで管理 • 特定のコントロールを無効化する場合は、その理由を専用の台帳に記録 ◦ SREチームとして、他の手段でセキュリティ要件が満たされていると判断した場合 ◦ 特定のリージョンのみ有効化すれば、セキュリティ要件は十分満たされていると判断 した場合 ◦ コストとの兼ね合いなど、合理的な理由のある場合 • 特定のリソースの検出結果を抑制する場合(ワークフローステータスを SUPPRESEDに設定する場合)は、その理由を専用の台帳に記録 23
Copyright © 2023 ANDPAD Inc. All Rights Reserved. 開発チームへの展開 •
幹部の参加する会議での承認を経て、開発チーム全員が参加する会議で周知 ◦ SREから設定変更を依頼する場合があることを納得してもらうことがまず重要 ◦ すべての開発チームが自発的に検出結果を確認・対応できるようになるまでには、ま だ時間がかかる認識 • Security Hubでの通知が多いリソースについては、今後SREチームがガイドライ ンを作成 24
Security Hubを導入した結果 どうなったか?
Copyright © 2023 ANDPAD Inc. All Rights Reserved. メリット •
セキュリティリスクの早期検知・解決 ◦ 思わぬ設定漏れに、開発環境で、開発の早い段階で気づけるようになった ◦ Security Hubの検出結果をもとに、すでに開発チームでいくつかのリソースの設定が 改善されている • ベストプラクティスの周知によるセキュリティリスクの低減 ◦ こちらの効果はまだ実感できていない。長期的に取り組みたい 26
Copyright © 2023 ANDPAD Inc. All Rights Reserved. 今後の課題 •
Slackに届く無駄な通知の更なる削減 ◦ コントロールの有効化・無効化の見直しは日々発生 ◦ リソースの削除時に、その過程で通知が発生 ◦ AWSが新しいコントロールを追加した際に、大量の通知が発生 ▪ 「新しいコントロールを自動的に有効にする(Auto-enable new controls in enabled standards)」はオフにしたほうがよい • Slackに通知されるメッセージの改善 ◦ Security Hubが標準で提供するメッセージには、検出結果の内容を理解するための情 報(コントロールIDや、解説ページのURLなど)が不足している ◦ Security Hubが標準で提供するメッセージにはARNが含まれるが、そこからリソース を特定するのが難しい場合がある ▪ 理想的には、リソースに付与されたタグから、そのリソースに関連する開発 チームを自動的に特定したい 27
まとめ
Copyright © 2023 ANDPAD Inc. All Rights Reserved. まとめ •
AWS Security Hubを活用し、セキュリティリスクを早期検知・解決するための システムおよび運用を構築した • Security Hubのチェック結果に基づいて、SREだけでなく、開発チームも、 ベストプラクティスに従ってリソースを作成・設定変更できるようになった • 開発チームが、SREチームの支援なしにSecurity Hubのチェック結果に対応でき るようになるにはまだハードルがあり、今後の課題である 29
Copyright © 2023 ANDPAD Inc. All Rights Reserved. 技術的な詳細はこちらをご覧ください AWS
Security Hubコントロールの有効無効をコード管理するのは 予想のN倍大変だった話 https://tech.andpad.co.jp/entry/2023/09/26/100000 (andpad security hub で検索するとヒットします) 30
Copyright © 2023 ANDPAD Inc. All Rights Reserved. We are
hiring! 31 https://engineer.andpad.co.jp/ 技術スタックや募集ポジションを 掲載してます!