21.4.3 マネージャーホストとWeb Consoleサーバで異なるサーバ証明書を使用する場合のSSL通信の設定手順
マネージャーホストとWeb Consoleサーバで異なるサーバ証明書を使用する場合の,SSL通信の設定手順について説明します。
Web ConsoleサーバにSSL通信を設定するには,次の2つの設定が必要です。
-
マネージャーホストとWeb Consoleサーバの通信をSSL通信で暗号化する設定
-
Web Consoleサーバとクライアントホストの通信をSSL通信で暗号化する設定
各ホストの設定作業の流れを次の図に示します。
|
各ホストでの設定作業は,ホストにインストールしたコンポーネントの設定作業に加えて,通信先のコンポーネントの設定作業が必要です。
なお,この作業はJP1/AJS3システムを構成するすべてのホストで実施してください。SSL通信の有効・無効の異なるホストが混在すると,ホスト間通信がエラーになります。
- 〈この項の構成〉
(1) JP1/AJS3 - ManagerがSSLで通信するための設定
JP1/AJS3 - ManagerがSSLで通信するための設定作業について説明します。
-
JP1/Baseを使用して,秘密鍵とCSRを作成する。
秘密鍵とCSRの作成方法については,マニュアル「JP1/Base 運用ガイド」を参照してください。
-
CAにCSRを送信する。
CAにCSRを送信すると,CAはサーバ証明書,およびサーバ証明書を検証するためのルート証明書を発行します。
-
CAからサーバ証明書およびルート証明書を取得する。
-
サーバ証明書を中間CAに発行してもらった場合で,サーバ証明書に中間証明書が含まれていないときは,中間CAから中間証明書を取得し,サーバ証明書と中間証明書を一つのファイルにまとめる。
サーバ証明書に中間証明書が含まれていないと,サーバ証明書の正当性を検証できません。サーバ証明書の正当性を検証するために,中間証明書を取得してください。
中間証明書を取得したら,サーバ証明書と中間証明書をテキストエディターで開いて,サーバ証明書の末尾に中間証明書の内容を貼り付けてください。
中間証明書が複数存在する場合は,証明書の階層構造に従って証明書を結合してください。
-
JP1/AJS3サービスおよびJP1/Baseサービスを停止する。
-
秘密鍵およびサーバ証明書を任意のフォルダに配置して,マネージャーホストのJP1/Baseの共通定義情報CERTIFICATEFILEに配置先のパスを指定する。
JP1/Baseの共通定義情報CERTIFICATEFILEの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
-
PEM形式のルート証明書を,通信先のホストに配置する。
通信先(クライアント側)でマネージャーホストのサーバ証明書を検証するため,マネージャーホストのサーバ証明書を発行したCAのルート証明書を通信先ホストに配置します。
ルート証明書を配置するホストを次に示します。
-
作業中のマネージャーホスト(自ホスト)
-
通信するすべてのマネージャーホスト
-
通信するすべてのエージェントホスト
-
通信するすべてのJP1/AJS3 - Viewホスト
-
通信するすべてのWeb Consoleサーバ
格納先フォルダのパスを次に示します。
表21‒11 ルート証明書の格納先フォルダ 項番
ホストの種類
格納先フォルダのパス(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が,手順3.でサーバ証明書を取得したCAと同一かどうか確認してください。
- 同一のCAの場合
-
すでに配置されているルート証明書がそのまま利用できます。ルート証明書を上書きする必要はありません。
- 異なるCAの場合
-
すでに配置されているルート証明書と,取得したルート証明書をまとめてください。この場合,ルート証明書の有効期限が切れても該当部分を適切に入れ替えられるように,個々のルート証明書と結合後のルート証明書の該当部分が対応づけられるようにしておいてください。ルート証明書はBase64でエンコードされているため,結合後のファイルを確認しても,どの部分がどのルート証明書に対応するのかわからなくなります。
詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
-
-
マネージャーホストに,エージェントホストのルート証明書が配置されているか確認する。
エージェントホストのルート証明書の配置は,JP1/AJS3 - AgentがSSLで通信するための設定作業として実施します。JP1/AJS3 - Agentの設定作業を確認してください。
-
SSL通信を有効にする。
SSL通信を有効にする手順については,マニュアル「JP1/Base 運用ガイド」の通信暗号化機能の説明を参照してください。
(2) JP1/AJS3 - Web ConsoleがSSLで通信するための設定
JP1/AJS3 - Web ConsoleがSSLで通信するための設定作業について説明します。
(a) マネージャーホストとの通信をSSL通信で暗号化する設定
JP1/AJS3 - Web ConsoleがマネージャーホストとSSLで通信するための設定作業について説明します。
-
非暗号化通信ホスト設定ファイル(nosslhost.conf)をテキストエディターで開く。
JP1/AJS3 - Web Consoleの非暗号化通信ホスト設定ファイル(nosslhost.conf)は,JP1/AJS3 - Web Consoleとの通信電文を暗号化しないマネージャーホストを定義するファイルです。
nosslhost.confの詳細については,「21.4.6 非暗号化通信ホスト設定ファイル(nosslhost.conf)の設定項目の詳細」を参照してください。
-
nosslhost.confに,JP1/AJS3 - Web ConsoleとSSLで通信しないマネージャーホストを定義する。
nosslhost.confのデフォルトでは,すべてのマネージャーホストとの通信が暗号化されないように「*」と記載されています。次のようにSSL通信しないマネージャーホストだけを記載して,SSL通信するマネージャーホストが含まれないようにしてください。
[NO_SSL_HOST] SSLで通信しないマネージャーホストのホスト名またはIPアドレス SSLで通信しないマネージャーホストのホスト名またはIPアドレス : SSLで通信しないマネージャーホストのホスト名またはIPアドレス
すべてのマネージャーホストとの通信を暗号化する場合は,[NO_SSL_HOST]とだけ記載してください。
-
nosslhost.confを文字コードUTF-8で保存して閉じる。
-
Web Consoleサーバに,マネージャーホストのルート証明書が配置されているか確認する。
マネージャーホストのルート証明書の配置は,JP1/AJS3 - ManagerがSSLで通信するための設定作業として実施します。JP1/AJS3 - Managerの設定作業を確認してください。
(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サーバ定義ファイルのサーバ証明書ファイル名の設定を変更する必要がなくなります。
-
サーバ証明書を中間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‒12 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サービスを再起動する。
(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) クライアントがSSLで通信するための設定
Web Consoleサーバのクライアントには,次の2種類があります。
-
Web GUI
-
ユーザーアプリケーション
クライアントがWeb ConsoleサーバとSSLで通信するための設定作業について説明します。
(a) Web GUIがSSLで通信するための設定
Web GUIがSSLで通信するための設定作業について説明します。
-
使用するブラウザーでSSL通信を許可する。
WebブラウザーでSSL/TLSを有効にしておく必要があります。設定方法については,使用するWebブラウザーのドキュメントを参照してください。
SSL/TLSを無効にしていると,SSL通信用のURLにアクセスしてもログイン画面が表示されません。また,ログイン後にSSL/TLSの設定を無効にした場合,それ以降の操作ができなくなります。
(b) ユーザーアプリケーションがSSLで通信するための設定
ユーザーアプリケーションがSSLで通信するための設定方法は,使用するプログラミング言語によって異なります。
各プログラミング言語で提供されている方法に従って,ユーザーアプリケーションを開発してください。
(6) SSL通信の接続確認
各コンポーネント間の通信が暗号化されていることを確認する手順を次に示します。
(a) マネージャーホストとJP1/AJS3 - ViewホストのSSL通信の接続確認
-
JP1/AJS3 - ViewからJP1/AJS3 - Managerにログインする。
-
マネージャーホストの統合トレースログに,メッセージKNAD3995-IとメッセージKAVS0532-Iが出力されていることを確認する。
メッセージKNAD3995-Iは,SSL通信が有効であることを示します。
メッセージKAVS0532-Iは,JP1/AJS3 - Viewを使ってJP1/AJS3 - Managerに正常にログインしていることを示します。
(b) マネージャーホストとエージェントホストのSSL通信の接続確認
-
JP1/AJS3 - ViewからJP1/AJS3 - Managerにログインする。
-
JP1/AJS3 - Viewを使ってジョブネットを作成し,その配下にPCジョブまたはUNIXジョブを定義して,[実行エージェント]にSSL通信で接続するエージェントホストを指定する。
-
定義したジョブネットを即時実行登録する。
-
ジョブネットが正常終了することを確認する。
ジョブネットが正常終了すれば,マネージャーホストとエージェントホストのSSL通信が正常に動作しています。
(c) Web ConsoleサーバとWeb GUIのSSL通信の接続確認
-
Web GUIで,次のURLにアクセスする。
https://Web Consoleサーバのホスト名またはIPアドレス:SSL通信用ポート番号/ajs/login.html
SSL通信用ポート番号のデフォルトは,「22253」です。
ログイン画面が正常に表示されれば,SSL通信が正常に動作しています。
(d) マネージャーホストとWeb ConsoleサーバのSSL通信の接続確認
-
Web GUIからJP1/AJS3 - Managerにログインする。
-
マネージャーホストの統合トレースログに,メッセージKNAD3995-Iが出力されていることを確認する。
メッセージKNAD3995-Iは,SSL通信が有効であることを示します。