Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GCPでセキュリティガードレールを作るための方法と推しテク

A84b3c763c9c543069b7c02551e2720e?s=47 yu-yamada
January 24, 2021

 GCPでセキュリティガードレールを作るための方法と推しテク

July Tech Festa 2021 winter 登壇資料
#JTF2021w #GCP

パブリッククラウドでのセキュリティ担保の方法として、利便性を犠牲にはせずセキュリティを担保しようというガードレールという考え方があり、GoogleCloudではガードレールを設置するために以下のようなサービスを使うことが出来ます。
・SecurityCommandCenter
・CloudAssetInventory
・VpcServiceControls
本セッションではこれらのサービスの使い方や、GCPプロジェクトを作成したときにセキュリティ対策としてまずやったほうが良い設定などを紹介します。

A84b3c763c9c543069b7c02551e2720e?s=128

yu-yamada

January 24, 2021
Tweet

Transcript

  1. GCPで セキュリティガードレールを 作るための方法と推しテク July Tech Festa 2021 winter 株式会社リクルート データ推進室 

    #jtf2021w_b
  2. 山田 雄(Yamada Yu) @nii_yan 社会人歴 20年ぐらい データエンジニア/セキュリティエンジニア (データ/セキュリティ基盤の開発・運用) AWS/GCP/BigData/Mail/Hadoop...

  3. 会社紹介

  4. 創業  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. 5 選択・意思決定を支援する情報サービスを提供し、
 「まだ、ここにない、出会い。」を実現する。 販促 国内
 人材募集 事業領域 主なサービスブランド

  6. 6 リクルートには、ユーザーとクライアントという2つのお客様が存在します。
 企業と人(B to C)、企業と企業(B to B)、人と人(C to C)、すべての間に立ち、双方に とって最適なマッチングを図る「場」を提供しています。


    ユーザーとクライアントを新しい接点で結び、 「まだ、ここにない、出会い。」の場を創造する。
  7. リクルートグループのうちメディア&ソリューション事業を推進する会社
 ※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 国内
 販促
 リクルートテクノロジーズ リクルートコミュニケーションズ 機能
 会社
 その他

  8. クラウド・セキュリティの概念

  9. • •

  10. ◯:ユーザ管理範囲 Iaas Paas Faas コンテンツ ◯ ◯ ◯ アクセスポリシー ◯

    ◯ ◯ 利用 ◯ ◯ ◯ デプロイ ◯ ◯ - Webアプリのセキュリティ ◯ ◯ - アイデンティティ ◯ - - 運用 ◯ - - アクセスと認証 ◯ - - ネットワークセキュリティ ◯ - - データとコンテンツ ◯ - - GuestOS ◯ - - 監査ログ - - - ネットワーク - - - ストレージ - - - カーネル - - - ブート - - - ハードウェア - - -
  11. ◯:ユーザ管理範囲 Iaas Paas Faas コンテンツ ◯ ◯ ◯ アクセスポリシー ◯

    ◯ ◯ 利用 ◯ ◯ ◯ デプロイ ◯ ◯ - Webアプリのセキュリティ ◯ ◯ - アイデンティティ ◯ - - 運用 ◯ - - アクセスと認証 ◯ - - ネットワークセキュリティ ◯ - - データとコンテンツ ◯ - - GuestOS ◯ - - 監査ログ - - - ネットワーク - - - ストレージ - - - カーネル - - - ブート - - - ハードウェア - - -
  12. None
  13. 利便性とのトレードオフ ガードレール 利便性 セキュリティ 利便性 セキュリティ

  14. 利用者 管理者 権限外の操作を出来なくするなど のガードレール設置 各種リソースの操作 レールから外れた操作の と

  15. GCPプロジェクトのおすすめ初期設定

  16. None
  17. None
  18. None
  19. None
  20. None
  21. None
  22. ログのタイプ 保存日数 管理アクティビティ 400日 データアクセス 30日 システムイベント 400日 ポリシー拒否 30日

  23. None
  24. GCSバケットを 選択

  25. BigQueryを選択 注)プロジェクト内でBQに対する操作を行ってない(ログ が無い)場合、BigQueryが選択出来ません 何かしら操作をしてからシンク設定をしてください

  26. 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
  27. None
  28. VPCServiceControls

  29. 機密データありプロジェクト vpc-sc BigQuery Cloud Storage Firewall Compute Engine

  30. vpc-sc BigQuery Cloud Storage ProjectA ProjectC Cloud Functions ProjectB Cloud

    Spanner ProjectD
  31. vpc-sc BigQuery Cloud Storage ProjectA ProjectB xxx.xxx.xxx.1/32 xxx.xxx.xxx.2/32 hoge@aaa.com moge@bbb.com

  32. None
  33. • ◦ ◦ •

  34. 機密オンプレ環境 一般GCP環境 機密GCP環境 ProjectA ProjectB vpc-sc accessLevelの設定 basic: conditions: -

    ipSubnetworks: - XXX.XXX.XX.2/32 - XXX.XXX.XX.3/32 - members: - serviceAccount:xxxxxxxx@xxxxx.iam.gserviceaccount.com accessLevelの設定 basic: conditions: - ipSubnetworks: - 分析ユーザのアドレス BigQuery Cloud Storage BigQuery GCSのIAMで外部から は書込みのみを許可 Compute Engine Compute Engine
  35. ProjectA VPC Compute Engine ProjectB vpc-sc Cloud Storage Cloud NAT

  36. 標準ProjectB vpc-sc BigQuery 機密Project vpc-sc BigQuery 標準ProjectA BigQuery ブリッジ

  37. 標準ProjectB vpc-sc BigQuery 機密Project vpc-sc BigQuery 標準ProjectA BigQuery ブリッジ

  38. None
  39. 木本 貴光(Kimoto Takamitsu) 社会人歴 6年 主にインフラ周り 直近は、クラウドセキュリティ関連や 監視基盤の刷新などを行う 以前はデータサイエンティストやってました

  40. • •

  41. Security Command Center

  42. • • ◦ • • ◦

  43. • •

  44. 詳細は料金を参照(特にプレミアム) レガシー • Security Command Center APIによるデータ転送量 • 検出に利用されるログ量 などに基づく

    スタンダード 無料 プレミアム 以下のうち金額が大きい方の 5% • 契約した Google Cloud の年間費用額 • 現在の実際の Google Cloud の費用の年換算額
  45. Security Health Analytics FWの設定不備やCIS ベンチマークにそっ た検出 使用可能 使用可能 一部制限あり 使用可能

    Cloud Anomaly Detection Compute系の異常な 行動(ex. 乗っ取り) クレデンシャル漏洩 使用可能 使用可能 一部制限あり 使用可能 Event Threat Detection Stackdriver のログ から不正攻撃の踏み 台になっていないか などの自動検出 使用可能 使用不可 使用可能 Web Security Scanner Webアプリの脆弱性 スキャン 使用可能 使用可能 一部制限あり 使用可能 Container Threat Detection コンテナに対する 攻撃の検出 使用可能 使用不可 使用可能
  46. OPEN_SSH_PORT ファイアウォールが、一般的なアクセスを許可するオープ ン SSH ポートを持つように構成されている プレミアム・ スタンダード OPEN_MYSQL_PORT ファイアウォールが、一般的なアクセスを許可するオープ ン

    MYSQL ポートを持つように構成されている プレミアム BUCKET_LOGGING_DISA BLED ロギングが有効になっていないストレージ バケットがある プレミアム
  47. • ◦

  48. プロジェクトで フィルタリング可 各種セキュリティ ベンチマークとの対応

  49. 改善手順も提供される 重大度は CRITICAL/HIGH/MEDIUM/LOW/ UNSPECIFIED

  50. これらの情報は、Cloud Asset Inventoryによる(詳細後述)

  51. • •

  52. • •

  53. • ◦ • •

  54. Cloud Asset Inventory

  55. • ◦ • ◦

  56. • • • • •

  57. • • • • • 今回は上 3 つ の機能を紹介

  58. • •

  59. None
  60. • ◦ • •

  61. • ◦ • ◦ • • ◦ •

  62. • ◦ ◦ • •

  63. • • •

  64. • •

  65. • ◦ • ◦ •

  66. • ◦ •

  67. • • •

  68. 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 }
  69. • •

  70. • ◦ •

  71. まとめ

  72. None
  73. None