21.4.4 Web Consoleサーバのサーバ証明書をマネージャーホストで使用する場合のSSL通信の設定手順
Web Consoleサーバのサーバ証明書をマネージャーホストで使用する場合の,SSL通信の設定手順について説明します。
Web ConsoleサーバにSSL通信を設定するには,次の2つの設定が必要です。
-
マネージャーホストとWeb Consoleサーバの通信をSSL通信で暗号化する設定
-
Web Consoleサーバとクライアントホストの通信をSSL通信で暗号化する設定
各ホストの設定作業の流れを次の図に示します。
|
各ホストでの設定作業は,ホストにインストールしたコンポーネントの設定作業に加えて,通信先のコンポーネントの設定作業が必要です。
なお,この作業はJP1/AJS3システムを構成するすべてのホストで実施してください。SSL通信の有効・無効の異なるホストが混在すると,ホスト間通信がエラーになります。
- 〈この項の構成〉
(1) JP1/AJS3 - Web ConsoleがSSLで通信するための設定
JP1/AJS3 - Web ConsoleがSSLで通信するための設定作業について説明します。
(a) マネージャーホストとの通信をSSL通信で暗号化する設定
JP1/AJS3 - Web ConsoleがマネージャーホストとSSLで通信するための設定作業は,マネージャーホストとWeb Consoleサーバで異なるサーバ証明書を使用する場合の設定手順と同じです。詳細は,「21.4.3(2)(a) マネージャーホストとの通信をSSL通信で暗号化する設定」を参照してください。
(b) クライアントホストとの通信をSSL通信で暗号化する設定
JP1/AJS3 - Web ConsoleがクライアントホストとSSLで通信するための設定作業について説明します。
-
keygenコマンドを実行して,秘密鍵を作成する。
次のコマンドを実行してください。
keygen -rand 乱数生成に利用するファイル名 -out 秘密鍵ファイルのパス -bits 秘密鍵のビット長
秘密鍵ファイルのパスには次のパスを指定します。
- Windowsの場合
-
JP1/AJS3 - Web Consoleのインストール先フォルダ\uCPSB\httpsd\conf\ssl\server\秘密鍵ファイル名
- Linuxの場合
-
/opt/jp1ajs3web/uCPSB/httpsd/conf/ssl/server/秘密鍵ファイル名
keygenコマンドの詳細については,「付録E.1 秘密鍵の作成(keygen)」を参照してください。
なお,秘密鍵ファイル名は任意の値を指定できますが,あとの手順で設定するWebサーバ定義ファイル(httpsd.conf)には,デフォルトとしてhttpsdkey.pemが指定されています。このファイル名を使用すると,Webサーバ定義ファイルの秘密鍵ファイル名の設定を変更する必要がなくなります。
-
certutil reqgenコマンドを実行して,CSRを作成する。
次のコマンドを実行してください。
certutil reqgen -sign 署名アルゴリズム -key 秘密鍵ファイルのパス -out CSRファイルのパス
秘密鍵ファイルのパスには,手順1でkeygenコマンドに指定したパスを指定します。CSRファイルのパスには,任意の出力先フォルダとCSRファイル名を指定してください。
certutil reqgenコマンドの詳細については,「付録E.2 証明書発行要求(CSR)の作成(certutil reqgen)」を参照してください。
-
CAにCSRを送信する。
CAにCSRを送信すると,CAはサーバ証明書,およびサーバ証明書を検証するためのルート証明書を発行します。
-
CAからサーバ証明書およびルート証明書を取得する。
サーバ証明書およびルート証明書のファイル名は任意の値を指定できます。
あとの手順で設定するWebサーバ定義ファイル(httpsd.conf)には,サーバ証明書のデフォルトとしてhttpsd.pemが指定されています。このファイル名を使用すると,Webサーバ定義ファイルのサーバ証明書ファイル名の設定を変更する必要がなくなります。
また,取得したルート証明書は,JP1/AJS3 - ManagerがSSLで通信するための設定作業の際に利用します。
-
サーバ証明書を中間CAに発行してもらった場合で,サーバ証明書に中間証明書が含まれていないときは,中間CAから中間証明書を取得し,サーバ証明書と中間証明書を一つのファイルにまとめる。
サーバ証明書に中間証明書が含まれていないと,サーバ証明書の正当性を検証できません。サーバ証明書の正当性を検証するために,中間証明書を取得してください。
中間証明書を取得したら,サーバ証明書と中間証明書をテキストエディターで開いて,サーバ証明書の末尾に中間証明書の内容を貼り付けてください。
中間証明書が複数存在する場合は,証明書の階層構造に従って証明書を結合してください。
-
サーバ証明書をWeb Consoleサーバに配置する。
サーバ証明書の格納先フォルダを次に示します。
- Windowsの場合
-
JP1/AJS3 - Web Consoleのインストール先フォルダ\uCPSB\httpsd\conf\ssl\server
- Linuxの場合
-
/opt/jp1ajs3web/uCPSB/httpsd/conf/ssl/server
-
Webサーバ定義ファイル(httpsd.conf)を編集して,SSL通信を有効にする。
httpsd.confファイルのSSL通信設定部のコメントを解除して,SSL通信を有効にします。
Windowsの場合の変更例を次に示します。この例では,通信用のポート番号,サーバ証明書ファイル名,および秘密鍵ファイル名はデフォルトのまま(サーバ証明書:httpsd.pem,秘密鍵:httpsdkey.pem)として,コメントを示す「#」だけ編集しています。
変更前
: Listen 22252 #Listen [::]:22252 SSLDisable #Listen 22253 #Listen [::]:22253 #<VirtualHost *:22253> # ServerName MyServer # SSLEnable # SSLCertificateFile "C:/Program Files/HITACHI/JP1AJS3WEB/uCPSB/httpsd/conf/ssl/server/httpsd.pem" # SSLCertificateKeyFile "C:/Program Files/HITACHI/JP1AJS3WEB/uCPSB/httpsd/conf/ssl/server/httpsdkey.pem" #</VirtualHost> :
変更後
: #Listen 22252 #Listen [::]:22252 SSLDisable Listen 22253 #Listen [::]:22253 <VirtualHost *:22253> ServerName MyServer SSLEnable SSLCertificateFile "C:/Program Files/HITACHI/JP1AJS3WEB/uCPSB/httpsd/conf/ssl/server/httpsd.pem" SSLCertificateKeyFile "C:/Program Files/HITACHI/JP1AJS3WEB/uCPSB/httpsd/conf/ssl/server/httpsdkey.pem" </VirtualHost> :
なお,使用する環境で,SSL通信用ポート番号,サーバ証明書ファイル名,および秘密鍵ファイル名をデフォルトから変更している場合は,環境に合わせてこれらの設定値も変更してください。
httpsd.confファイルのデフォルト値は次のとおりです。
表21‒13 httpsd.confファイルのデフォルト値 項番
項目
デフォルト値
1
SSL通信用ポート番号
22253
2
サーバ証明書ファイル名
httpsd.pem
3
秘密鍵ファイル名
httpsdkey.pem
httpsd.confファイルの詳細については,「3.4.5 Webサーバ定義ファイル(httpsd.conf)の設定項目の詳細」(Windowsの場合),または「13.3.5 Webサーバ定義ファイル(httpsd.conf)の設定項目の詳細」(Linuxの場合)を参照してください。
-
Webサーバ定義ファイル(httpsd.conf)を編集して,SSL通信のログ出力を有効にする。
httpsd.confファイルの「LogFormat」および「CustomLog」のコメントを解除して,SSL通信のログ出力を有効にします。Windowsの場合の変更例を次に示します。
変更前
: #LogFormat "%t %{version}c %{cipher}c %{clientcert}c" hws_ssl #CustomLog "|\"\"C:/Program Files/HITACHI/JP1AJS3WEB/uCPSB/httpsd/sbin/rotatelogs2.exe\" \"C:/Program Files/HITACHI/JP1AJS3WEB/uCPSB/httpsd/logs/ssl\" 10240 8\"" hws_ssl :
変更後
: LogFormat "%t %{version}c %{cipher}c %{clientcert}c" hws_ssl CustomLog "|\"\"C:/Program Files/HITACHI/JP1AJS3WEB/uCPSB/httpsd/sbin/rotatelogs2.exe\" \"C:/Program Files/HITACHI/JP1AJS3WEB/uCPSB/httpsd/logs/ssl\" 10240 8\"" hws_ssl :
-
JP1/AJS3 HTTP Serverサービスを再起動する。
(2) JP1/AJS3 - ManagerがSSLで通信するための設定
JP1/AJS3 - ManagerがSSLで通信するための設定作業について説明します。
-
JP1/AJS3サービスおよびJP1/Baseサービスを停止する。
-
JP1/Baseの共通定義情報PRIVATEKEYFILEの値に,Web Consoleサーバの秘密鍵とサーバ証明書の格納先フォルダを設定する。
JP1/Baseの共通定義情報PRIVATEKEYFILEの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
Web Consoleサーバの秘密鍵とサーバ証明書の格納先フォルダを次に示します。
- Windowsの場合
-
JP1/AJS3 - Web Consoleのインストール先フォルダ\uCPSB\httpsd\conf\ssl\server
- Linuxの場合
-
/opt/jp1ajs3web/uCPSB/httpsd/conf/ssl/server
-
Web Consoleサーバがクライアントホストとの通信をSSL通信で暗号化する設定作業で取得したルート証明書を,通信先のホストにコピーする。
通信先(クライアント側)でサーバ証明書を検証するため,Web Consoleサーバの作業で取得したルート証明書を,通信先ホストにコピーします。
ルート証明書をコピーするホストを次に示します。
-
作業中のマネージャーホスト(自ホスト)
-
通信するすべてのマネージャーホスト
-
通信するすべてのエージェントホスト
-
通信するすべてのJP1/AJS3 - Viewホスト
-
通信するすべてのWeb Consoleサーバ
格納先フォルダのパスを次に示します。
表21‒14 ルート証明書の格納先フォルダ 項番
ホストの種類
格納先フォルダのパス(Windowsの場合)
格納先フォルダのパス(Linuxの場合)
1
マネージャーホスト
JP1/Baseのフォルダに格納します。詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
2
エージェントホスト
3
JP1/AJS3 - Viewホスト
JP1/AJS3 - Viewのインストール先フォルダ\conf\ssl\rootcer
該当しません。
4
Web Consoleサーバ
JP1/AJS3 - Web Consoleのデータフォルダ※1\conf\ssl\rootcer
/etc/opt/jp1ajs3web/conf/ssl/rootcer※2
- 注※1
-
JP1/AJS3 - Web Consoleのデータフォルダを次に示します。
インストール先フォルダがデフォルトまたはシステムで保護されたフォルダ配下の場合:
%ALLUSERSPROFILE%\Hitachi\JP1\JP1_DEFAULT\jp1ajs3web
「システムで保護されたフォルダ」とは,次のパスを指します。
・「システムドライブ\Windows」配下
・「システムドライブ\Program Files」配下
・「システムドライブ\Program Files (x86)」配下
「%ALLUSERSPROFILE%」のデフォルトは「システムドライブ\ProgramData」です。
インストール先フォルダが上記以外の場合:
JP1/AJS3 - Web Consoleのインストール先フォルダ
クラスタ構成の場合:
共有フォルダ\jp1ajs3web
- 注※2
-
クラスタ構成の場合の格納先を次に示します。
共有ディレクトリ/jp1ajs3web/conf/ssl/rootcer
通信先のホストにルート証明書がすでに配置されている場合,配置されているルート証明書の発行元のCAが,サーバ証明書を取得したCAと同一かどうか確認してください。
- 同一のCAの場合
-
すでに配置されているルート証明書がそのまま利用できます。ルート証明書を上書きする必要はありません。
- 異なるCAの場合
-
すでに配置されているルート証明書と,マネージャーホストに配置したルート証明書をまとめてください。この場合,ルート証明書の有効期限が切れても該当部分を適切に入れ替えられるように,個々のルート証明書と結合後のルート証明書の該当部分が対応づけられるようにしておいてください。ルート証明書はBase64でエンコードされているため,結合後のファイルを確認しても,どの部分がどのルート証明書に対応するのかわからなくなります。
詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
-
-
マネージャーホストに,エージェントホストのルート証明書が配置されているか確認する。
エージェントホストのルート証明書の配置は,JP1/AJS3 - AgentがSSLで通信するための設定作業として実施します。JP1/AJS3 - Agentの設定作業を確認してください。
-
SSL通信を有効にする。
SSL通信を有効にする手順については,マニュアル「JP1/Base 運用ガイド」の通信暗号化機能の説明を参照してください。
(3) JP1/AJS3 - AgentがSSLで通信するための設定
JP1/AJS3 - AgentがSSLで通信するための設定手順は,マネージャー・エージェント構成での設定手順と同じです。詳細は,「21.4.2(2) JP1/AJS3 - AgentがSSLで通信するための設定」を参照してください。
(4) JP1/AJS3 - ViewがSSLで通信するための設定
JP1/AJS3 - ViewがSSLで通信するための設定手順は,マネージャー・エージェント構成での設定手順と同じです。詳細は,「21.4.2(3) JP1/AJS3 - ViewがSSLで通信するための設定」を参照してください。
(5) Web GUIがSSLで通信するための設定
Web GUIがSSLで通信するための設定作業は,マネージャーホストとWeb Consoleサーバで異なるサーバ証明書を使用する場合の設定手順と同じです。詳細は,「21.4.3(5)(a) Web GUIがSSLで通信するための設定」を参照してください。
(6) ユーザーアプリケーションがSSLで通信するための設定
ユーザーアプリケーションがSSLで通信するための設定作業は,マネージャーホストとWeb Consoleサーバで異なるサーバ証明書を使用する場合の設定手順と同じです。詳細は,「21.4.3(5)(b) ユーザーアプリケーションがSSLで通信するための設定」を参照してください。
(7) SSL通信の接続確認
各コンポーネント間のSSL通信の接続確認方法は,マネージャーホストとWeb Consoleサーバで異なるサーバ証明書を使用する場合の設定手順と同じです。詳細は,「21.4.3(6) SSL通信の接続確認」を参照してください。