既存証明書の置き換え
既存証明書を置き換えて、環境のセキュリティーを強化できます。
この手順では、既知の認証局 (CA) から署名済みのサーバー証明書を受け取る必要があります。ブラウザーは、IBM® Cloud Orchestrator ユーザー・インターフェースをブラウズするときに、この証明書を検査します。初期状態では、IBM Cloud Orchestrator のインストール時にインストールされた自己署名証明書がありますが、この検証チェーンの末尾は既知の CA ではないため、ブラウザーの応答が証明書例外となります。ルート証明書も自己署名証明書ですが、サーバー証明書への署名に有効な CA が使用されていれば、CA は既知です。CA が署名済みサーバー証明書とともに配布するルート証明書および中間証明書は、署名者証明書 と呼ばれます。
openssl x509 -noout -text -in <fully_qualified_path_to_certificate>
セルフサービス・ユーザー・インターフェースは、中央の IBM HTTP Server によって提供されます。これがメインのエントリー・ポイントであるため、証明書を置き換えるには、CMS で暗号化された IBM HTTP Server 鍵データベースである key.kdb
を含む /opt/ibm/ico/HTTPServer/bin
ディレクトリーから開始します。
証明書の交換は複雑な処理であるため、ある程度の背景知識が必要です。エラーが発生した場合は、/opt/ibm/ico/HTTPServer/logs/error_log
ファイルを参照してトラブルシューティングしてください。内容のリスト、証明書の削除、証明書要求の作成、署名者証明書の追加、および個人証明書の受信を行うには、ikeycmd
または ikeyman
の各ユーティリティーを使用します。ikeyman
ユーザー・インターフェースを使用するには、実行中の X サーバーが必要です。どちらのユーティリティーでも、必要な操作に使用するオプションは同じです。ikeyman
ユーティリティーがデフォルトで受け入れる証明書拡張子は arm
ですが、証明書ファイルを表す他のすべての拡張子も使用できます。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -keydb -list
現在サポートされている鍵データベースの暗号化タイプが表示されます。以下に例を示します。
CMS
JKS
JCEKS
PKCS12
PKCS12S2
PKCS11Direct
少なくとも CMS
タイプと PKCS12
タイプがリストされている必要があります。CMS
がリストされていない場合、すべてのコマンドで /opt/ibm/ico/HTTPServer/bin/gskcmd
プログラムを使用してください。
ikeycmd
コマンドを呼び出す必要があります。/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd
鍵ストア・パスワードのディスカバー
IBM HTTP Server により使用される SSL 証明書は、証明書ストアと呼ばれるファイルに格納されています。このファイルはパスワードで保護されています。デフォルトでは、このパスワードは IBM Cloud Orchestrator のインストール時に設定されたマスターの管理者パスワードの値に設定されています。
IBM HTTP Server 鍵データベースの準備
- IBM Cloud Orchestrator サーバーにログインし、
su
コマンドを使用してroot
特権を取得します。 - /opt/ibm/ico/HTTPServer/bin ディレクトリーに移動します。
- 既存の証明書ストアを、以下のコマンドでバックアップします。
cp key.kdb key.kdb.bak
- 鍵ストア・パスワードが機能することを確認し、次のように証明書ストア内の証明書のリストを取得します。
出力には 2 つの証明書が表示されます。1 番目の証明書の名前は、IBM Cloud Orchestrator サーバーの仮想アドレスの完全修飾ドメイン名 (FQDN) です。この名前をメモしておきます。以下のステップで/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -list -db key.kdb -pw <password>
<ico_server_fqdn>
を指定する場合に、この名前を入力する必要があるためです。2 番目の証明書の名前は、長い数値ラベルで始まり、その後に多数のパラメーターが続きます。これは、IBM HTTP Server が、セルフサービス・ユーザー・インターフェースに、ポート7443
でトラフィックを転送するために使用する内部証明書です。この証明書を変更および削除してはいけません。 - 以下のコマンドを実行して、既存の SSL 証明書を削除します。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -delete -label <ico_server_fqdn> ¥ -db key.kdb -pw <password>
- IBM Cloud Orchestrator サーバーのセキュリティー証明書をまだ保持していない場合は、以下の手順を実行します。
- 以下のコマンドを実行して、証明書要求を作成します。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -certreq -create -label <ico_server_fqdn> ¥ -dn "CN=<fqdn>,O=<your organization>,OU=<your division>,C=<your country code>" ¥ -db key.kdb -file certreq_ico.arm -pw <password> -size 2048 -sig_alg SHA256WithRSA
- 現行ディレクトリーで certreq_ico.arm ファイルを特定し、署名を受けるために認証局 (CA) にアップロードします。
- 以下のコマンドを実行して、証明書要求を作成します。
新しい証明書のインストール
- IBM HTTP Server 鍵データベースの準備の手順のステップ 6 を実行して証明書要求を生成した場合は、CA から署名済み証明書が返されたら、それを cert_ico.arm としてダウンロードします。ルート CA 証明書と中間 CA 証明書もダウンロードします。必要なルート CA 証明書と中間 CA 証明書について詳しくは、認証局のオンライン・ヘルプを参照してください。
- 以下のコマンドを証明書ごとに実行して、ルート CA 証明書と中間 CA 証明書をインポートします。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -add -db key.kdb ¥ -pw <password> -file <downloaded_root_or_intermediate_certificate>
注: ルート CA 証明書と中間 CA 証明書は自己署名証明書であり、完全依存チェーン内の署名済み証明書をブラウザーが CA に対して検証できるように、鍵データベースに保管する必要があります。ikeyman
ユーザー・インターフェースを使用している場合は、署名済み証明書のカテゴリーを選択します。 - 以下のいずれかのアクションを実行します。
- IBM HTTP Server 鍵データベースの準備の手順のステップ 6 を実行して証明書要求を生成した場合は、以下のコマンドを実行して、新規 SSL 証明書を追加します。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -receive ¥ -db key.kdb -pw <password> -file cert_ico.arm
注: 要求したすべての証明書は個人証明書であるため、ikeyman
ユーザー・インターフェースを使用している場合は、これらの証明書を個人証明書カテゴリーに分類する必要があります。これらの証明書は、一致する要求がkey.kdb
内にある場合にのみ受信できます。要求をリストするには、以下のコマンドを使用します。
各別名について要求を 1 つだけ生成するようにしてください。/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -certreq -list -db key.kdb -pw <password>
- IBM Cloud Orchestrator サーバーのセキュリティー証明書が既に存在する場合は、以下のコマンドを実行して、これを鍵データベースに追加します。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -import -target key.kdb ¥ -pw <password> -file <ico_server_certificate_file>
- IBM HTTP Server 鍵データベースの準備の手順のステップ 6 を実行して証明書要求を生成した場合は、以下のコマンドを実行して、新規 SSL 証明書を追加します。
- 以下のコマンドを実行して、証明書が証明書ストアに追加されたか確認します。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -list -db key.kdb -pw <password>
- 以下のコマンドを実行して、IBM Cloud Orchestrator サーバーの証明書をデフォルトの証明書にします。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -setdefault ¥ -db key.kdb -pw <password> -label <ico_server_fqdn>
- 以下のコマンドを実行してデフォルトの証明書を確認し、証明書の有効期限についてのリマインダーをカレンダーに追加します。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -getdefault -db key.kdb -pw <password>
- インポートした IBM Cloud Orchestrator サーバーの個人証明書の検証パスをテストするには、以下のコマンドを実行します。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -validate ¥ -db key.kdb -pw <password> -label <ico_server_fqdn>
注: 検証が正常に行われない場合は、証明書チェーンが破損しています。問題を解決するまで、以降の手順に進まないでください。ikeyman
ユーザー・インターフェースを使用して検証をテストすることもできます。 - 以下のコマンドを実行することにより、IHS サービスを再始動します。
systemctl restart ihs
2 次IBM Cloud Orchestrator サーバー上の証明書の更新
- 2 次 IBM Cloud Orchestrator サーバーにログインし、su コマンドを使用して root 権限を取得します。
- /opt/ibm/ico/HTTPServer/bin/ ディレクトリーに移動します。
- 以下を実行して、既存の証明書ストアのバックアップを作成します。
cp key.kdb key.kdb.bak
. - 以下のコマンドを実行して、証明書ストアを 1 次ノードから 2 次ノードにコピーします。
scp <ico_primary_node_hostname>:/opt/ibm/ico/HTTPServer/bin/key.kdb
WebSphere トラストストアおよび鍵ストアの更新
- WebSphere コンソールにログオンします。ブラウザーを使用して
https://<ico_server_fqdn>:9043/ibm/console
にアクセスします。ユーザー ID は
bpm_admin
、パスワードは IBM Cloud Orchestrator をインストールしたときに指定したマスター・パスワードです。 - 以下の手順を実行して、WebSphere セルのデフォルト鍵ストアの署名者情報を取得します。
- 「セキュリティー」>「SSL 証明書および鍵管理」にナビゲートします。
- 「構成設定」で、「エンドポイント・セキュリティー構成の管理」をクリックします。
- 適切なアウトバウンド構成を選択して、
(cell):PCCell1
管理スコープに移動します。 - 「関連項目」で、「鍵ストアと証明書」をクリックし、「CellDefaultTrustStore」鍵ストアをクリックします。
- 「追加プロパティー」で、「署名者証明書」と「ポートから取得」をクリックします。
- 「ホスト」フィールドに
<ico_server_fqdn>
と入力し、「ポート」フィールドに「443」
と入力し、「別名」フィールドに「CA root chain certificate」
と入力します。 - 「署名者情報の取得」をクリックします。
- 証明書情報が信頼できる証明書のものであることを確認します。
- 「OK」をクリックします。
- 以下の手順を実行して、WebSphere セルのデフォルト鍵ストアの SSL 証明書を置き換えます。
- 「セキュリティー」>「SSL 証明書および鍵管理」にナビゲートします。
- 「鍵ストアと証明書」を選択します。
- ドロップダウン・リストでは、デフォルトの
「SSL 鍵ストア」
を保持します。 - 「CellDefaultTrustStore」 をクリックしてから「個人証明書」をクリックします。
- 前に要求した証明書の IBM Cloud Orchestrator サーバー FQDN に「別名」が一致する項目を選択し、「削除」を押します。
- 「インポート」をクリックします。
- 「鍵ストア・ファイル」を選択し、鍵ファイル名として
/opt/ibm/ico/HTTPServer/bin/key.kdb
と入力します。 - 「タイプ」を
「CMSKS」
に変更します。 - 鍵ストア・パスワードを入力します。
- 「鍵ストア別名の取得」をクリックします。
- ドロップダウン・リストから、IBM Cloud Orchestrator サーバーの FQDN と一致する証明書を選択します。
- 「インポートされた証明書別名」フィールドに、
<ico_server_fqdn>
と入力します。 - 「OK」をクリックします。
- 変更をマスター構成に直接「保存」します。
- WebSphere 環境内のすべての既存のトラストストアのために、ステップ 2 とステップ 3 を繰り返します。
- 以下の手順を実行して、WebSphere セルのデフォルト鍵ストアの署名者情報を取得します。
- 「セキュリティー」>「SSL 証明書および鍵管理」にナビゲートします。
- 「鍵ストアと証明書」をクリックします。
- ドロップダウン・リストでは、デフォルトの
「SSL 鍵ストア」
を保持します。 - 「CellDefaultKeyStore」をクリックしてから「署名者証明書」をクリックします。
- 「ポートから取得」をクリックします。
- 「ホスト」に <ico_server_fqdn>、「ポート」に「443」、「別名」に「root ca-chain」と入力して、「署名者情報の取得」をクリックします。
- 表示された情報が、サーバー証明書に署名した CA と一致することを確認します。
- 「OK」をクリックします。
- 以下の手順を実行して、WebSphere セルのデフォルト鍵ストアの SSL 証明書を置き換えます。
- 「セキュリティー」>「SSL 証明書および鍵管理」にナビゲートします。
- 「鍵ストアと証明書」をクリックします。
- ドロップダウン・リストでは、デフォルトの
「SSL 鍵ストア」
を保持します。 - 「CellDefaultKeyStore」 をクリックしてから「個人証明書」をクリックします。
- 前に要求した証明書の IBM Cloud Orchestrator サーバー FQDN に「別名」が一致する項目を選択し、「削除」を押します。
- 「インポート」をクリックします。
- 「鍵ストア・ファイル」を選択し、鍵ファイル名として
/opt/ibm/ico/HTTPServer/bin/key.kdb
と入力します。 - 「タイプ」を
「CMSKS」
に変更します。 - 鍵ストア・パスワードを入力します。
- 「鍵ストア別名の取得」をクリックします。
- ドロップダウン・リストから、IBM Cloud Orchestrator サーバーの FQDN と一致する証明書を選択します。
- 「インポートされた証明書別名」フィールドに、
<ico_server_fqdn>
と入力します。 - 「OK」をクリックします。
- 変更をマスター構成に直接「保存」します。
- WebSphere 環境内のすべての既存の鍵ストアのために、ステップ 5 とステップ 6 を繰り返します。
- 以下のコマンドを実行して、新しい証明書を
plugin-key.kdb
鍵データベースに追加します。/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -import -target ¥ /opt/ibm/ico/WebSphere/Plugins/config/ /plugin-key.kdb -target_pw WebAS ¥ -db /opt/ibm/ico/HTTPServer/bin/key.kdb -pw -type cms /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -setdefault -label ¥ -db /opt/ibm/ico/WebSphere/Plugins/config/ /plugin-key.kdb -pw WebAS
WebAS
は、plugin-key.kdb
鍵データベースのデフォルト・パスワードです。 - IBM Cloud Orchestrator の開始または停止の手順に従って、IBM Cloud Orchestrator サービスを再始動します。
IBM Business Process Manager での Process Designer のインストールと更新
上記の手順を実行すると、Process Designer インストール・ファイルのパッケージ化に使用される署名済み証明書、ルート証明書、および中間証明書を使用して、鍵ストアが更新されます。証明書を更新したら、Process Designer のインストール・パッケージをダウンロードします。Process Designer をインストールしたら、『Secure Socket Layer (SSL) を使用して Process Center にアクセスするように Process Designer を構成します』に記載された手順を実行します。