4.3.2.2. 仮想ハードウェア (QEMU)

仮想マシンを実行する場合、仮想ハードウェアは、仮想マシンのハードウェアインターフェイスを提供するソフトウェアレイヤーです。インスタンスはこの機能を使用して、必要になる可能性のあるネットワーク、ストレージ、ビデオ、およびその他のデバイスを提供します。これを念頭に置いて、環境内のほとんどのインスタンスは仮想ハードウェアのみを使用しますが、ハードウェアに直接アクセスする必要がある少数のインスタンスもあります。必要なハードウェアのみをプロビジョニングすることをお勧めします。たとえば、CD ドライブが必要ない場合は、プロビジョニングする必要はありません。

iptables にネットワークトラフィックをフィルターリングするように構成されたデフォルトのポリシーがあることを確認し、既存のルールセットを調べて各ルールを理解し、ポリシーを拡張する必要があるかどうかを判断することを検討してください。

QEMU プロセスの権限を制限し、必要なものだけに制限すると、強制アクセス制御により、攻撃が試行される影響を制限します。Red Hat OpenStack Platform では、SELinux は、個別のセキュリティーコンテキストで各 QEMU プロセスを実行するように設定されます。Red Hat OpenStack Platform サービス用に SELinux ポリシーが事前設定されています。

OpenStack の SELinux ポリシーでは、ハイパーバイザーホストと仮想マシンを 2 つの主要な脅威ベクトルから保護するのに役立ちます。

  • ハイパーバイザーの脅威: ハイパーバイザーが基礎となるリソースにアクセスするためにハイパーバイザーを攻撃する、危険にさらされるアプリケーション。たとえば、仮想マシンがハイパーバイザー OS、物理デバイス、またはその他のアプリケーションにアクセスできる場合。この脅威ベクトルは、ハイパーバイザーで危険にさらされるリスクを表し、他の仮想マシンおよびネットワークセグメントを公開することも可能となります。
  • 仮想マシン (multi-project) の脅威: ハイパーバイザーが、別の仮想マシンとそのリソースにアクセスしたり、制御したりするために、VM 攻撃内で実行される、危険にさらされたアプリケーションです。これは、仮想化に固有の脅威ベクトルであり、1 つのアプリケーションの脆弱性により、仮想マシンファイルイメージの多重化のリスクにさらされる可能性があるためです。この仮想ネットワーク攻撃は、実際のネットワークを保護する管理手法が仮想環境に直接適用されないため、大きな懸念となります。KVM ベースの各仮想マシンは SELinux によってラベル付けされ、各仮想マシンのセキュリティー境界を効果的に確立します。このセキュリティー境界は Linux カーネルによって監視および実施され、ホストマシンのデータファイルや他の仮想マシンなど、仮想マシンの境界外にあるリソースへのアクセスを制限します。

Red Hat の SELinux ベースの分離は、仮想マシン内で実行されるゲストオペレーティングシステムに関係なく提供されます。Linux または Windows 仮想マシンを使用できます。