インフラストラクチャのガイドライン

最小限の実行可能なセキュリティ プラットフォームに関する次のガイドラインは、インフラストラクチャの柱に沿ったものです。

ベーシック レベルのガイドライン

まず、次のインフラストラクチャのガイドラインを実装します。

項目

VM シリアルポート アクセスを無効にする

説明

compute.disableSerialPortAccess 組織のポリシー制約を設定して、シリアルポート アクセスを無効にします。Compute Engine VM でシリアルポート アクセスを無効にすると、ファイアウォール ルールやその他のネットワーク セキュリティ制御をバイパスするアクセス チャネルを排除できます。インタラクティブ シリアル コンソールは主に緊急時のトラブルシューティングを目的としていますが、有効にしたままにすると、攻撃者の標的となる永続的なバックドアが作成される可能性があります。

シリアルポート アクセスを無効にすると、すべての管理アクセスが SSH などの標準の監査済みパスウェイを介して強制的に行われるため、多層防御のセキュリティ体制が強化されます。このパスウェイは、Identity and Access Management(IAM)と Identity-Aware Proxy(IAP)を有効にすることで保護できます。

関連情報
アイテム ID MVSP-CO-1.24
マッピング

関連する NIST-800-53 コントロール:

  • AC-3

関連する CRI プロファイル コントロール:

  • PR.AC-3.1
項目

IPv6 を無効にする(必要な場合を除く)

説明

特に必要な場合を除き、IPv6 外部サブネットの作成を無効にします。攻撃対象領域を減らすには、アクティブに管理されていないシステムやネットワークで IPv6 を無効にすることを検討してください。多くの組織では、IPv4 のセキュリティ管理とモニタリングが成熟していますが、ツールとポリシーが IPv6 に完全に拡張されていないため、脅威に対する大きな盲点が生じる可能性があります。デュアルスタック ネットワークを実行すると、運用が複雑になり、効果的に管理してトラブルシューティングを行うには、特定の構成と専門知識が必要になります。したがって、IPv6 の明確なビジネス ドライバがない場合は、IPv6 を無効にすることで環境を簡素化し、確立された IPv4 セキュリティ体制で一貫してすべてのトラフィックをフィルタリングできます。

関連情報
アイテム ID MVSP-CO-1.25
マッピング

関連する NIST-800-53 コントロール:

  • CM-7

関連する CRI プロファイル コントロール:

  • PR.PT-3.1

コンプライアンス マネージャーのコントロール:

項目

Shielded VM 機能を有効にする

説明

インスタンスの Shielded VM の仮想トラステッド プラットフォーム モジュール(vTPM)と整合性モニタリング属性を有効にします。vTPM と整合性モニタリング属性は、デフォルトの VM インスタンス作成プロセスの一部です。Shielded VM の vTPM と整合性モニタリング属性を使用して、VM が信頼できる変更されていないコードでのみ起動するようにします。

vTPM は、UEFI ファームウェアからカーネル ドライバまでのブート シーケンス全体の暗号測定値を生成して保存する安全な仮想暗号プロセッサを提供します。整合性モニタリングは、VM の初回作成時に確立された既知の適切なベースラインと、これらのランタイム測定値を継続的に比較します。

これらの機能は、検証可能な信頼の連鎖を提供し、ブートキットやルートキットなどの悪意のある変更を検出すると、自動的にアラートを送信したり、対策を講じたりします。Shielded VM の機能は、インスタンスの起動時からワークロードの整合性を維持するのに役立ちます。

関連情報
アイテム ID MVSP-CO-1.28
マッピング

関連する NIST-800-53 コントロール:

  • SI-7

関連する CRI プロファイル コントロール:

  • PR.DS-6.1

コンプライアンス マネージャーのコントロール:

項目

GKE Autopilot を使用する

説明

Google Kubernetes Engine(GKE)Autopilot クラスタを使用します。Autopilot クラスタは、堅牢なセキュリティ対策を提供します。コンテナまたは GKE の多くのセキュリティ ベスト プラクティスがデフォルトで有効になっています。

