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
79
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
MySQL の SQL クエリチューニングの要所を掴む勉強会
andpad
5
7.5k
Long journey of Ruby standard library
andpad
0
19
Go 1.22 の Vet 変更点について
andpad
0
290
アンドパッドのある開発チームでの OSS への取り組み
andpad
2
4.4k
最初のファンを作り、最初のファンに価値を届けるまで
andpad
1
750
Deep dive into Ruby's require
andpad
0
89
EC2 からの脱出劇:多用途なサーバの全役割をサーバレス・コンテナ環境へ
andpad
0
28
Ruby on Rails + Sidekiq構成のモノリシックサービスをコンテナ化した話
andpad
0
260
Go Get での checksum 不一致 に遭遇した話とその対応
andpad
0
160
Other Decks in Programming
See All in Programming
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
210
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
3
300
Elm 0.19.0 Changes
bkuhlmann
0
490
使ってみよう Azure AI Document Intelligence
kosmosebi
2
350
AppRouter Panel Talk
yosuke_furukawa
PRO
1
400
ゆるい個人開発のススメ
kuroppe1819
10
1k
Anthropic Cookbook のおすすめレシピ
schroneko
7
1.1k
Implementing Design Systems in Swift
seyfoyun
0
350
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
230
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
140
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
160
PHPはいつから死んでいるかの調査
chiroruxx
1
410
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Debugging Ruby Performance
tmm1
70
11k
Gamification - CAS2011
davidbonilla
76
4.6k
Git: the NoSQL Database
bkeepers
PRO
423
63k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.4k
Clear Off the Table
cherdarchuk
85
310k
Agile that works and the tools we love
rasmusluckow
325
20k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
63
14k
What's new in Ruby 2.0
geeforr
337
31k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
4
3.4k
The Mythical Team-Month
searls
216
42k
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/ 技術スタックや募集ポジションを 掲載してます!