付録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
にあると仮定しています。
現在の
apache.p12
ファイルをバックアップします。# cp -p /etc/pki/ovirt-engine/keys/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12.bck
現在のファイルを新しいファイルに置き換えます。
# cp /tmp/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12
秘密鍵と証明書を必要な場所に抽出します。ファイルがパスワードで保護されている場合は、
-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 証明書の置き換え
セルフホストエンジンを使用している場合は、環境をグローバルメンテナーンスモードにします。
# hosted-engine --set-maintenance --mode=global
詳細は、「セルフホストエンジンの保守」 を参照してください。
CA 証明書をホスト全体のトラストストアに追加します。
# cp /tmp/3rd-party-ca-cert.pem /etc/pki/ca-trust/source/anchors # update-ca-trust
Manager は、
/etc/pki/ovirt-engine/ca.pem
にシンボリックリンクされている/etc/pki/ovirt-engine/apache-ca.pem
を使用するように設定されています。シンボリックリンクを削除します。# rm /etc/pki/ovirt-engine/apache-ca.pem
CA 証明書を
/etc/pki/ovirt-engine/apache-ca.pem
として保存します。# cp /tmp/3rd-party-ca-cert.pem /etc/pki/ovirt-engine/apache-ca.pem
既存の秘密鍵と証明書をバックアップします。
# 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
秘密鍵を必要な場所にコピーします。
# cp /tmp/apache.key /etc/pki/ovirt-engine/keys/apache.key.nopass
秘密鍵の所有者を root に設定し、パーミッションを
0640
に設定します。# chown root:ovirt /etc/pki/ovirt-engine/keys/apache.key.nopass # chmod 640 /etc/pki/ovirt-engine/keys/apache.key.nopass
証明書を必要な場所にコピーします。
# cp /tmp/apache.cer /etc/pki/ovirt-engine/certs/apache.cer
Apache サーバーを再起動します。
# systemctl restart httpd.service
次のパラメーターを使用して、新しいトラストストア設定ファイル
/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=""
/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
websocket-proxy
サービスを再起動します。# systemctl restart ovirt-websocket-proxy.service
-
/etc/ovirt-provider-ovn/conf.d/10-setup-ovirt-provider-ovn.conf
ファイルを手動で変更した場合、または古いインストールの設定ファイルを使用している場合は、Manager がまだ、/etc/pki/ovirt-engine/apache-ca.pem
を証明書ソースとして使用するように設定されていることを確認してください。 次の内容の新しいファイル
/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
ovirt-provider-ovn
サービスを再起動します。# systemctl restart ovirt-provider-ovn.service
ovirt-engine
サービスを再起動します。# systemctl restart ovirt-engine.service
セルフホストエンジンを使用している場合は、グローバルメンテナーンスモードをオフにします。
# hosted-engine --set-maintenance --mode=none
これで、HTTPS トラフィックの暗号化に使用される証明書の信頼性に関する警告が表示されることなく、ユーザーは管理ポータルと VM ポータルに接続できます。