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
270
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
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManager への移行戦略
andpad
0
6
Flutter は DCM が 9 割
andpad
0
5
Amplify で SPA をホスティングする際の注意点
andpad
0
16
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
andpad
0
57
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
390
本編では話さない Zig の話
andpad
2
250
"noncopyable types" の使いどころについて考えてみた
andpad
0
380
ANDPAD黒板のオフラインモード機能 リリースまでの軌跡
andpad
0
260
アンドパッドのマルチプロダクト戦略を支える SRE
andpad
1
240
Other Decks in Programming
See All in Programming
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
150
『品質』という言葉が嫌いな理由
korimu
0
170
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
480
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
210
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
1
200
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
190
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
130
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
170
DROBEの生成AI活用事例 with AWS
ippey
0
140
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.1k
チームリードになって変わったこと
isaka1022
0
210
Software Architecture
hschwentner
6
2.1k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
How GitHub (no longer) Works
holman
314
140k
Designing Experiences People Love
moore
140
23k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Scaling GitHub
holman
459
140k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Docker and Python
trallard
44
3.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
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/ 技術スタックや募集ポジションを 掲載してます!