Security Command Center (SCC)でGoogle Cloud環境のセキュリティを強化しよう
はじめに
クラウド事業本部コンサルティング部の渡邉です。
Google Cloud環境内の様々なセキュリティ対策を行う上で、Security Command Center (SCC)は非常に重要なサービスになります。今回は、SCCについての概要とSCCの始め方について記載していきます。
Security Command Center (SCC)とは
Security Command Center (SCC)とは、Google Cloud環境内を定期的にスキャンし、ユーザのクラウド環境の設定ミスによる脆弱性の検出や、マルウェア、暗号通貨マイニング、コンテナランタイム攻撃などの脅威の検出を行ってくれるサービスです。検出された結果はダッシュボードとして一覧化されます。
SCCを利用することで、自組織のGoogle Cloud環境のセキュリティリスクを可視化することができ、リスクに対してどのように対応するべきか打ち手を考えることにつながります。
Tierの違いを理解する
Security Command Center (SCC)には、Standard Tier、Premium Tier、Enterprise Tierの3つのTierが存在します。各Tierによって利用することができる機能とサービスが異なります。
初めてSCCを利用する場合は、Standard Tierからスタートし、自身の環境や状況、セキュリティ要件によってPremium TierやEnterprise Tierへのアップグレードを検討していくとよいと思います。
Standard Tier
SCCの中でも、無料で始めることができるTierです。Google Cloud組織またはプロジェクトレベルで有効化することができます。SCC内の以下のサービスを利用することができます。
サービス | カテゴリ | 内容 |
---|---|---|
Security Health Analytics | 脆弱性検出 | Google Cloud アセットの脆弱性と構成ミスを自動的に検出するGoogle Cloudのマネージド脆弱性評価スキャン |
Web Security Scanner | 脆弱性検出 | Compute Engine、Google Kubernetes Engine、App EngineのWebアプリケーションの公開URLとIPアドレスに対して脆弱性診断を行う。 |
異常検出 | 脆弱性サービス | プロジェクトと仮想マシン(VM)インスタンスのセキュリティ異常を検知 |
Sensitive Data Protection | 脆弱性サービス | 機密データを検出して分類し、保護する |
Google Cloud Armor | 脅威の検出と対応 | Cloud ArmorとSCCを統合する |
Sensitive Actions Service | 脅威の検出と対応 | Google Cloud の組織、フォルダ、プロジェクトで悪意のある行為者によって行われ、ビジネスに被害を及ぼす可能性のあるアクションを検出 |
Binary Authorization | 姿勢とポリシー | コンテナベースのアプリケーションを開発してデプロイするときに、ソフトウェアサプライチェーンのセキュリティ対策を実装する |
Policy Controller | 姿勢とポリシー | Kubernetesクラスタにポリシーを適用し、利用できる |
Risk Manager | 姿勢とポリシー | 組織の技術上のリスク体制をプロファイリングしてレポートを生成する |
データ所在地 | データマネジメント | SCCの検出結果等のデータ所在地(リージョン)を制御できる |
BigQueryエクスポート | データマネジメント | BigQueryへSCCの検出結果をエクスポートし、データ分析に利用できる |
Pub/Subの継続的エクスポート | データマネジメント | SCCの検出結果をPub/Subへ継続的にエクスポートし、通知や自動化処理に利用できる |
Premium Tier
Standard Tierに追加して、以下のサービスが利用可能になります。
Premium Tierから有料になるため、有効化する前に料金の見積もりを行うことをお勧めします。
Security Command Center pricing | Google Cloud
サービス | カテゴリ | 内容 |
---|---|---|
Security Health Analytics | 脆弱性検出 | Standard Tierに加えて、コンプライアンスモニタリングとカスタムモジュールのサポートを追加 |
Web Security Scanner | 脆弱性検出 | Standard Tierに加えて、OWASPトップ10のその他の検出機能やマネージドスキャンを追加 |
攻撃パス シミュレーション | 仮想レッドチーム | 潜在的な攻撃者が高価値リソースに到達するための経路を特定することで、脆弱性や構成ミスの検出結果を特定、優先順位付けするのに役立つ。 |
Mandiant の CVE 評価 | 仮想レッドチーム | Mandiantによる CVE 評価を提供する |
Container Threat Detection | 脅威の検出と対応 | コンテナランタイム攻撃を検出(GKE向け) |
Event Threat Detection | 脅威の検出と対応 | 脅威インテリジェンス、ML、その他の高度な方法で Cloud Logging と Google Workspace をモニタリングし、マルウェア、暗号通貨のマイニング、データの引き出しなどの脅威を検出します。 |
Virtual Machine Threat Detection | 脅威の検出と対応 | VM インスタンスで実行されている、悪質な可能性のあるアプリケーションを検出する。 |
Policy Intelligence | 姿勢とポリシー | 高度なIAM推奨事項、組織ポリシーの分析が可能になる |
セキュリティ ポスチャー | 姿勢とポリシー | セキュリティ ポスチャーを定義してデプロイし、 Google Cloud リソースのセキュリティ ステータスをモニタリングする |
Infrastructure as Code(IaC)の検証 | その他の機能 | 組織のポリシーと Security Health Analytics の検出機能と照らし合わせて検証する。 |
Asset Inventoryとの統合 | その他の機能 | SQLを使用したアセットのクエリ、割り当て増加のリクエストが可能になる |
Enterprise Tier
Enterprise Tierでは、Google Cloud環境だけでなく、AWSやAzureなどの他クラウドも対象としたマルチクラウドでのセキュリティ監視や脅威検出を行うことができるのが特徴です。
Enterprise TierはPremium Tierに追加して、以下のサービスが利用可能になります。
サービス | カテゴリ | 内容 |
---|---|---|
Mandiant Attack Surface Management | その他の脆弱性サービス | 悪用される可能性のある露出に対して外部エコシステムを継続的にモニタリングし、環境全体でインターネット アセットを検出して分析する |
Google Security Operations SIEM | 脅威の検出と対応 | 複数のクラウド環境の脅威のログやその他のデータをスキャンし、脅威検出ルールを定義して、蓄積されたデータを検索する |
Google Security Operations SOAR | 脅威の検出と対応 | ケースの管理、レスポンス ワークフローの定義、レスポンス データの検索を行う |
Mandiant Hunt | 脅威の検出と対応 | Mandiant のエキスパートに頼って脅威探索を継続的に実施し、攻撃者の活動を明らかにすることで、ビジネスへの影響を軽減する |
Cloud Infrastructure Entitlement Management | 脅威の検出と対応 | 構成が誤っているプリンシパル アカウント(ID)や、クラウド リソースに対する過剰または機密性の高い IAM 権限が付与されているプリンシパル アカウントを特定する |
Assured Open Source Software | その他の機能 | Google が安全性を確認したうえで使用しているのと同じ OSS パッケージを自社のデベロッパー ワークフローに取り入れる |
Audit Manager | その他の機能 | 複数のコンプライアンス フレームワークから選択したコントロールに基づいてリソースを評価するコンプライアンス監査ソリューション |
マルチクラウド | その他の機能 | AWS/Azureのマルチクラウドの脅威、脆弱性、構成ミスを検出する |
Standard Tierで利用できる一部のサービス
Security Health Analytics
Security Health Analyticsとは、Google Cloud環境内をスキャンして、攻撃を受ける可能性のある構成ミスを検出してくれるサービスになります。SCCを有効化すると自動的に有効化されるため、すべてのTierで利用することができます。
Standard Tierの場合は、検出される脆弱性の重大度は中程度から重大の基本グループのみとなるため、Standard Tierでセキュリティ要件が満たせなかった場合は、Premium TierかEnterprise Tierへのアップグレードを検討してください。
利用できる検出結果
Security Health AnalyticsのStandard Tierで検出することができる検出項目の一覧になります。
Premium TierやEnterprise Tierと比較すると、検出できる項目は少ないですが、Standard Tierでも最低限の構成ミスを検出することができるため、Google Cloudの利用を始めたばかりのユーザでもいち早くSCCのStandard Tierを有効化することで、セキュアなGoogle Cloud環境を作ることができます。
検出項目 | 概要 |
---|---|
Public Compute image | 公開アクセス可能なCompute Engineイメージが存在する |
Public IP address | インスタンスにパブリック IP アドレスが割り振られている |
Legacy authorization enabled | GKEクラスタでレガシー認証が有効になっている |
Web UI enabled | GKE Webダッシュボードが有効になっている |
Dataproc image outdated | Dataproc クラスタは、Apache Log4j 2 ユーティリティのセキュリティ脆弱性の影響を受けるDataprocイメージ バージョンで作成されている |
Public dataset | データセットが公開アクセスを許可するように構成されている |
Open ciscosecure websm port | ファイアウォールに、一般的なアクセスを許可するオープン CISCOSECURE_WEBSM ポートが構成されている |
Open directory services port | ファイアウォールに、一般的なアクセスを許可するオープン DIRECTORY_SERVICES ポートが構成されている |
Open firewall | ファイアウォールが公開のアクセスを許可するように構成されている |
Open RDP port | ファイアウォールに、一般的なアクセスを許可するオープン RDP ポートが構成されている |
Open SSH port | ファイアウォールに、一般的なアクセスを許可するオープン SSH ポートが構成されている |
Open Telnet port | ファイアウォールに、一般的なアクセスを許可するオープン TELNET ポートが構成されている |
Non org IAM member | 組織の認証情報を使用していないユーザー(@gmail.com のメールアドレスを持つ)が存在する |
Open group IAM member | 承認なしで結合できる Google グループ アカウントは、IAM 許可ポリシーのプリンシパルとして使用されます |
MFA not enforced | 2段階認証プロセスを使用していないユーザーが存在する |
Public SQL instance | Cloud SQL データベースインスタンスにパブリックIPアドレスが割り振られている |
SSL not enforced | Cloud SQL データベースインスタンスで、すべての受信接続でSSLの使用が有効化されていない |
Public bucket ACL | Cloud Storageバケットが一般公開されている。 |
Public log bucket | ログシンクとして使用されるストレージバケットが一般公開されています |
上記の検出項目が検出されてしまった場合は、以下の公式ドキュメントに、各項目への対応手順が記載されているので、こちらを参照して対応しましょう。
セキュリティ状況の分析の検出項目を修正する | Security Command Center | Google Cloud
サポート対象のGoogle Cloudサービス
Security Health Analyticsは以下のGoogle Cloudサービスをサポートしています。
- Cloud Monitoring と Cloud Logging
- Compute Engine
- Google Kubernetes Engine コンテナとネットワーク
- Cloud Storage
- Cloud SQL
- Identity and Access Management(IAM)
- Cloud Key Management Service(Cloud KMS)
- Cloud DNS
スキャンタイプ
Security Health Analyticsでは、以下の3つのモードでGoogle Cloud環境のスキャンを実施します。
- バッチスキャン:1日1回、登録済みのすべての組織またはプロジェクトに対してスキャンを実行する
- リアルタイムスキャン:リソースの構成を変更する際にスキャンを実施する
- 混合モード:バッチスキャンとリアルタイムスキャンの混合
Sensitive Actions Service
Sensitive Actions Serviceとは、Google Cloud の組織、フォルダ、プロジェクトで悪意のある行為者によって実行されるとビジネスに被害を及ぼす可能性のあるアクションを検出することができるサービスになります。
Sensitive Actions Serviceは、組織の管理アクティビティ監査ログに記録された機密情報に関する操作を自動的にモニタリングして検出をすることができます。管理アクティビティ監査ログは、デフォルトで有効化になっているため、ユーザ側で有効化作業などは必要ありません。
利用できる検出結果
Sensitive Actions Serviceで検出することができる検出項目の一覧になります。
表示名 | API名 | 説明 |
---|---|---|
Defense Evasion: Organization Policy Changed | change_organization_policy | 10日以上経過した組織で、組織レベルの組織ポリシーが作成、更新、削除された |
Defense Evasion: Remove Billing Admin | remove_billing_admin | 10 日以上経過した組織で、組織レベルの課金管理者の IAM ロールが削除された |
Impact: GPU Instance Created | gpu_instance_created | GPUインスタンスが作成されましたが、そのプリンシパルは、最近同じプロジェクトでGPUインスタンスを作成していない |
Impact: Many Instances Created | many_instances_created | 同じ日に同じプリンシパルによってプロジェクト内に複数のインスタンスが作成された |
Impact: Many Instances Deleted | many_instances_deleted | 同じ日に同じプリンシパルによってプロジェクト内の複数のインスタンスが削除された |
Persistence: Add Sensitive Role | add_sensitive_role | 10日以上経過した組織で、機密性または権限の高い組織レベルのIAMロールが付与された |
Persistence: Project SSH Key Added | add_ssh_key | 10 日以上経過したプロジェクトで、プロジェクト レベルの SSH 認証鍵が作成されました。 |
上記の検出項目は、正常なユーザの操作によっても検出される可能性があります。
検出されてしまった場合は、意図した操作かどうかを確認するようにしましょう。
Security Command Center (SCC) Standard Tierを組織で有効化してみた。
Security Command Center (SCC) Standard Tierを組織で有効化してみたいと思います。
プロジェクト単位で有効化することもできますが、組織で有効化することにより、自身のGoogle Cloud組織全体でセキュリティリスクを可視化することができます。
IAM権限の確認
SCCを有効化するにあたっては事前に以下のIAMロールが必要になりますので、設定をお願いします。
- 組織の管理者:
roles/resourcemanager.organizationAdmin
- セキュリティセンター管理者:
roles/securitycenter.admin
- セキュリティ管理者:
roles/iam.securityAdmin
- サービスアカウントの作成:
roles/iam.serviceAccountCreator
Standard Tierの有効化
Google Cloudのコンソールから自身の管理する組織へ遷移し、検索画面から【Security Command Center】と検索します。
初めてSCCのコンソール画面へ遷移した場合、【Security Command Centerの設定】というボタンがあるのでクリックします。
SCCのTierの選択画面へ遷移するので、ここではスタンダードティアを選択し、【次へ】をクリックします。
SCCで有効化したいサービスの設定を行います。デフォルト設定のままでよいので、【次へ】をクリックします。
次に、SCCにおいて組織配下のリソースをスキャンできるようにサービスエージェントに権限を付与します。
【ロールを自動的に付与】にチェックし、【ロールを付与】をクリック、その後【アカウントをテスト】をクリックします。
問題なければ、【テストが正常に完了しました。サービスアカウントは正しくプロビジョニングされています。】と表示されるので、その後に【次へ】をクリックします。
セットアップ作業はこれで完了なので、【終了】をクリックします。
SCCのセットアップが完了すると、組織のIAMにサービスエージェントが登録されていることが確認できました。
組織へのIAMは配下のフォルダやプロジェクトへ継承されるため、サービスエージェントが組織配下のリソースをスキャンしてくれるようになります。
SCCのセットアップが完了後しばらくするとダッシュボードに【未対応の脆弱性】が検出されていることが確認できました。
Open firewallや、MFA未対応など、検出されている脆弱性は対応する必要があるので、担当者に連絡して状況をヒヤリングしたり、是正対応をする必要があります。
Premium Tierへのアップグレード
Standard Tierを使用しており、より高度なセキュリティ機能を利用したい場合はPremium Tierへアップグレードすることができます。
Premium Tierへアップグレードをしたい場合の手順は以下の公式ドキュメントをご確認ください。
Premium Tierの料金体系として、従量課金制とサブスクリプション制を選択することができますが、サブスクリプション制を選択したい場合は、Google Cloudの営業担当者へ問い合わせをする必要があります。
最後に
今回は、Security Command Center (SCC)についての概要、一部機能の説明とStandard Tierの有効化手順を紹介しました。
SCCを利用することで、意図しない設定ミスによるセキュリティインシデントを予防したり、Google Cloud組織全体としてセキュリティ意識の向上を図ることができる良いサービスと思います。
Google Cloudを利用したばかりのユーザもSCCをStandard Tierから利用して、セキュアなGoogle Cloud環境を構築してください。
この記事が誰かの助けになれば幸いです。
以上、クラウド事業本部コンサルティング部の渡邉でした!