第21章 インスタンスのセキュリティーの管理

仮想化環境でインスタンスを実行する利点の 1 つは、通常ベアメタルへのデプロイ時に利用できないセキュリティー制御の新しい機会です。OpenStack デプロイメントの情報セキュリティーを向上させる特定のテクノロジーを仮想化スタックに適用できます。セキュリティー要件が強固な運用者は、これらの技術のデプロイを検討する必要がある場合がありますが、すべての状況に該当する訳ではありません。場合によっては、規定されたビジネス要件により、クラウドでの使用にテクノロジーを除外できる場合があります。同様に、一部の技術は、動作状態などのインスタンスデータを検査しますが、システムのユーザーにとって望ましくない可能性があります。

本章では、これらのテクノロジーと、インスタンスまたは基盤のノードのセキュリティーを強化するために使用できる状況について説明します。プライバシーの懸念事項も詳しく説明します。これには、データパススルー、イントロスペクション、またはエントロピーソースが含まれます。

21.1. インスタンスへのエントロピーの提供

エントロピーとは、インスタンスで利用可能なランダムデータの質とソースのことです。暗号技術は一般的にランダム性に依存しており、エントロピーのプールから抽出する必要があります。エントロピーの枯渇は、暗号技術に必要なランダム性をサポートするのに十分なエントロピーをインスタンスが得られない場合に起こります。エントロピーの枯渇は、一見すると関係のないものとして現れることがあります。たとえば、インスタンスが SSH キーの生成を待機していることが原因で、起動時間が遅くなる可能性があります。また、エントロピーが枯渇すると、クラウドのユーザーがインスタンス内の質の悪いエントロピーソースを使用することになり、クラウド上で動作するアプリケーションの安全性が低下します。

高品質のエントロピー源をインスタンスに提供するためには、インスタンスをサポートするのに十分な数のハードウェア乱数生成器 (HRNG) がクラウドに必要です。日常的な運用であれば、最新の HRNG は 50 ~ 100 台の Compute ノードをサポートするのに十分なエントロピーを生成することができます。高帯域の HRNG は、より多くのノードを扱うことができます。十分なエントロピーを確保するためには、クラウドのアプリケーション要件を特定する必要があります。

VirtIO RNG は、デフォルトで /dev/urandom をエントロピーソースとして使用する乱数生成器で、起動時にインスタンスでエントロピーが枯渇しないようにします。また、デプロイメント全体でエントロピーを配布する方法を提供するために、HRNG またはエントロピー収集デーモン (EGD) などのツールを使用するように設定することもできます。Virtio RNG デバイスは、インスタンスのデフォルトで有効になっています。インスタンスで Virtio RNG デバイスを無効にするには、インスタンスフレーバーで hw_rng:allowedFalse に設定する必要があります。