Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 構築ガイド


21.4.4 Web Consoleサーバのサーバ証明書をマネージャーホストで使用する場合のSSL通信の設定手順

Web Consoleサーバのサーバ証明書をマネージャーホストで使用する場合の,SSL通信の設定手順について説明します。

Web ConsoleサーバにSSL通信を設定するには,次の二つの設定が必要です。

各ホストの設定作業の流れを次の図に示します。

図21‒5 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で通信するための設定作業について説明します。

  1. 秘密鍵の作成コマンドを実行して,秘密鍵を作成する。

    次のコマンドを実行してください。使用するコマンドは,JP1/AJS3 - Web Consoleのバージョンによって異なります。

    JP1/AJS3 - Web Console 11-10-02以前または11-00-10以前の場合

    keygen -rand 乱数生成に利用するファイル名 -out 秘密鍵ファイルのパス -bits 秘密鍵のビット長

    keygenコマンドのパスは,Windowsの場合「JP1/AJS3 - Web Consoleのインストール先フォルダ\uCPSB\httpsd\sbin\keygen」,Linuxの場合「/opt/jp1ajs3web/uCPSB/httpsd/sbin/keygen」です。

    上記以外のバージョンの場合

    • Windowsのとき

    openssl.bat genrsa -rand 乱数生成に利用するファイル名 -out 秘密鍵 ファイルのパス秘密鍵のビット長

    openssl.batのパスは,「JP1/AJS3 - Web Consoleのインストール先フォルダ\uCPSB\httpsd\sbin\openssl.bat」です。

    openssl.batの実行権限については,OpenSSLの公式サイトを参照してください。

    • Linuxのとき

    openssl.sh genrsa -rand 乱数生成に利用するファイル名 -out 秘密鍵ファイルのパス 秘密鍵のビット長

    openssl.shのパスは,「/opt/jp1ajs3web/uCPSB/httpsd/sbin/openssl.sh」です。

    openssl.shの実行権限については,OpenSSLの公式サイトを参照してください。

    秘密鍵ファイルのパスには次のパスを指定します。

    Windowsの場合

    JP1/AJS3 - Web Consoleのインストール先フォルダ\uCPSB\httpsd\conf\ssl\server\秘密鍵ファイル名

    Linuxの場合

    /opt/jp1ajs3web/uCPSB/httpsd/conf/ssl/server/秘密鍵ファイル名

    秘密鍵の作成コマンドの詳細については,「付録E.1 秘密鍵の作成」を参照してください。

    なお,秘密鍵ファイル名は任意の値を指定できますが,あとの手順で設定するWebサーバ定義ファイル(httpsd.conf)には,デフォルトとしてhttpsdkey.pemが指定されています。このファイル名を使用すると,Webサーバ定義ファイルの秘密鍵ファイル名の設定を変更する必要がなくなります。

  2. 証明書発行要求(CSR)の作成コマンドを実行して,CSRを作成する。

    次のコマンドを実行してください。使用するコマンドは,JP1/AJS3 - Web Consoleのバージョンによって異なります。

    JP1/AJS3 - Web Console 11-10-02以前または11-00-10以前の場合

    certutil reqgen -sign 署名アルゴリズム -key 秘密鍵ファイルのパス -out CSRファイルのパス

    certutilコマンドのパスは,Windowsの場合「JP1/AJS3 - Web Consoleのインストール先フォルダ\uCPSB\httpsd\sbin\certutil」,Linuxの場合「/opt/jp1ajs3web/uCPSB/httpsd/sbin/certutil」です。

    上記以外のバージョンの場合

    • Windowsのとき

    openssl.bat req -new 署名アルゴリズム -key 秘密鍵ファイルのパス -out CSRファイルのパス

    openssl.batのパスは,「JP1/AJS3 - Web Consoleのインストール先フォルダ\uCPSB\httpsd\sbin\openssl.bat」です。

    openssl.batの実行権限については,OpenSSLの公式サイトを参照してください。

    • Linuxのとき

    openssl.sh req -new 署名アルゴリズム -key 秘密鍵ファイルのパス -out CSRファイルのパス

    openssl.shのパスは,「/opt/jp1ajs3web/uCPSB/httpsd/sbin/openssl.sh」です。

    openssl.shの実行権限については,OpenSSLの公式サイトを参照してください。

    秘密鍵ファイルのパスには,手順1で秘密鍵の作成コマンドに指定したパスを指定します。CSRファイルのパスには,任意の出力先フォルダとCSRファイル名を指定してください。

    証明書発行要求(CSR)の作成コマンドの詳細については,「付録E.2 証明書発行要求(CSR)の作成」を参照してください。

  3. CAにCSRを送信する。

    CAにCSRを送信すると,CAはサーバ証明書,およびサーバ証明書を検証するためのルート証明書を発行します。

  4. CAからサーバ証明書およびルート証明書を取得する。

    サーバ証明書およびルート証明書のファイル名は任意の値を指定できます。

    あとの手順で設定するWebサーバ定義ファイル(httpsd.conf)には,サーバ証明書のデフォルトとしてhttpsd.pemが指定されています。このファイル名を使用すると,Webサーバ定義ファイルのサーバ証明書ファイル名の設定を変更する必要がなくなります。

    また,取得したルート証明書は,JP1/AJS3 - ManagerがSSLで通信するための設定作業の際に利用します。

  5. サーバ証明書を中間CAに発行してもらった場合で,中間CAから取得した中間証明書が複数ある場合は,中間証明書を一つのファイルにまとめる。

    中間証明書を取得したら,中間証明書をテキストエディターで開いて,証明書の階層構造に従って証明書を結合してください。

  6. サーバ証明書をWeb Consoleサーバに配置する。

    サーバ証明書の格納先フォルダを次に示します。

    Windowsの場合

    JP1/AJS3 - Web Consoleのインストール先フォルダ\uCPSB\httpsd\conf\ssl\server

    Linuxの場合

    /opt/jp1ajs3web/uCPSB/httpsd/conf/ssl/server

  7. Webサーバ定義ファイル(httpsd.conf)を編集して,SSL通信を有効にする。

    httpsd.confファイルのSSL通信設定部のコメントを解除して,SSL通信を有効にします。

    Windowsの場合の変更例を次に示します。この例では,通信用のポート番号,サーバ証明書ファイル名,および秘密鍵ファイル名はデフォルトのまま(サーバ証明書:httpsd.pem,秘密鍵:httpsdkey.pem)として,コメントを示す「#」だけ編集しています。また,中間証明書ファイルを配置した場合は,SSLCACertificateFile項目を追加し,配置した中間証明書のファイルパスを指定します。この例では,中間証明書ファイル名をintermediate.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"
    #  AllowEncodedSlashes On
    #</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"
      SSLCACertificateFile "C:/Program Files/HITACHI/JP1AJS3WEB/uCPSB/httpsd/conf/ssl/server/intermediate.pem"
      AllowEncodedSlashes On
    </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の場合)を参照してください。

  8. 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
    :
  9. JP1/AJS3 HTTP Serverサービスを再起動する。

(2) JP1/AJS3 - ManagerがSSLで通信するための設定

JP1/AJS3 - ManagerがSSLで通信するための設定作業について説明します。

  1. JP1/AJS3サービスおよびJP1/Baseサービスを停止する。

  2. 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

  3. 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 運用ガイド」を参照してください。

  4. マネージャーホストに,エージェントホストのルート証明書が配置されているか確認する。

    エージェントホストのルート証明書の配置は,JP1/AJS3 - AgentがSSLで通信するための設定作業として実施します。JP1/AJS3 - Agentの設定作業を確認してください。

  5. 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通信の接続確認」を参照してください。