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を1年以上運用して得た教訓
Search
ANDPAD inc
December 13, 2024
Technology
0
56
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
吉澤 政洋
@muziyoshiz
2024 年 12 月 13 日
クラウドセキュリティを再吟味するために〜実例から学ぶ、考慮すべき観点とその対策事例〜
ANDPAD inc
December 13, 2024
Tweet
Share
More Decks by ANDPAD inc
See All by ANDPAD inc
Amplify で SPA をホスティングする際の注意点
andpad
0
13
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
390
本編では話さない Zig の話
andpad
2
240
"noncopyable types" の使いどころについて考えてみた
andpad
0
370
ANDPAD黒板のオフラインモード機能 リリースまでの軌跡
andpad
0
250
アンドパッドのマルチプロダクト戦略を支える SRE
andpad
1
240
Introduction of Cybersecurity with OSS (RDRC2024)
andpad
1
69
開発チームとともに進めるインフラセキュリティの継続的な改善
andpad
2
110
ANDPAD and Ruby
andpad
1
790
Other Decks in Technology
See All in Technology
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.2k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
540
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
全文検索+セマンティックランカー+LLMの自然文検索サ−ビスで得られた知見
segavvy
2
110
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
17
6.8k
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
410
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.5k
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
13
3.4k
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
590
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.8k
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.4k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Navigating Team Friction
lara
183
15k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
The Invisible Side of Design
smashingmag
299
50k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
For a Future-Friendly Web
brad_frost
176
9.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Code Review Best Practice
trishagee
67
18k
Transcript
Copyright © 2024 ANDPAD Inc. All Rights Reserved. マルチプロダクト開発の現場で AWS
Security Hubを1年以上運用して 得た教訓 株式会社アンドパッド 開発本部 SRE 吉澤 政洋 2024/12/13 クラウドセキュリティを再吟味するために〜実例から学ぶ、考慮すべき 観点とその対策事例〜
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 自己紹介 吉澤
政洋 @muziyoshiz • 2017年8月からSRE ◦ サービス運用監視の研究者、ソフトウェア 開発者を経験したのち、DevOpsに関心を持つ • 2023年3月にアンドパッド入社 ◦ インフラセキュリティ ◦ コスト可視化・最適化 ◦ SREチームの社外発信・イベント参加の主導 • SREコミュニティのスタッフ経験あり ◦ SRE NEXT(2020〜2023)のコアスタッフ • 趣味はボルダリング 2
アンドパッドの紹介
現場の効率化から経営改善まで一元管理できる 建設DX プロジェクト管理サービス
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 建設業界特化型のVertical SaaS
5
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 次々と新プロダクトをリリース 6
Copyright © 2024 ANDPAD Inc. All Rights Reserved. マルチプロダクト戦略、多数の開発チーム •
インフラは全社統一基準だが、プロジェクト運営は各開発チームに委任 7 Frontend Backend Application QA Frontend Backend QA Frontend Backend Application 開発チームA 開発チームB 開発チームC Frontend Backend 開発チームD 横断的な関心事を扱うチーム (SRE, DBRE, CRE, セキュリティ, インフラコストマネジメントなど)
Copyright © 2024 ANDPAD Inc. All Rights Reserved. システム構成 •
メインはAWS ◦ 要件に応じて、一部のプロダクトはGoogle Cloudのサービス(Firebaseなど)も利用 • サービスはコンテナ化されており、Kubernetesを利用している ◦ コンテナの大半はAmazon EKS上で動作するが、ECS on Fargateも併用 ◦ サービスメッシュはLinkerdを採用 • 2つのEKSクラスタを本番運用している ◦ 歴史の長いモノリスのためのEKSクラスタ ◦ マイクロサービスのためのEKSクラスタ • Rubyの会社と思われがちだが、最近はGoで開発されるプロダクトも多い ◦ 詳細は https://engineer.andpad.co.jp/ を参照のこと 8
AWS Security Hubによる 継続的なセキュリティ診断
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 継続的なセキュリティ診断の必要性 •
アンドパッドでは開発チームにインフラの構築・管理を一部移譲している ◦ SREチームだけでなく、開発チームも、TerraformなどのIaCツールを活用している • 定期的なセキュリティ診断を行っているが、それだけではセキュリティリスク の発見が遅れる可能性がある ◦ セキュリティリスクを早期発見するためにSREチームの事前レビューを必須とする と、SREチームが開発のボトルネックになってしまう 10
Copyright © 2024 ANDPAD Inc. All Rights Reserved. AWS Security
Hubとは • AWSが提供するクラウドセキュリティ態勢管理(CSPM: Cloud Security Posture Management)サービス ◦ ビルトインされたセキュリティのベストプラクティスに基づき、 AWS上のリソースがベストプラクティスに従っているかチェックできる ※ベストプラクティス以外に、AWSの他サービス(Amazon GuardDutyなど)や 他社サービスによるチェック結果を集約する機能も持つが、今回の発表では扱わない 11
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 基礎知識:AWS Security
Hubの用語 • コントロール(セキュリティコントロール) ◦ AWSリソースに対するチェック条件 ◦ 各コントロールにIDが付与されている ▪ 例:S3バケットに対するチェック条件はS3.1〜S3.24 ◦ 不要なコントロールは無効化できる • 検出結果 ◦ 各AWSリソースに対するチェック結果 ◦ AWSリソースとコントロールの組み合わせの数だけ発生する ◦ 特別な理由がある場合には、特定のリソースの検出結果だけ 抑止(suppress)できる 12
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 例:公式サイトでのコントロールS3.1の説明 13
Copyright © 2024 ANDPAD Inc. All Rights Reserved. アンドパッドの導入事例 14
Copyright © 2024 ANDPAD Inc. All Rights Reserved. Slackに通知される検出結果の例 15
Copyright © 2024 ANDPAD Inc. All Rights Reserved. アンドパッドでの導入の効果 •
リソースの作成からセキュリティリスクの発見までの時間が短縮された ◦ プッシュ通知への対応が定着した ◦ 開発の初期段階でセキュリティリスクに気付けるため、開発チームに対して、 設定の見直しを頼みやすくなった • ナレッジが蓄積され、セキュリティリスクの発生が減った ◦ ドキュメントの整備やTerraformファイルの改善が進んだため、 過去の設定を踏襲してリソースを作成すれば コントロールに違反しない(最初からPassedになる)状態になった • 自発的な活用の度合いは開発チームによってまちまち ◦ アンドパッドではAtlantis(TerraformのCIツール)の導入および開発チームへの 展開を進めている ◦ 開発チームによるリソースの作成が増えれば、Security Hubはさらに重要になる 16
Copyright © 2024 ANDPAD Inc. All Rights Reserved. ブログ記事: AWS
Security Hubコントロールの有効 無効をコード管理するのは予想のN倍大 変だった話 https://tech.andpad.co.jp/entry/202 3/09/26/100000 過去の発表(1):システム面の詳細 17 プレゼン資料: AWS Security Hubを「有効化したけど 見てない」人に向けたDevSecOpsの実 現方法 https://speakerdeck.com/muziyoshiz /kayac-andpad-event
Copyright © 2024 ANDPAD Inc. All Rights Reserved. プレゼン資料: 開発チームとともに進めるインフラセ
キュリティの継続的な改善 https://speakerdeck.com/muziyoshiz /sre-lounge-17 過去の発表(2):開発チームのためのドキュメント整備 18
AWS Security Hubを 1年以上運用して得た教訓
Copyright © 2024 ANDPAD Inc. All Rights Reserved. これからAWS Security
Hubを導入する人に 3つだけアドバイスするなら? 20 1 運用開始前に、対応が必要なコントロールの 検出結果だけがプッシュ通知される状態にする 新しいコントロールを自動的に有効にしない 一度有効または無効にすると決めたコントロールも 定期的に棚卸しする 2 3
教訓1. 運用開始前に、対応が必要な コントロールの検出結果だけが プッシュ通知される状態にする
Copyright © 2024 ANDPAD Inc. All Rights Reserved. プッシュ通知される検出結果が多すぎたらどうなる? •
ほとんどの人は見なくなって、重要な検出結果が見過ごされる • 大量の通知から重要な検出結果だけを拾い上げる職人芸が生まれる (そして、その職人がいなくなったら誰も見なくなる) 22
Copyright © 2024 ANDPAD Inc. All Rights Reserved. プッシュ通知をどこまで減らせばいい? •
組織内で、プッシュ通知が来たら絶対対応すると合意できる範囲まで減らす • 対応とは、リソースの設定変更や削除、検出結果の抑止(Suppress)を行い、 コントロールのステータスを失敗(Failed)から成功(Passed)に戻すこと 23
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 「運用開始前に」コントロールを分類する 24
対応すべきコントロールで、 運用開始までに 成功(Passed)状態にできる 成功(Passed)状態にしたうえで そのコントロールを有効化する コントロールの内容 運用開始前にすべきこと 対応すべきコントロールだが、 運用開始までには 成功(Passed)状態にできない 有効化するために必要な作業を タスク管理システムに 登録したうえで そのコントロールを無効化する AWSが示す以外の方法で セキュリティが確保されている などの理由で 優先度が低いコントロール そのコントロールを無効化する
Copyright © 2024 ANDPAD Inc. All Rights Reserved. アンドパッドでのSecurity Hub導入プロセス
25 システム設計 2023年7月 8月 9月 コントロールに関する SRE/DBREへのヒアリング 運用スクリプトの開発や 運用プロセスの整備 開発チームとの調整、 運用開始の周知 対応すべきコントロールを成功( Passed)状態にするための AWSリソースの修正 7/11 導入提案 9/25 説明会
Copyright © 2024 ANDPAD Inc. All Rights Reserved. アンドパッドでのSecurity Hub導入プロセス
26 システム設計 2023年7月 8月 9月 コントロールに関する SRE/DBREへのヒアリング 運用スクリプトの開発や 運用プロセスの整備 開発チームとの調整、 運用開始の周知 対応すべきコントロールを成功( Passed)状態にするための AWSリソースの修正 7/11 導入提案 9/25 説明会 251件(当時)のコントロールを 分類するために、 SRE/DBREと計11回の打合せを実施
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 組織内の合意結果およびその理由の記録 27
(注:実際に使用しているものとは異なる、説明用のサンプルです) コントロールの説明 現在の設定(有効/無効) コントロールを 無効化した理由 チェック対象外にしたリ ソースとその理由
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 教訓1のまとめ •
その組織で有効化するコントロールを、 運用開始前に、十分な時間をかけて関係者と合意する • そしてその判断の根拠を、あとから組織に参加した人にもわかる状態にする 28
教訓2. 新しいコントロールを 自動的に有効にしない
Copyright © 2024 ANDPAD Inc. All Rights Reserved. AWSはコントロールを頻繁に追加・削除している •
AWSサービスの機能強化に追従するため • 新たなセキュリティベストプラクティスに対応するため 30
Copyright © 2024 ANDPAD Inc. All Rights Reserved. Security Hubのデフォルトの動作
• Security Hubの一般設定のなかにある 「有効になっている標準で新しいコントロールを自動的に有効にする」 という設定が、デフォルトでオンになっている • 「コントロールが追加されたらプッシュ通知が届いて気づけるってこと? 便利そうだからデフォルトのままにしておこう」 → そんなことはなかった 31
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 運用開始から2024年11月までに行われた変更 32
告知日 変更内容 2023-10-10 19件追加 2023-12-14 15件追加 2024-02-15 6件削除 2024-02-19 1件追加 2024-05-03 15件追加 2024-05-13 7件追加 2024-06-11 9件追加 告知日 変更内容 2024-07-15 15件追加 2024-08-15 1件更新(Config.1) 2024-08-30 8件追加 2024-10-03 7件追加 2024-10-18 7件追加 2024-11-08 1件削除(Glue.2) 2024-11-15 5件追加 108件の追加、1件の更新、7件の削除
Copyright © 2024 ANDPAD Inc. All Rights Reserved. アンドパッドで発生したプッシュ通知の件数 33
Copyright © 2024 ANDPAD Inc. All Rights Reserved. アンドパッドで発生したプッシュ通知の件数 34
12月までは 新しいコントロールを自動的に有効にしており、 見る必要のない通知の多さに悩まされていた
Copyright © 2024 ANDPAD Inc. All Rights Reserved. アンドパッドで発生したプッシュ通知の件数 35
1月からは新しいコントロールを 自動的に有効化するのをやめて、 見る必要のない通知が減った
Copyright © 2024 ANDPAD Inc. All Rights Reserved. なにが問題だったのか? 36
見る必要のない検出結果が 大量に通知される 新しいコントロールの採用は 組織内で合意されていない 問題 理由 コントロールの追加を 知る手段として不完全 コントロール1個につき 複数の通知が発生するため、 何個追加されたのかわかりづらい コントロールの追加の 確認作業が1日で済まない AWSアカウントごとに コントロールの追加日が異なり、 その都度通知が発生する コントロールの追加直後は 対応できないことがある 追加直後はAWSの公式サイトに まだ説明文がないことがある
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 教訓2のまとめ •
Security Hubの一般設定のなかにある 「有効になっている標準で新しいコントロールを自動的に有効にする」 という設定をオフにする • (教訓1と似た話になるが) 新しいコントロールについても、関係者との合意を得てから有効化する 37
教訓3. 一度有効または無効にすると決めた コントロールも定期的に棚卸しする
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 私たちの反省点 •
運用開始前にタスク管理システムに登録した作業には なかなか着手できていない • 一度有効化したコントロールについて、 プッシュ通知が来ても無視しがちなものが出てきているが、 改めて議論のための時間を割くことができていない 39
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 「運用開始前に」コントロールを分類する 40
対応すべきコントロールで、 運用開始までに 成功(Passed)状態にできる 成功(Passed)状態にしたうえで そのコントロールを有効化する コントロールの内容 運用開始前にすべきこと 対応すべきコントロールだが、 運用開始までには 成功(Passed)状態にできない 有効化するために必要な作業を タスク管理システムに 登録したうえで そのコントロールを無効化する AWSが示す以外の方法で セキュリティが確保されている などの理由で 優先度が低いコントロール そのコントロールを無効化する 運用開始前に登録したタスク を振り返れていない
Copyright © 2024 ANDPAD Inc. All Rights Reserved. アンドパッドで発生したプッシュ通知の件数 41
開発環境では、問題を事前に検知するために、 プッシュ通知がある程度発生するのは正常なこと 本番環境ではもう少し件数を減らせないか?
Copyright © 2024 ANDPAD Inc. All Rights Reserved. 教訓3のまとめ(自戒を込めて) •
Security Hubの運用開始までに対応できない、という理由で 無効化したコントロールについて、運用が落ち着いたら改めて対応する • プッシュ通知の件数を、コントロールIDごとに集計し、 件数が多いコントロールについては根本対応または無効化する 42
まとめ
Copyright © 2024 ANDPAD Inc. All Rights Reserved. まとめ •
アンドパッドでは、マルチプロダクト開発の現場で、 開発チームを巻き込みながらAWS Security Hubを1年以上運用してきた • その経験を、以下の3つの教訓にまとめてご紹介した 44 1 運用開始前に、対応が必要なコントロールの 検出結果だけがプッシュ通知される状態にする 2 新しいコントロールを自動的に有効にしない 3 一度有効または無効にすると決めたコントロールも 定期的に棚卸しする
Copyright © 2024 ANDPAD Inc. All Rights Reserved. We are
hiring! 45 https://engineer.andpad.co.jp/ 技術スタックや募集ポジションを 掲載してます!