付録D Red Hat Virtualization および暗号化された通信

D.1. Red Hat Virtualization Manager CA 証明書の置き換え

警告

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

HTTPS 経由で接続しているユーザーに対して Red Hat Virtualization Manager を識別するように、組織のサードパーティー CA 証明書を設定できます。

注記

HTTPS 接続にサードパーティーの CA 証明書を使用しても、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 CA 証明書の置き換え に進みます。

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

内部 CA は、内部で生成されたキーおよび証明書を /etc/pki/ovirt-engine/keys/apache.p12 の 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 CA 証明書の置き換え

  1. セルフホストエンジンを使用している場合は、環境をグローバルメンテナーンスモードにします。

    # hosted-engine --set-maintenance --mode=global

    詳細は、「セルフホストエンジンの保守」 を参照してください。

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

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

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

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

    # 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
  6. 秘密鍵を必要な場所にコピーします。

    # cp /tmp/apache.key /etc/pki/ovirt-engine/keys/apache.key.nopass
  7. 秘密鍵の所有者を root に設定し、パーミッションを 0640 に設定します。

    # chown root:ovirt  /etc/pki/ovirt-engine/keys/apache.key.nopass
    # chmod 640 /etc/pki/ovirt-engine/keys/apache.key.nopass
  8. 証明書を必要な場所にコピーします。

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

    # systemctl restart httpd.service
  10. 次のパラメーターを使用して、新しいトラストストア設定ファイル /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=""
  11. /etc/ovirt-engine/ovirt-websocket-proxy.conf.d/10-setup.conf ファイルをコピーし、10 より大きいインデックス番号 (たとえば、99-setup.conf) に名前を変更します。新しいファイルに以下のパラメーターを追加します。

    SSL_CERTIFICATE=/etc/pki/ovirt-engine/certs/apache.cer
    SSL_KEY=/etc/pki/ovirt-engine/keys/apache.key.nopass
  12. websocket-proxy サービスを再起動します。

    # systemctl restart ovirt-websocket-proxy.service
  13. /etc/ovirt-provider-ovn/conf.d/10-setup-ovirt-provider-ovn.conf ファイルを手動で変更した場合、または古いインストールの設定ファイルを使用している場合は、Manager がまだ、/etc/pki/ovirt-engine/apache-ca.pem を証明書ソースとして使用するように設定されていることを確認してください。
  14. 次の内容の新しいファイル /etc/ovirt-engine-backup/engine-backup-config.d/update-system-wide-pki.sh を作成して、engine-backup を有効にして復元時にシステムを更新します。

    BACKUP_PATHS="${BACKUP_PATHS}
    /etc/ovirt-engine-backup"
    cp -f /etc/pki/ovirt-engine/apache-ca.pem
    /etc/pki/ca-trust/source/anchors/3rd-party-ca-cert.pem
    update-ca-trust
  15. ovirt-provider-ovn サービスを再起動します。

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

    # systemctl restart ovirt-engine.service
  17. セルフホストエンジンを使用している場合は、グローバルメンテナーンスモードをオフにします。

    # hosted-engine --set-maintenance --mode=none

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