関連情報
アイテム ID MVSP-CO-1.29
マッピング

関連する NIST-800-53 コントロール:

  • CM-2

関連する CRI プロファイル コントロール:

  • PR.IP-1.1
項目

GKE クラスタとノードに最小権限のアカウントを使用する

説明

Google Kubernetes Engine(GKE)クラスタとノードに最小権限の Identity and Access Management(IAM)サービス アカウントを使用します。GKE コントロール プレーンへのアクセスが単一の DNS ベースのエンドポイントに制限されている。最小権限を実装すると、追加のファイアウォール ルールや踏み台ホストを必要とせずに、攻撃対象領域を大幅に削減できます。

関連情報
アイテム ID MVSP-CO-1.30
マッピング

関連する NIST-800-53 コントロール:

  • AC-6

関連する CRI プロファイル コントロール:

  • PR.AC-4.1

コンプライアンス マネージャーのコントロール:

項目

コントロール プレーンへのアクセスを制限する

説明

デフォルトでは、Google Kubernetes Engine(GKE)クラスタのコントロール プレーンとノードには、任意の IP アドレスからアクセスできる、インターネット上でルーティング可能なアドレスが割り当てられます。DNS ベースのエンドポイントを使用してプライベート クラスタを作成し、コントロール プレーンへのネットワーク アクセスを制限します。コントロール プレーンは Kubernetes クラスタの管理センターであり、インターネットに公開すると攻撃者の標的になりやすくなります。この構成により、コントロール プレーンがプライベートになり、インターネットから削除されます。

コントロール プレーンへのアクセスを制限すると、組織のプライベート ネットワーク内の信頼できるデバイスのみがクラスタを管理できるようになり、外部攻撃のリスクが大幅に軽減されます。

関連情報
アイテム ID MVSP-CO-1.31
マッピング

関連する NIST-800-53 コントロール:

  • SC-7

関連する CRI プロファイル コントロール:

  • PR.AC-3.1
項目

containerd ランタイムで Container-Optimized OS を使用する

説明

Container-Optimized OS を使用して、強化されたマネージド コンテナ OS を実装します。汎用オペレーティング システムには、コンテナの実行に不要なプログラムが多数含まれているため、攻撃者にとって不要なターゲットが大きくなります。Container-Optimized OS は、必要なものだけを含む最小限のロックダウンされたオペレーティング システムであるため、この攻撃対象領域を大幅に削減できます。マネージド OS として、Container-Optimized OS には Google によって自動的に適用されるセキュリティ パッチも含まれているため、重大な脆弱性が修正され、運用ワークロードが軽減されます。

Containerd を使用した Container-Optimized OS(cos_containerd)を含むイメージには、Kubernetes と直接統合されているメイン コンテナ ランタイムとして containerd が含まれています。containerd は Docker のコア ランタイム コンポーネントであり、Kubernetes Container Runtime Interface(CRI)のコア コンテナ機能を配信するように設計されています。これは、完全な Docker デーモンよりもはるかに簡潔なので、攻撃対象領域が小さくなります。

関連情報
アイテム ID MVSP-CO-1.41
マッピング

関連する NIST-800-53 コントロール:

  • CM-7
  • SC-7
  • SC-38
  • SI-2
  • SI-7

関連する CRI プロファイル コントロール:

  • PR.PT-3.1

コンプライアンス マネージャーのコントロール:

中級レベルのガイドライン

基本的なガイドラインを実装したら、次のインフラストラクチャのガイドラインを実装します。

項目

VM に OS Login を適用する

説明

デベロッパーが SSH を使用して Compute Engine リソースにアクセスできるようにする場合は、2 段階認証プロセスを使用した OS Login を構成します。OS Login を使用して、compute.requireOsLogin 組織のポリシー制約を設定し、Identity and Access Management(IAM)ポリシーで SSH 認証鍵を管理します。OS Login は、SSH 権限をユーザーの Google ID と IAM ロールに関連付けることで VM アクセスを一元化し、各マシンで個別の SSH 認証鍵を管理する必要をなくします。

