4.4. sVirt のラベル付け
SELinux の保護下にある他のサービスと同様に、sVirt はプロセスベースのメカニズム、ラベル、制限を使用してセキュリティーを強化し、ゲストインスタンスを制御します。ラベルは、現在実行中の仮想マシンに基づいて、システムのリソースに自動的に適用 (動的) されますが、管理者が手動で指定 (静的) して、特別な要件がある場合でも対応することができます。
ゲストの sVirt ラベルを編集するには、virsh edit guest_name コマンドを使用し、以下のセクションで説明されているように <seclabel> 要素を追加または編集します。<seclabel> は、ゲスト全体の root 要素として使用できます。または、指定のデバイスの特定の sVirt ラベルを選択するために <source> 要素のサブ要素として指定することもできます。
<seclabel> 要素の総合的な情報は、libvirt のアップストリームのドキュメント を参照してください。
4.4.1. sVirt ラベルのタイプ
次の表は、仮想マシンプロセス、イメージファイル、共有コンテンツなどのリソースに割り当てることができるさまざまな sVirt ラベルの概要を示しています。
タイプ | SELinux コンテキスト | 説明/効果 |
---|---|---|
仮想マシンプロセス | system_u:system_r:svirt_t:MCS1 | MCS1 は無作為に選択されたフィールドです。現在は、約 500,000 のラベルがサポートされています。 |
仮想マシンのイメージ | system_u:object_r:svirt_image_t:MCS1 | これらのイメージファイルやデバイスの読み取り/書き込みができるのは、同じ MCS1 フィールドが付いた svirt_t プロセスのみです。 |
仮想マシンの共有読み取り/書き込みコンテンツ | system_u:object_r:svirt_image_t:s0 | svirt_t プロセスはすべて、svirt_image_t:s0 のファイルおよびデバイスに書き込むことができます。 |
仮想マシンの共有読み取り専用コンテンツ | system_u:object_r:svirt_content_t:s0 | svirt_t プロセスはすべて、このラベルがついたファイル/デバイスを読み取ることができます。 |
仮想マシンのイメージ | system_u:object_r:virt_content_t:s0 | イメージが存在する場合に使用されるシステムのデフォルトラベル。svirt_t 仮想プロセスは、このラベルの付いたファイル/デバイスの読み取りはできません。 |