セキュリティのベスト プラクティス

このページでは、Google Distributed Cloud のインストールを保護するためのベスト プラクティスについて説明します。

物理ハードウェアのセキュリティ

お客様は、アクセスを承認済みの担当者に制限するなど、Distributed Cloud 接続ハードウェアの物理的なセキュリティに責任があります。

Distributed Cloud 接続ラック フォーム ファクタには、次のセキュリティ機能があります。

  • ラックに設置されたハードウェアには、前面と背面のラックドアからのみアクセス可能
  • ラックの分解は困難です。ネジ、ナット、ラッチ、リベットなど、外部からアクセスしやすい構造の留め具がない
  • ラックドアにキーロックが付属。鍵をお客様に提供するとともに、Google が合鍵を安全に保管
  • マルチラック設置の場合、すべてのラックのロックは同一の鍵により実施
  • ラックドアに換気のため穴の開いた不正開封防止用のメタルメッシュがある
  • 設置時に、ラックは配送補強材と取り付け金具を使用して設置場所の床面にしっかりとボルトで留められる

Distributed Cloud 接続サーバーのフォーム ファクタには、次のセキュリティ機能があります。

  • 侵入センサー。不正なユーザーがマシンを物理的に開くと、物理的な侵入が直ちにユーザーと Google に通知されます。

物理ラックのセキュリティについてご不明な点がございましたら、 Google Cloud 営業担当者にお問い合わせください。

プラットフォームのセキュリティ

Distributed Cloud 接続ハードウェア プラットフォームには、次のセキュリティ機能があります。

  • Trusted Platform Module(TPM)。TPM は、Distributed Cloud Connected に保存され、受信および送信されるすべてのデータの暗号鍵を生成して保存する信頼のルートです。

  • プラットフォーム証明書。プラットフォーム証明書は、製造と TPM ID の暗号的に安全な記録です。この証明書は、Distributed Cloud 接続ハードウェアのサプライ チェーンの完全性の証明として機能します。

  • ポートのロックダウン。USB や RS-232 コンソール ポートなどのイーサネット ポート以外の外部ポートと内部ポートはすべてファームウェア レベルで無効になっており、サービスでのみ有効になります。

ローカル ストレージのセキュリティ

Distributed Cloud 接続ハードウェアには、フォーム ファクタに応じて次のタイプの内部ストレージが搭載されています。

  • Distributed Cloud コネクテッド ラックには、ソリッド ステート ディスク(SSD)ドライブが搭載されています。
  • Distributed Cloud 接続サーバーには、自己暗号化ディスク(SED)ドライブが搭載されています。

Distributed Cloud connected は、LUKS(Linux Unified Key Setup)を使用して、各 Distributed Cloud connected ノードの論理ボリュームを暗号化します。顧客管理の暗号鍵(CMEK)またはGoogle-owned and managed keys を使用して LUKS ディスク暗号鍵(DEK)をラップできます。ノードをノードプールに割り当てると、ノードは LUKS DEK を生成し、鍵暗号鍵(KEK)とも呼ばれる Google 管理の LUKS パスフレーズまたは Cloud KMS を介してユーザーが提供したパスフレーズでラップします。ノードプールの作成時に Cloud KMS を使用するかどうかを選択できます。Distributed Cloud connected は、エンベロープ暗号化モデルを使用して Cloud KMS と統合されます。

Distributed Cloud Connected は、定期的なスケジュールで LUKS と SED のパスフレーズを自動的にローテーションします。

また、Distributed Cloud に接続された各マシンは、コールド スタートごとに次の処理を行います。

  • Cloud KMS を使用していない場合、マシンは新しい KEK(LUKS パスフレーズ)を生成し、最初から暗号化されたストレージを設定します。

  • Cloud KMS を使用している場合、マシンは Cloud KMS から KEK を取得し、データを保持する既存の論理ボリュームをロック解除します。

ローカル ストレージの顧客管理の暗号鍵(CMEK)のサポートを有効にする