SSH 権限をユーザーの ID に関連付けることは、セキュリティにとって非常に重要です。ユーザーの IAM ロールを削除すると、すべてのインスタンスでアクセス権が直ちに取り消され、古いアカウントからの不正アクセスを防ぐことができます。このシステムにより、鍵管理が簡素化され、鍵の増加を防ぐことができます。また、Cloud Audit Logs のすべてのログイン イベントに対して明確で一元化された監査証跡が提供されます。OS Login では、2 要素認証を適用することもできます。これにより、盗まれた SSH 鍵と認証情報に対する重要な保護レイヤが追加されます。この機能により、OAuth トークンが侵害されていても、パスワードやセキュリティ キーがない攻撃者をブロックできます。

関連情報
アイテム ID MVSP-CO-1.26
マッピング

関連する NIST-800-53 コントロール:

  • AC-2

関連する CRI プロファイル コントロール:

  • PR.AC-1.1

コンプライアンス マネージャーのコントロール:

項目

VM の外部 IP アドレスを制限する

説明

必要がない限り、パブリック IP アドレスを持つ Compute Engine インスタンスの作成を禁止します。compute.vmExternalIpAccess リスト型制約により、外部 IP アドレスを持つことができる一連の Compute Engine VM インスタンスを定義します。

Compute Engine インスタンスに外部 IP アドレスが割り当てられないようにして、インターネットへの露出を大幅に減らします。外部 IP アドレスを持つインスタンスはすぐに検出され、自動スキャン、総当たり攻撃、脆弱性の悪用を試みる攻撃の直接の標的になります。代わりに、インスタンスでプライベート IP アドレスを使用し、Identity-Aware Proxy(IAP)トンネルや踏み台インスタンスなどの制御、認証、ロギングされたパスウェイを介してアクセスを管理します。

このデフォルト拒否の姿勢を採用することは、攻撃対象領域を最小限に抑え、ネットワークに対するゼロトラスト アプローチを適用するのに役立つ基本的なセキュリティのベスト プラクティスです。この制約は遡及的ではありません。

関連情報
アイテム ID MVSP-CO-1.27
マッピング

関連する NIST-800-53 コントロール:

  • SC-7
  • SC-8

関連する CRI プロファイル コントロール:

  • PR.AC-5.1
  • PR.AC-5.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
  • PR.PT-4.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4

コンプライアンス マネージャーのコントロール:

項目

Workload Identity Federation for GKE を使用する

説明

Workload Identity Federation for GKE を使用して、Google Kubernetes Engine(GKE)ワークロードから Google Cloud API への認証を安全に行います。Workload Identity Federation for GKE は、サービス アカウント キーを使用するよりも簡単で安全な方法です。

関連情報
アイテム ID MVSP-CO-1.32
マッピング

関連する NIST-800-53 コントロール:

  • IA-2

関連する CRI プロファイル コントロール:

  • PR.AC-1.1

コンプライアンス マネージャーのコントロール:

項目

限定公開 GKE ノードを使用する

説明

限定公開ノードを作成して、インターネットへの公開を減らします。限定公開 Google Kubernetes Engine(GKE)ノードは、GKE ノードにパブリック IP アドレスがないようにすることで、インターネットへの公開を減らすのに役立ちます。

関連情報
アイテム ID MVSP-CO-1.33
マッピング

関連する NIST-800-53 コントロール:

  • SC-7

関連する CRI プロファイル コントロール:

  • PR.AC-3.1

コンプライアンス マネージャーのコントロール:

項目

RBAC 向け Google グループを使用する

説明

ロールベースのアクセス制御(RBAC)に Google グループを使用します。これにより、既存のユーザー アカウント管理プラクティスと連携することもできます。たとえば、社員が退職したときに、そのユーザーのアクセス権を取り消すことができます。RBAC 用 Google グループは、Identity and Access Management(IAM)と Google グループを使用してクラスタ アクセスを効率的に管理するのに役立ちます。これは、Google グループを使用するほとんどの組織に適しています。

