Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GCPでセキュリティガードレールを作るための方法と推しテク
Search
Recruit
PRO
January 24, 2021
Technology
0
440
GCPでセキュリティガードレールを作るための方法と推しテク
2021/01/24「July Tech Festa 2021 winter」での、山田の講演資料になります
Recruit
PRO
January 24, 2021
Tweet
Share
More Decks by Recruit
See All by Recruit
Balancing Revenue Goals and Off-Policy Evaluation Performance in Coupon Allocation
recruitengineers
PRO
1
33
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
210
VPC Traffic Mirroring とOSS を利⽤した ネットワークフォレンジック基盤の構築・運⽤
recruitengineers
PRO
2
70
スタサプ ForSCHOOLアプリのシンプルな設計
recruitengineers
PRO
3
1.1k
リクルート流データ基盤塾~鶴谷と学ぶ~
recruitengineers
PRO
5
280
『SUUMO』 スマホサイト デザインリニューアルへの挑戦
recruitengineers
PRO
5
360
『リクルートダイレクトスカウト』 のリニューアルから振り返る: ビジョンドリブンの可能性
recruitengineers
PRO
3
330
負債あるモノリスのオブザーバビリティに組織で向き合う
recruitengineers
PRO
9
400
あなたの知らないiOS開発の世界
recruitengineers
PRO
4
340
Other Decks in Technology
See All in Technology
日経電子版のStoreKit2フルリニューアル
shimastripe
3
190
今はまだ小さい東京ガス内製開発チームが、これからもKubernetesと共に歩み続けるために
yussugi
2
370
JAWS UG 青森(弘前)クラウド・AWS入門
hiragahh
0
170
静的解析で実現した効率的なi18n対応の仕組みづくり
minako__ph
2
2.2k
プルリクが全てじゃない!実は喜ばれるOSS貢献の方法8選
tkikuc
9
790
LLMの気持ちになってRAGのことを考えてみよう
john_smith
0
170
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
1
310
電話を切らさない技術 電話自動応答サービスを支える フロントエンド
barometrica
2
1.7k
Entra ID の多要素認証(Japan Microsoft 365 コミュニティ カンファレンス 2024 )
murachiakira
0
730
LLMを「速く」「安く」 動かすには / CloudNative Days Winter 2024
pfn
PRO
4
910
KotlinユーザのためのJSpecify入門 / JSpecify 101 for Kotlin Devs
eller86
0
120
4年で17倍に成長したエンジニア組織を支えるアーキテクチャの過去と未来
sansantech
PRO
1
4.1k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Happy Clients
brianwarren
98
6.7k
Facilitating Awesome Meetings
lara
50
6.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Six Lessons from altMBA
skipperchong
27
3.5k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
GitHub's CSS Performance
jonrohan
1030
460k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Transcript
GCPで セキュリティガードレールを 作るための方法と推しテク July Tech Festa 2021 winter 株式会社リクルート データ推進室
#jtf2021w_b
山田 雄(Yamada Yu) @nii_yan 社会人歴 20年ぐらい データエンジニア/セキュリティエンジニア (データ/セキュリティ基盤の開発・運用) AWS/GCP/BigData/Mail/Hadoop...
会社紹介
創業 1960年3月31日 「大学新聞広告社」としてスタート グループ 従業員数 49,370名 (2020年3月31日時点) 連結売上高 23,994億円 (2019年4月1日~2020年3月31日) EBITDA
3,251億円 (2019年4月1日~2020年3月31日) グループ 企業数 366社 (子会社および関連会社、2020年3月31日時点) ビジョン・ ミッション
5 選択・意思決定を支援する情報サービスを提供し、 「まだ、ここにない、出会い。」を実現する。 販促 国内 人材募集 事業領域 主なサービスブランド
6 リクルートには、ユーザーとクライアントという2つのお客様が存在します。 企業と人(B to C)、企業と企業(B to B)、人と人(C to C)、すべての間に立ち、双方に とって最適なマッチングを図る「場」を提供しています。
ユーザーとクライアントを新しい接点で結び、 「まだ、ここにない、出会い。」の場を創造する。
リクルートグループのうちメディア&ソリューション事業を推進する会社 ※2012/10 中核事業会社・機能会社に分社 → 2021/4「リクルート」として統合予定 7 リクルート ホールディングス リクルートキャリア リクルート住まいカンパニー
リクルートライフスタイル リクルートジョブズ リクルートマーケティングパートナーズ リクルートスタッフィング スタッフサービス・ホールディングス メディア & ソリューション事業(SBU) (株)リクルート 人材派遣事業(SBU) RGF Staffing B.V. HRテクノロジ― 事業(SBU) RGF OHR USA, Inc. その他海外派遣グループ会社 Indeed,Inc. Glassdoor,Inc. RGF International Recruitment リクルートマネジメントソリューションズ 国内 HR 国内 販促 リクルートテクノロジーズ リクルートコミュニケーションズ 機能 会社 その他
クラウド・セキュリティの概念
• •
◯:ユーザ管理範囲 Iaas Paas Faas コンテンツ ◯ ◯ ◯ アクセスポリシー ◯
◯ ◯ 利用 ◯ ◯ ◯ デプロイ ◯ ◯ - Webアプリのセキュリティ ◯ ◯ - アイデンティティ ◯ - - 運用 ◯ - - アクセスと認証 ◯ - - ネットワークセキュリティ ◯ - - データとコンテンツ ◯ - - GuestOS ◯ - - 監査ログ - - - ネットワーク - - - ストレージ - - - カーネル - - - ブート - - - ハードウェア - - -
◯:ユーザ管理範囲 Iaas Paas Faas コンテンツ ◯ ◯ ◯ アクセスポリシー ◯
◯ ◯ 利用 ◯ ◯ ◯ デプロイ ◯ ◯ - Webアプリのセキュリティ ◯ ◯ - アイデンティティ ◯ - - 運用 ◯ - - アクセスと認証 ◯ - - ネットワークセキュリティ ◯ - - データとコンテンツ ◯ - - GuestOS ◯ - - 監査ログ - - - ネットワーク - - - ストレージ - - - カーネル - - - ブート - - - ハードウェア - - -
None
利便性とのトレードオフ ガードレール 利便性 セキュリティ 利便性 セキュリティ
利用者 管理者 権限外の操作を出来なくするなど のガードレール設置 各種リソースの操作 レールから外れた操作の と
GCPプロジェクトのおすすめ初期設定
None
None
None
None
None
None
ログのタイプ 保存日数 管理アクティビティ 400日 データアクセス 30日 システムイベント 400日 ポリシー拒否 30日
None
GCSバケットを 選択
BigQueryを選択 注)プロジェクト内でBQに対する操作を行ってない(ログ が無い)場合、BigQueryが選択出来ません 何かしら操作をしてからシンク設定をしてください
https://cloud.google.com/blog/ja/products/gcp/help-keep-your-google-cloud-service-account-keys-safe #macでの設定の場合 # 以下の設定をすることで 'private_key','private_key_id'の文言が入ったファイルが commit 出来なくなる brew install git-secrets
git secrets --add 'private_key' --global git secrets --add 'private_key_id' --global
None
VPCServiceControls
機密データありプロジェクト vpc-sc BigQuery Cloud Storage Firewall Compute Engine
vpc-sc BigQuery Cloud Storage ProjectA ProjectC Cloud Functions ProjectB Cloud
Spanner ProjectD
vpc-sc BigQuery Cloud Storage ProjectA ProjectB xxx.xxx.xxx.1/32 xxx.xxx.xxx.2/32
[email protected]
[email protected]
None
• ◦ ◦ •
機密オンプレ環境 一般GCP環境 機密GCP環境 ProjectA ProjectB vpc-sc accessLevelの設定 basic: conditions: -
ipSubnetworks: - XXX.XXX.XX.2/32 - XXX.XXX.XX.3/32 - members: - serviceAccount:
[email protected]
accessLevelの設定 basic: conditions: - ipSubnetworks: - 分析ユーザのアドレス BigQuery Cloud Storage BigQuery GCSのIAMで外部から は書込みのみを許可 Compute Engine Compute Engine
ProjectA VPC Compute Engine ProjectB vpc-sc Cloud Storage Cloud NAT
標準ProjectB vpc-sc BigQuery 機密Project vpc-sc BigQuery 標準ProjectA BigQuery ブリッジ
標準ProjectB vpc-sc BigQuery 機密Project vpc-sc BigQuery 標準ProjectA BigQuery ブリッジ
None
木本 貴光(Kimoto Takamitsu) 社会人歴 6年 主にインフラ周り 直近は、クラウドセキュリティ関連や 監視基盤の刷新などを行う 以前はデータサイエンティストやってました
• •
Security Command Center
• • ◦ • • ◦
• •
詳細は料金を参照(特にプレミアム) レガシー • Security Command Center APIによるデータ転送量 • 検出に利用されるログ量 などに基づく
スタンダード 無料 プレミアム 以下のうち金額が大きい方の 5% • 契約した Google Cloud の年間費用額 • 現在の実際の Google Cloud の費用の年換算額
Security Health Analytics FWの設定不備やCIS ベンチマークにそっ た検出 使用可能 使用可能 一部制限あり 使用可能
Cloud Anomaly Detection Compute系の異常な 行動(ex. 乗っ取り) クレデンシャル漏洩 使用可能 使用可能 一部制限あり 使用可能 Event Threat Detection Stackdriver のログ から不正攻撃の踏み 台になっていないか などの自動検出 使用可能 使用不可 使用可能 Web Security Scanner Webアプリの脆弱性 スキャン 使用可能 使用可能 一部制限あり 使用可能 Container Threat Detection コンテナに対する 攻撃の検出 使用可能 使用不可 使用可能
OPEN_SSH_PORT ファイアウォールが、一般的なアクセスを許可するオープ ン SSH ポートを持つように構成されている プレミアム・ スタンダード OPEN_MYSQL_PORT ファイアウォールが、一般的なアクセスを許可するオープ ン
MYSQL ポートを持つように構成されている プレミアム BUCKET_LOGGING_DISA BLED ロギングが有効になっていないストレージ バケットがある プレミアム
• ◦
プロジェクトで フィルタリング可 各種セキュリティ ベンチマークとの対応
改善手順も提供される 重大度は CRITICAL/HIGH/MEDIUM/LOW/ UNSPECIFIED
これらの情報は、Cloud Asset Inventoryによる(詳細後述)
• •
• •
• ◦ • •
Cloud Asset Inventory
• ◦ • ◦
• • • • •
• • • • • 今回は上 3 つ の機能を紹介
• •
None
• ◦ • •
• ◦ • ◦ • • ◦ •
• ◦ ◦ • •
• • •
• •
• ◦ • ◦ •
• ◦ •
• • •
•
func DetectOpenSSHFirewall (change *models.CloudAssetInventoryChange ) (bool, error) { if change.Asset.AssetType
!= "compute.googleapis.com/Firewall" { return false, nil } var fw Firewall if err := json.Unmarshal(change.Asset.Resource, &fw); err != nil { return false, errors.Wrap(err, "failed to unmarshal Firewall resoruce data") } if fw.Data.Disabled || fw.Data.Direction == "EGRESS" { return false, nil } return fw.IsInternetFacing () && fw.IsSSHPortOpen (), nil }
• •
• ◦ •
まとめ
None
None