Cloud KMS と Distributed Cloudconnected の統合を有効にするには、次の操作を行います。

  1. Distributed Cloud Connected で使用する鍵リング、対称鍵、1 つ以上の鍵バージョンを作成します。これらのアーティファクトは、Distributed Cloud 接続インストールと同じ Google Cloud リージョンに作成する必要があります。手順については、鍵を作成するをご覧ください。

  2. Google Cloud プロジェクトの Distributed Cloud 接続サービス アカウントに Cloud KMS CryptoKey の暗号化/復号のロールroles/cloudkms.cryptoKeyEncrypterDecrypter)を付与します。この操作は、Distributed Cloud Connected で使用する各鍵バージョンに対して行う必要があります。Distributed Cloud 接続インストールを Cloud KMS と統合した後にこのロールを取り消すと、Distributed Cloud 接続マシンに保存されているデータにアクセスできなくなります。

  3. --local-disk-kms-key フラグを使用してノードプールを作成し、そのノードプールで使用する鍵バージョンの完全パスを指定します。

  4. --control-plane-kms-key フラグを使用してクラスタを作成し、クラスタのコントロール プレーンを実行するノードで使用する鍵バージョンのフルパスを指定します。

  5. 必要に応じて、クラスタの作成時に --offline-reboot-ttl フラグを使用して、クラスタが存続性ノードで実行されている間に再起動されたノードがクラスタに再参加できる時間枠を指定します。このウィンドウを指定しない場合、再起動されたノードは存続モードを終了するまでクラスタに再参加できません。

    注意: 再起動タイムアウト ウィンドウを指定すると、指定した時間内にストレージ キーを無効にしたり削除したりしても、オフラインになったノードが再起動してクラスタに再参加する可能性があります。

詳細については、Cloud KMS ドキュメントの顧客管理の暗号鍵(CMEK)をご覧ください。

データの復元とバックアップ

お客様は、Distributed Cloud 接続ハードウェアに保存することを選択したすべてのデータの機能する冗長バックアップを維持し、Distributed Cloud 接続ハードウェアを Google またはハードウェアを販売した Google パートナーのシステム インテグレーター(SI)に返却することを選択したときに、そのデータをエクスポートする責任を負います。

Distributed Cloud 接続ハードウェアで障害が発生し、Google または Google のパートナー SI がオンサイト修理を行う場合、サービス対象の Distributed Cloud 接続マシンからすべてのストレージ メディアが取り外され、修理期間中はお客様の管理下に置かれるか、安全にワイプされてから破棄されます。

Google のパートナー SI から Distributed Cloud ハードウェアを購入し、Distributed Cloud を使用しなくなったが、ハードウェアを保持して再利用することを選択した場合、SI は廃止時に Distributed Cloud ハードウェアからすべての Google ソフトウェアとデータを消去します。

ネットワーク セキュリティ

Distributed Cloud 接続ハードウェアと Google Cloud間のネットワーク トラフィックは、MASQUE トンネルまたはマシンごとの証明書を使用する TLS のいずれかを使用して暗号化されます。Distributed Cloud connected は、定期的なスケジュールでこれらの証明書を自動的にローテーションします。

ビジネス要件と組織のネットワーク セキュリティ ポリシーによって、Distributed Cloud 接続インストールに出入りするネットワーク トラフィックを保護するために必要な手順が規定されます。また、次のことをおすすめします。

  • Distributed Cloud 接続の組み込みロードバランサによって公開されている仮想 IP アドレスプールと Distributed Cloud サブネットワークへのインバウンド接続のみを許可します。

  • システム管理レイヤとサービス管理レイヤを提供するサブネットワークへの外部ネットワーク リソースからのインバウンド接続を禁止します。

  • 外部ネットワーク リソースからローカル コントロール プレーン エンドポイントの IP アドレスへのインバウンド接続を禁止します。詳細については、生存モードをご覧ください。

Distributed Cloud ハードウェアを接続するためのローカル ネットワークの準備方法については、ネットワーキングをご覧ください。