関連情報
アイテム ID MVSP-CO-1.34
マッピング

関連する NIST-800-53 コントロール:

  • AC-2

関連する CRI プロファイル コントロール:

  • PR.AC-1.1

コンプライアンス マネージャーのコントロール:

上級レベルのガイドライン

中級ガイドラインを実装したら、次のインフラストラクチャ ガイドラインを実装します。

項目

GKE Sandbox を有効にする

説明

GKE Sandbox を使用すると、セキュリティに新たなレイヤを追加し、信頼できないコードから Google Kubernetes Engine(GKE)クラスタノードのホストカーネルを保護できます。GKE Sandbox は、信頼できないワークロードや機密性の高いワークロードのワークロード分離を強化し、コンテナ エスケープ攻撃に対する保護レイヤを追加します。

関連情報
アイテム ID MVSP-CO-1.35
マッピング

関連する NIST-800-53 コントロール:

  • SC-39

関連する CRI プロファイル コントロール:

  • PR.DS-1.1

コンプライアンス マネージャーのコントロール:

項目

Binary Authorization を適用する

説明

Binary Authorization を使用して、信頼できるイメージが Google Kubernetes Engine(GKE)と Cloud Run にデプロイされるようにします。Binary Authorization を使用すると、検証済みの信頼できるコンテナ イメージのみをクラスタにデプロイできるようになり、ソフトウェア サプライ チェーンのセキュリティが強化されます。

関連情報
アイテム ID MVSP-CO-1.36
マッピング

関連する NIST-800-53 コントロール:

  • SI-7

関連する CRI プロファイル コントロール:

  • PR.DS-6.1

コンプライアンス マネージャーのコントロール:

項目

Confidential Google Kubernetes Engine ノードを使用する

説明

Confidential GKE Node を使用して、ノードとワークロードで使用中のデータの暗号化を強制適用します。Confidential GKE Node は、Confidential Computing を使用して使用中のデータを暗号化することで、機密性の高いワークロードを保護します。

関連情報
アイテム ID MVSP-CO-1.37
マッピング

関連する NIST-800-53 コントロール:

  • SC-28

関連する CRI プロファイル コントロール:

  • PR.DS-1.1
項目

GKE でカスタム認証局を実行する

説明

独自の認証局を実行して、Google Kubernetes Engine(GKE)内の鍵を管理します。独自の認証局を使用すると、暗号オペレーションをより細かく制御できます。この機能へのアクセス権をリクエストするには、 Google Cloud アカウント チームにお問い合わせください。

関連情報
アイテム ID MVSP-CO-1.38
マッピング

関連する NIST-800-53 コントロール:

  • SC-12

関連する CRI プロファイル コントロール:

  • PR.DS-1.1
項目

Cloud KMS を使用して Kubernetes Secret を暗号化する

説明

Cloud Key Management Service(Cloud KMS)で管理される鍵を使用して、保存時の Kubernetes Secret を暗号化します。Cloud KMS は、所有および管理する鍵で Kubernetes Secret を暗号化することで、etcd データにセキュリティ レイヤを追加します。

関連情報
アイテム ID MVSP-CO-1.39
マッピング

関連する NIST-800-53 コントロール:

  • SC-28

関連する CRI プロファイル コントロール:

  • PR.DS-1.1

コンプライアンス マネージャーのコントロール:

項目

ノード ブートディスクに CMEK を使用する

説明

ノード ブートディスクの暗号化に顧客管理の暗号鍵(CMEK)を使用します。CMEK を使用すると、所有して管理する鍵で Kubernetes ノードのブートディスクを暗号化できます。

関連情報
アイテム ID MVSP-CO-1.40
マッピング

関連する NIST-800-53 コントロール:

  • SC-28

関連する CRI プロファイル コントロール:

  • PR.DS-1.1

コンプライアンス マネージャーのコントロール:

次のステップ