第10章 プロジェクトのデータのプライバシー
OpenStack は、異なるデータ要件を持つプロジェクト間のマルチテナンシーをサポートするように設計されています。クラウドオペレーターは、適用可能なデータのプライバシーに関する懸念点と規制を考慮する必要があります。本章では、OpenStack デプロイメントにおけるデータ保持および破棄の要素に対応しています。
10.1. データプライバシーの懸念
このセクションでは、OpenStack デプロイメントのデータプライバシーに関して発生する可能性のあるいくつかの懸念について説明します。
10.1.1. データ保持
データのプライバシーと分離は、過去数年にクラウド導入に対する主要なバリアとして、一貫して引用されています。クラウド内で誰がデータを所有するのか、クラウドオペレーターが究極的にこのデータの管理者として信頼できるかどうかの懸念が、これまで重大な問題となっていました。
特定の OpenStack サービスは、プロジェクトに属するデータおよびメタデータ、または参考プロジェクト情報にアクセスできます。たとえば、OpenStack クラウドに保存されるプロジェクトデータには、以下の項目が含まれます。
- Object Storage オブジェクト
- コンピュートインスタンスの一時ファイルシステムのストレージ
- コンピュートインスタンスのメモリー
- Block Storage ボリュームデータ
- Compute アクセス用の公開鍵
- Image サービスの仮想マシンイメージ
- インスタンスのスナップショット
- Compute の configuration-drive 拡張に渡されるデータ
OpenStack クラウドにより保存されるメタデータには、以下の項目が含まれます (このリストがすべてを網羅している訳ではありません)。
- 組織名
- ユーザーの「本名」
- 実行中のインスタンス、バケット、オブジェクト、ボリューム、およびその他のクォータ関連項目の数またはサイズ
- インスタンスの実行時間またはデータの保存時間
- ユーザーの IP アドレス
- コンピュートイメージのバンドル用に内部的に生成された秘密鍵
10.1.2. データの破棄
オペレーターは、廃棄の前に、組織の管理から外す前に、または再使用のために解放する前に、クラウドシステムメディア (デジタルおよび非デジタル) をサニタイズする必要があります。サニタイズ方法は、その情報の具体的なセキュリティードメインおよび機密性に対し、適切な強度および整合性のレベルを実装する必要があります。
NIST Special Publication 800-53 Revision 4 に、本トピックが具体的に説明されています。
The sanitization process removes information from the media such that the information cannot be retrieved or reconstructed. Sanitization techniques, including clearing, purging, cryptographic erase, and destruction, prevent the disclosure of information to unauthorized individuals when such media is reused or released for disposal.
クラウドオペレーターは、データ破棄およびサニタイズに関する一般的なガイドラインを開発する場合は、以下を考慮してください (NIST の推奨セキュリティー制御に基づく)。
- メディアサニタイズおよび破棄アクションを追跡、文書化、および検証する。
- サニタイズ機器と手順をテストして、適切なパフォーマンスを確認する。
- ポータブル、リムーバブルストレージデバイスデバイスをクラウドインフラストラクチャーに接続する前に、これらのデバイスをサニタイズする。
- サニタイズができないクラウドシステムメディアを破棄する。
その結果、OpenStack のデプロイメントで以下のプラクティスを対処する必要があります (一例)。
- セキュアなデータイレイジャー
- インスタンスメモリーのスクラブ
- Block Storage ボリュームデータ
- コンピュートインスタンスの一時ストレージ
- ベアメタルサーバーのサニタイズ
10.1.3. 安全に消去されないデータ
OpenStack の一部のデータは削除される可能性がありますが、上記の NIST 規格のコンテキストでは安全に消去されません。通常、これは、データベースに保存されている上記のメタデータと情報の多くまたはすべてに適用できます。これは、自動バキュームおよび定期的な空き領域の消去のためのデータベースやシステム設定で修正される可能性があります。
10.1.4. インスタンスメモリーのスクラブ
さまざまなハイパーバイザーに固有のことは、インスタンスメモリーの取り扱いです。一般に、インスタンスの削除時もしくは作成時に、またはその両方で、ハイパーバイザーはベストエフォートでメモリーのスクラブを行うと考えられますが、この動作は Compute では定義されません。
10.1.5. cinder ボリュームデータの暗号化
OpenStack のボリューム暗号化機能の使用を強くお勧めします。詳細は、下記「データの暗号化」セクションの「ボリュームの暗号化」で説明されています。この機能が使用される場合、暗号鍵を安全に削除することでデータの破棄が実行されます。エンドユーザーは、ボリュームの作成時にこの機能を選択できますが、管理者はまず 1 度限りのボリューム暗号化機能の設定を実行する必要があることに注意してください。
OpenStack のボリューム暗号化機能が使用されていない場合、他のアプローチは通常有効にすることが困難になります。バックエンドプラグインが使用されている場合は、独立した暗号化方法や標準以外の上書きソリューションある可能性があります。OpenStack Block Storage へのプラグインでは、さまざまな方法でデータを保管します。多くのプラグインはベンダーや技術に固有のものですが、その他はファイルシステム (LVM または ZFS など) に関するより DIY 的なソリューションです。データを安全に破棄する方法は、プラグイン、ベンダー、およびファイルシステムによって異なります。
一部のバックエンド (ZFS など) は、データの公開を防ぐためにコピーオンライトをサポートします。このような場合、書き込まれていないブロックから読み取ると、常にゼロを返します。他のバックエンド (LVM など) はこれをネイティブにサポートしていない可能性があるため、cinder プラグインは、ブロックをユーザーに渡す前に以前に書き込まれたブロックを上書きします。選択したボリュームバックエンドが提供する保証を確認することや、提供されない保証についてどのような修復が利用できるかを確認することが重要です。
10.1.6. Image サービスの削除遅延機能
Image サービスには削除遅延機能があり、定義された期間イメージの削除を保留します。この動作がセキュリティー上の問題である場合は、この機能を無効にすることを検討してください。glance-api.conf
ファイルを編集して delayed_delete
オプションを False
に設定すると、この機能を無効にすることができます。
10.1.7. Compute のソフト削除機能
Compute にはソフト削除機能があり、定義した期間、削除されるインスタンスをソフト削除状態にすることができます。この期間は、インスタンスを復元することができます。ソフト削除機能を無効にするには、/var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf
ファイルを編集し、reclaim_instance_interval
オプションを空のままにします。
10.1.8. コンピュートインスタンスの一時ストレージ
OpenStack の一時ディスク暗号化機能は、アクティブな使用時やデータが破棄される時において、一時ストレージのプライバシーと分離を改善する手段を提供する点に注意してください。暗号化されたブロックストレージの場合と同様に、暗号鍵を削除して、データを効果的に破棄できます。
一時ストレージの作成や破棄を行う際に、データのプライバシーを提供するその他の手段は、選択したハイパーバイザーとコンピュートプラグインによって異なります。
コンピュート用の libvirt ドライバーは、ファイルシステム上または LVM で一時ストレージを直接維持する場合があります。ダーティーエクステントがユーザーにプロビジョニングされないことは保証されますが、ファイルシステムストレージは通常、削除時にデータを上書きしません。
ブロックベースの LVM がサポートする一時ストレージを使用する場合は、情報の公開を防ぐために Compute ソフトウェアが安全にブロックを消去する必要があります。以前は、一時ブロックストレージデバイスの不適切な消去に関連する情報公開の脆弱性がありました。
ダーティーエクステントがユーザーにプロビジョニングされないため、ファイルシステムストレージは、一時ブロックストレージデバイスとして LVM よりもセキュアなソリューションです。ただし、ユーザーデータが破棄されないため、バッキングファイルシステムを暗号化することが推奨されます。