付録E Red Hat Virtualization と暗号化された通信

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

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

Manager とホスト間の認証、または ディスク転送 URL には、サードパーティーの CA 証明書は使用されません。これらの HTTPS 接続は、Manager によって生成された自己署名証明書を使用します。

重要

カスタム HTTPS 証明書に切り替える場合は、独自の CA 証明書ディストリビューションを使用して、その証明書をクライアントで利用可能にする必要があります。

Red Hat Satellite と統合する場合は、正しい証明書を Satellite に手動でインポートする必要があります。

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

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

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

警告

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

手順

  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. 秘密鍵と証明書を必要な場所に抽出します。

    # 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

    ファイルがパスワードで保護されている場合は、コマンドに -passin pass: password を追加し、password を必要なパスワードに置き換えます。

重要

Red Hat Virtualization の新規インストールでは、この手順のすべてのステップを完了する必要があります。

E.1.2. Red Hat Virtualization Manager の Apache CA 証明書の置き換え

HTTPS 経由で管理ポータルおよび VM ポータルに接続するユーザーを認証するように、組織のサードパーティー CA 証明書を設定します。

警告

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

前提条件

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

手順

  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. 証明書の所有者を root に設定し、パーミッションを 0644 に設定します。

    # chown root:ovirt /etc/pki/ovirt-engine/certs/apache.cer
    # chmod 644 /etc/pki/ovirt-engine/certs/apache.cer
  10. Apache サーバーを再起動します。

    # systemctl restart httpd.service
  11. 次のパラメーターを使用して、新しいトラストストア設定ファイル /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=""
  12. /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
  13. websocket-proxy サービスを再起動します。

    # systemctl restart ovirt-websocket-proxy.service
  14. /etc/ovirt-provider-ovn/conf.d/10-setup-ovirt-provider-ovn.conf ファイルを手動で変更した場合、または古いインストールの設定ファイルを使用している場合は、Manager がまだ、/etc/pki/ovirt-engine/apache-ca.pem を証明書ソースとして使用するように設定されていることを確認してください。
  15. /etc/ovirt-engine-backup/engine-backup-config.d ディレクトリーを作成します。

    # mkdir -p /etc/ovirt-engine-backup/engine-backup-config.d
  16. 以下の内容で /etc/ovirt-engine-backup/engine-backup-config.d/update-system-wide-pki.sh ファイルを作成します。これにより、ovirt-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
  17. ovirt-provider-ovn サービスを再起動します。

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

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

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

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

ユーザーは、証明書の警告を表示することなく、管理ポータルと VM ポータルに接続できるようになりました。