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
Security Command Center × PagerDuty 自動アラート通知の取り組み
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kyohei Mizumoto
August 04, 2022
Technology
770
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Security Command Center × PagerDuty 自動アラート通知の取り組み
3-shake SRE Tech Talk #4 の登壇資料です。
https://3-shake.connpass.com/event/253028/
Kyohei Mizumoto
August 04, 2022
More Decks by Kyohei Mizumoto
See All by Kyohei Mizumoto
最新の脅威動向から考える、コンテナサプライチェーンのリスクと対策
kyohmizu
1
890
コンテナセキュリティの最新事情 ~ 2026年版 ~
kyohmizu
9
4k
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
950
CTFのためのKubernetes入門
kyohmizu
3
1.2k
クラウドネイティブ環境の脅威モデリング
kyohmizu
3
810
コンテナサプライチェーンセキュリティ
kyohmizu
2
510
サイバーセキュリティの最新動向:脅威と対策
kyohmizu
1
440
コンテナセキュリティの基本と脅威への対策
kyohmizu
4
2.2k
安全な Kubernetes 環境を目指して
kyohmizu
4
1.4k
Other Decks in Technology
See All in Technology
気づかぬうちにセキュリティ負債を生むAPIキー運用
sgwrmctk
0
180
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
0
210
200個のGitHubリポジトリを横断調査したかった
icck
0
140
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
280
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
140
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
5
1.5k
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
240
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
320
Kiro Ambassador を目指す話
k_adachi_01
0
110
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
1.3k
フィジカル版Github Onshapeの紹介
shiba_8ro
0
290
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
1
180
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
250
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Un-Boring Meetings
codingconduct
0
320
First, design no harm
axbom
PRO
2
1.2k
A better future with KSS
kneath
240
18k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Leo the Paperboy
mayatellez
7
1.8k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
Color Theory Basics | Prateek | Gurzu
gurzu
0
370
A Soul's Torment
seathinner
6
3k
Transcript
Security Command Center × PagerDuty 自動アラート通知の取り組み @kyohmizu
Copyrights©3-shake Inc. All Rights Reserved. 2 whoami 水元 恭平 (@kyohmizu)
株式会社スリーシェイク Sreake事業部 SRE/CSIRT - AWS, GCP, kubernetes - 脆弱性評価・セキュリティアラートの基盤構築と運用 - セキュリティ運用改善(IaC, 自動化ツール作成など) - IAM設計、脅威情報の収集、サイバー演習 etc… イベント - 3-shake SRE Tech Talk 運営 - CloudNative Days 実行委員(~2021)
Copyrights©3-shake Inc. All Rights Reserved. 3 モチベーション Security Command Center
(SCC) のアラートを自動通知する仕組みを作る! - AWS では SecurtyHub × PagerDuty の連携を行なっている - インテグレーション機能でサクッと解決 - 同じ仕組みを Google Cloud でも作りたい - …インテグレーションがない??? 思ったより大変だったので、実装する上で必要な設定やハマりポイントをご紹介します。
Copyrights©3-shake Inc. All Rights Reserved. 4 アーキテクチャ
Copyrights©3-shake Inc. All Rights Reserved. 5 実装の手順 1. PagerDuty 側の準備(今回はお話ししません)
a. Service 作成 b. インテグレーションに Custom Event Transformer を追加 c. Jira インテグレーションを追加 2. Security Command Center API の有効化 3. Pub/Sub トピックの作成 4. Cloud Functions のコード実装&デプロイ 5. SCC Notification Config の作成
Copyrights©3-shake Inc. All Rights Reserved. 6 Cloud Functions コード実装 def
scc_to_pd(event, context): webhook_url = os.getenv('WEBHOOK_URL', None) attributes = base64.b64decode(event["data"]).decode("utf-8") headers = { "Content-Type": "application/json; charset=UTF-8" } data = { "Data": json.loads(attributes), } req = urllib.request.Request(webhook_url, data=json.dumps(data).encode("utf-8"), method="POST", headers=headers) try: res = urllib.request.urlopen(req, timeout=5) except Exception as e: print(e) SCC findings の内容を丸ごと送信 - SCC は組織権限がないと参照できないため、対応担当者が見れないケースもある - PagerDuty や Jira チケット管理により権限問題を解消
Copyrights©3-shake Inc. All Rights Reserved. 7 ハマりポイント① Terraform 実装について -
Notification Config は自身のユーザで terraform apply しても失敗する - サービス アカウントの権限借用 (service account impersonation) が必要 - SA のアクセストークンを設定したプロバイダを用意する - https://cloud.google.com/blog/topics/developers-practitioners/using-google-cloud-service-account-imperso nation-your-terraform-code - Pub/Sub, CloudFunctions 等のリソースは通常のプロバイダを使用
Copyrights©3-shake Inc. All Rights Reserved. 8 ハマりポイント① provider "google" {
alias = "impersonation" scopes = [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/userinfo.email", ] } provider "google" { alias = "scc-creator" project = var.project_id access_token = data.google_service_account_access_token.scc_creator.access_token } data "google_service_account_access_token" "scc_creator" { provider = google.impersonation target_service_account = google_service_account.scc_creator.email scopes = ["userinfo-email", "cloud-platform"] lifetime = "1200s" } resource "google_scc_notification_config" "notify_to_pubsub" { provider = google.scc-creator … }
Copyrights©3-shake Inc. All Rights Reserved. 9 ハマりポイント② VPC Service Controls
への対応 - VPC Service Controls を有効化していたため Notification Config の作成に失敗 - 事前に VPC Service Controls の Ingress/Egress 設定を追加する必要がある - ドキュメントの手順通りに行えば OK - https://cloud.google.com/security-command-center/docs/how-to-notifications#grant-perimeter-access - (VPC Service Controls つらい)
Copyrights©3-shake Inc. All Rights Reserved. 10 運用上の課題 アラートのチューニングについて - SCC
の Mute設定 - 個別設定 or Config 作成。設定がやや複雑なのと条件付き - Mute しても通知が来る? - CloudFunctions のコード修正 - コードの複雑化や停止のリスク。都度デプロイの必要あり - PagerDuty のカスタムルール アラート調査のコスト高 - セキュリティ担当者による対応の限界 - 一次対応者をサービス担当者へ振り分ける - チケットの可読性向上の必要性
Copyrights©3-shake Inc. All Rights Reserved. 11 Security Command Center の機能
https://cloud.google.com/security-command-center/pricing 通知設定 https://htayyar.medium.com/pagerduty-google-cloud-security-command-center-6ad92debb026 https://cloud.google.com/security-command-center/docs/how-to-notifications https://cloud.google.com/security-command-center/docs/how-to-api-manage-notifications terraform 関連 https://github.com/hashicorp/terraform-provider-google/issues/10534 https://cloud.google.com/iam/docs/impersonating-service-accounts https://cloud.google.com/blog/topics/developers-practitioners/using-google-cloud-service-account-impersonation-your-terraform-code https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/scc_notification_config 参考