Libvirt
ケルベロス認証プラグインがインストールされているかどうか調べるためには、pluginviewerを実行して、gssapiがリストされるか確認する必要がある。
次に、ケルベロス認証のレルムの管理者は、プリンシプルをlibvirtサーバ用に発行する必要がある。
プリンシプルは、ホスト毎に、libvirtdに対応して一つ割り当てる必要がある。
そして、プリンシプルは、libvirt/full.hostname@KERBEROS.REALMと名づける必要がある。
この作業は、通常kadmin.localコマンドをケルベロス認証サーバで実行して行われる。しかしながらケルベロス認証サーバによっては、サービスプリンシプルを設定するために他の方法が必要な場合もある。
一度生成されると、プリンシプルは、キータブとしてエクスポートされる。そしてlibvirtd向けには、/etc/libvirt/krb5.tabに設定される。
ケルベロス認証するlibvirtに接続したいアプリケーションがユーザプリンシプルを取得するためにkinitを実行する必要はほとんどない。 PAMがケルベロス認証向けに設定されている場合、デスクトップセッションにログインした時点で自動的に取得しているためである。
管理者は、libvirtdの認証方法を、ネットワークソケット毎に設定することができる。
この設定は、libvirtdの設定ファイル /etc/libvirt/libvirtd.confで行う。
そして、認証方法は、なし、POLKITそしてSASLの3つから選択することができる。
さらに、SASL機構は、将来さまざまなオプションを設定できるようになる予定である。
TCPソケットを平文のまま用いたlibvirtdは、標準でSASLを認証機構として用いる。
SASL機構は、標準では、Digest-MD5を用いる。これは、基本的なユーザ名とパスワード形式の認証である。
ケルベロス (Kerberos) 認証のシングルサインオンを有効にするには、libvirt用SASL設定ファイルを変更する必要がある。そのファイルは、/etc/sasl2/libvirt.confである。そして、mech_listパラメータは、digest-md5の代わりにgssapiに変更する必要がある。
もし、UNIXドメインソケットやTLSソケットに対してSASLが有効になっている場合、Kerberosは、SASLを使うことができる。DIGEST-MD5のように、ケルベロス認証機構は、セッションのデータ暗号化機構を提供する。
ディストリビューションによっては、SASL-Kerberosプラグインをデフォルトでインストールしない。この場合、cyrus-sasl-gssapiなどのパッケージをインストールすることが必要になる。
libvirtは仮想機械の制御を抽象化したライブラリである。 本ライブラリの特徴は、サポート範囲が広いことである。 サポートしている仮想化は、現在Xen、KVM、QEMU、LXC、OpenVZ、UML、VirtualBox、VMware ESX・GSX・Workstation・Player、Hyper-V、そしてクラスタ管理ソフトOpenNebulaである。 更なる対象仮想機械の拡大を目指して例えば、対応やLinux-VServerのサポートをどうするかなどが開発者メーリングリスト上で議論された。 また、様々な版数でのサポートも特徴である。たとえば、Xenのリリースされたさまざまな版(例えばXen3.1.0やXen3.0.3など)で動作する。またUnix系オペレーティングシステムだけでなく、Windows上でもMinGWやCygwinを使えば動作する。
libvirt自体が多くの種類の仮想化をサポートしていても、必ずしもlibvirtを利用しているアプリケーションが全ての仮想化をサポートしているというわけではなく、KVMやXenなどがlibvirtを利用しているアプリケーションのサポートの中心となっている。
またハードウェアプラットフォームに着目すると、CPUの場合、x86、x86-64、IA-64、POWERなどをサポートしており、ビット (32/64) およびエンディアンを問わない。
libvirtのQEMUドライバは0.8.1以降のQEMUを管理することができる。そして、このドライバはQEMUコマンド書式で制御できるいずれの仮想機械にも適用できる。QEMU形式のVMには、KVMとXennerが含まれる。
利用する前に必要な条件は以下の通りである。
QEMU: ドライバは/usr/bin以下のqemu, qemu-system-x86_64, qemu-system-mips, qemu-system-mipsel, qemu-system-sparc, qemu-system-ppcの存在をチェックする。チェック結果は、XMLファイルのcapabilityの項目で見ることができる。
KVM: ドライバは/usr/bin/qemu-kvmコマンドと/dev/kvmのデバイスノードの存在をチェックする。もし両方存在すれば、ハードウェア支援機構前提のゲストドメインを使うことができる。
Xenner: ドライバは/usr/bin/xennerコマンドと/dev/kvmのデバイスノードの存在をチェックする。もし両方存在すれば、Xen準仮想化ドメインをKVMを用いて使うことができる。