マルチラック デプロイの場合、Distributed Cloud Connected は、ベースラックのアグリゲータ スイッチとスタンドアロン ラックの ToR スイッチ間のイーサネット フレーム レベルでレイヤ 2 メディア アクセス制御(MAC)セキュリティ(L2 MACsec)をサポートします。

Distributed Cloud Connected は、MACsec を使用してイーサネット デバイスを認証し、送信された各イーサネット フレームの完全性を検証し、送信された各フレームを暗号化します。

これには、イーサネット トラフィックのフローが許可される前に、イーサネット トランスポート セッションに関与するすべてのデバイス間で検証される一連のキーを確立することが含まれます。鍵合意が検証されると、送信者は、送信される各イーサネット フレームにセキュリティ タグと完全性チェック値をタグ付けし始めます。受信者は、各フレームの受信時にこれらを検証します。

MACsec が構成された各デバイスは、接続アソシエーション(CA)によって認証され、関連付けられている必要があります。CA メンバーは、長寿命の CA 鍵(CAK)を使用してネットワーク上で自身を識別します。CAK は、CA メンバーがネットワーク上の別の CA メンバーとデータを交換する必要があるたびに、セッション暗号鍵の生成に使用されます。

Distributed Cloud コネクテッドの MACsec ポリシー

Distributed Cloud connected は、ベースラック アグリゲータ スイッチとスタンドアロン ラック ToR スイッチ間のすべてのイーサネット リンクに次の MACsec ポリシーを適用します。これらのポリシーは変更または無効にできません。

MACsec 構成

暗号鍵を含む Distributed Cloud 接続の MACsec 構成はすべて Google によって管理されます。

Distributed Cloud connected では、すべての内部イーサネット リンクで暗号化されていないパケットが許可されません。MACsec セッションを正常にネゴシエートできない場合、影響を受けるイーサネット リンクは自動的にダウンします。

MACsec キーチェーン

MACsec キーチェーンは、特定のイーサネット リンクに必要なすべての鍵を保持するキーストアです。バンドル インターフェース用に一意のキーチェーンが作成されます。各キーチェーンには、4 つの主キーと 1 つのフォールバック キーが保持されます。各プライマリ キーの有効性は 25% です。

MACsec フォールバック

Distributed Cloud Connected は、各内部イーサネット リンクの 4 つのプライマリ キーに加えて、MACsec フォールバック キーを構成します。Distributed Cloud Connected が主キーを使用して MACsec セッションをネゴシエートできない場合、フォールバック キーを使用してフォールバック セッションをネゴシエートしようとします。フォールバック キーに有効期限はありません。

MACsec 鍵のローテーション

Distributed Cloud 接続アグリゲータと ToR スイッチは、プライマリ MACsec 鍵の有効期限が切れると、すぐにローテーションします。安全な鍵のローテーションを確保するため、ローテーション内の各鍵の有効期間は 5 日間重複しています。

MACsec Secure Association Key

Distributed Cloud Connected は、ランダムに生成された MACsec セキュア アソシエーション キー(SAK)を使用して、内部イーサネット リンクで伝送されるすべてのイーサネット フレームを暗号化します。Distributed Cloud Connected は、拡張パケット番号(XPN)を使用してボリューム ベースの再キー設定を行います。SAK は 6 時間ごとに再生成されます。

次のコマンドを使用して、スタンドアロン ラックのベースラック アグリゲータ スイッチと ToR スイッチ間の特定のイーサネット リンクの MACsec ステータスを確認します。

gcloud edge-cloud networking networks get-status default --location=REGION --zone=us-ZONE_NAME

次のように置き換えます。

  • REGION: ターゲットGoogle Cloud プロジェクトが作成された Google Cloud リージョン。
  • ZONE_NAME: ターゲットの Distributed Cloud 接続ゾーンの名前。

このコマンドでは、次のような出力が返されます。

result:
  macsecStatusInternalLinks: SECURE

リンク ステータスが取り得る値は次のとおりです。

  • SECURE - ターゲット リンクで MACsec セッションが稼働中です。
  • UNSECURE - ターゲット リンクで MACsec セッションがダウンしています。

次のステップ