付録D Red Hat Virtualization と SSL

D.1. Red Hat Virtualization Manager の SSL/TLS 証明書の変更

警告

/etc/pki ディレクトリーおよびサブディレクトリーのパーミッションと所有権は変更しないでください。/etc/pki ディレクトリーおよび /etc/pki/ovirt-engine ディレクトリーのパーミッションはデフォルトの 755 のままにする必要があります。

自分の組織のサードパーティー CA 証明書を使用し、HTTPS を介して Red Hat Virtualization Manager に接続するユーザーに対して Manager が信頼できるサイトであることを証明する場合には、以下の手順を使用します。

注記

HTTPS 接続用にサードパーティー CA 証明書を使用しても、Manager とホスト間の認証に使用される証明書は影響を受けません。Manager によって生成された自己署名証明書が引き続き使用されます。

前提条件

  • サードパーティー CA 証明書。これは、使用する証明書を発行した CA (認証局) の証明書で、PEM ファイルとして提供されます。証明書チェーンは、ルート証明書まで完全でなければなりません。チェーンの順序は重要で、直近の中間証明書からルート証明書まで続いている必要があります。以下の手順では、サードパーティー CA 証明書が /tmp/3rd-party-ca-cert.pem として提供されているものとします。
  • Apache httpd に使用する秘密鍵 (パスワードが設定されていないこと)。以下の手順では、/tmp/apache.key として保管されているものとします。
  • CA の発行した証明書。以下の手順では、/tmp/apache.cer として保管されているものとします。

CA から秘密鍵と証明書を P12 ファイルで受け取っている場合は、以下の手順を使用して抽出します。その他のファイル形式については、CA に問い合わせてください。秘密鍵と証明書を抽出したら、「Red Hat Virtualization Manager Apache SSL 証明書の置き換え」に進みます。

P12 バンドルからの証明書と秘密鍵の抽出

内部 CA では、内部で生成した鍵および証明書が P12 ファイルとして /etc/pki/ovirt-engine/keys/apache.p12 に保管されます。Red Hat では、新しいファイルを同じ場所に保管することを推奨します。以下の手順では、新しい P12 ファイルを /tmp/apache.p12 と仮定しています。

  1. 現在の apache.p12 ファイルのバックアップを作成します。

    # cp -p /etc/pki/ovirt-engine/keys/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12.bck
  2. 現在のファイルを新しいファイルに置き換えます。

    # cp /tmp/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12
  3. 秘密鍵および証明書を所定の場所に抽出します。ファイルがパスワードで保護されている場合は、-passin pass:_password_ を追加する必要があります (password を実際のパスワードに置き換えてください)。

    # openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nocerts -nodes > /tmp/apache.key
    # openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nokeys > /tmp/apache.cer
重要

Red Hat Virtualization の新規インストールの場合には、以下の手順の全ステップを完了する必要があります。商用署名入り証明書が設定された Red Hat Enterprise Virtualization 3.6 環境からアップグレードした場合は、ステップ 1、8、9 を実行する必要があります。

Red Hat Virtualization Manager Apache SSL 証明書の置き換え

  1. CA 証明書をホスト全体のトラストストアに追加します。

    # cp /tmp/3rd-party-ca-cert.pem /etc/pki/ca-trust/source/anchors
    # update-ca-trust
  2. Manager は、/etc/pki/ovirt-engine/ca.pem へのシンボリックリンクである /etc/pki/ovirt-engine/apache-ca.pem を使用するように設定されているので、このシンボリックリンクを削除します。

    # rm /etc/pki/ovirt-engine/apache-ca.pem
  3. CA 証明書を /etc/pki/ovirt-engine/apache-ca.pem として保存します。

    # cp /tmp/3rd-party-ca-cert.pem /etc/pki/ovirt-engine/apache-ca.pem
  4. 既存の秘密鍵および証明書のバックアップを作成します。

    # cp /etc/pki/ovirt-engine/keys/apache.key.nopass /etc/pki/ovirt-engine/keys/apache.key.nopass.bck
    # cp /etc/pki/ovirt-engine/certs/apache.cer /etc/pki/ovirt-engine/certs/apache.cer.bck
  5. 秘密鍵を所定の場所にコピーします。

    # cp /tmp/apache.key /etc/pki/ovirt-engine/keys/apache.key.nopass
  6. 証明書を所定の場所にコピーします。

    # cp /tmp/apache.cer /etc/pki/ovirt-engine/certs/apache.cer
  7. Apache サーバーを再起動します。

    # systemctl restart httpd.service
  8. 新しいトラストストアの設定ファイルを作成します。

    # vi /etc/ovirt-engine/engine.conf.d/99-custom-truststore.conf

    以下の内容を追加して、ファイルを保存します。

    ENGINE_HTTPS_PKI_TRUST_STORE="/etc/pki/java/cacerts"
    ENGINE_HTTPS_PKI_TRUST_STORE_PASSWORD=""
  9. /etc/ovirt-engine/ovirt-websocket-proxy.conf.d/10-setup.conf ファイルを編集します。

    # vi /etc/ovirt-engine/ovirt-websocket-proxy.conf.d/10-setup.conf

    以下に示す変更を加えてファイルを保存します。

    SSL_CERTIFICATE=/etc/pki/ovirt-engine/apache.cer
    SSL_KEY=/etc/pki/ovirt-engine/keys/apache.key.nopass
  10. ovirt-provider-ovn サービスを再起動します。

    # systemctl restart ovirt-provider-ovn.service
  11. ovirt-engine サービスを再起動します。

    # systemctl restart ovirt-engine.service

HTTPS トラフィックの暗号化に使用する証明書の信頼性についての警告が表示されることなく、管理ポータルおよび VM ユーザーポータルに接続できるようになりました。