20.2. TLS と SSL を使用したリモート管理

TLS と SSL を使用して仮想マシンを管理することができます。TLS と SSL は より大きい拡張性を能えてくれますが、ssh よりも複雑です(「SSH を使用したリモート管理」 参照)。TLS と SSL は安全な接続用にウェブブラウザで 使用されている技術と同じです。libvirt 管理接続は 来信の接続用に TCP ポートを開きますが、それは x509 証明書を基にした安全な暗号化と認証を持っています。 更には、各ゲスト仮想マシン用の VNC コンソールは x509 証明書の認定を持つ TLS を 使うようにセットアップされます。
この方法は管理されているリモートマシン上にシェルアカウントを必要としません。 しかし、管理サービスや VNC コンソールにアクセスするために余分のファイアウォールルールが 必要になります。証明書剥奪一覧によりユーザーのアクセスを剥奪することが可能です。
virt-manager 用に TLS/SSL アクセスをセットアップする手順

以下の短いガイドはユーザーが初めての試みをしていること、及び TLS/SSL 証明書の 知識を持っていないことを想定しています。ユーザーが幸運にも証明書管理サーバーを 所有している場合は、最初のステップは多分飛ばすことができるでしょう。

libvirt サーバーセットアップ
証明書の作成についての詳細には、libvirt website, http://libvirt.org/remote.html を参照して下さい。
Xen VNC サーバー
Xen VNC サーバーは設定ファイル /etc/xen/xend-config.sxp を 編集することにより TLS を有効にすることができます。設定ファイル内の (vnc-tls 1) 設定パラメータのコメント化を外します。
/etc/xen/vnc ディレクトリは以下の3つのファイルが必要です:
  • ca-cert.pem - CA 証明書
  • server-cert.pem - CA によって署名されたサーバー証明書
  • server-key.pem - サーバープライベートキー
これがデータチャンネルの暗号化を提供します。 クライアントが認証の形式としてそれ自身の x509 証明書を提示することを要求するのが妥当 でしょう。これを可能にするには、(vnc-x509-verify 1) パラメータの コメント化を外します。
virt-managervirsh のクライアントセットアップ
クライアントのセットアップは少しここでは不均等です。TLS を介して libvirt 管理 API を有効にするには、CA と クライアントの証明書が /etc/pki 内に 配置されなければなりません。この詳細に関しては http://libvirt.org/remote.html をご覧下さい。
ホストに接続する時には、virt-manager ユーザーインターフェイス内で、 SSL/TLS トランスポートメカニズムオプションを使用します。
virsh 用に URI は以下のような形式を持ちます:
  • KVM 対応の qemu://hostname.guestname/system
  • Xen 対応の xen://hostname.guestname/ .
VNC 用に SSL と TLS を有効にするには、証明書権限とクライアント証明書を、 $HOME/.pki に入れる必要があります。それは以下の 3つのファイルです:
  • CA 又は、ca-cert.pem - CA 証明書
  • libvirt-vnc 又は clientcert.pem - CA によって署名されたクライアント証明書。
  • libvirt-vnc 又は clientkey.pem - クライアントのプライベートキーです。