以下の手順で、運用管理サーバ上でSystemwalker WebコンソールのSSL暗号化通信を有効にします。
SSL暗号化通信を有効化するときに使用するコマンド(SSL暗号化通信用コマンド)の詳細については、“Systemwalker Centric Manager リファレンスマニュアル”を参照してください。
注意
証明書/鍵管理環境はバックアップ/リストアの対象となりません。
“証明書/鍵管理環境を退避・復元する”を参照して退避・復元し、退避・復元した時に“証明書/鍵管理環境の通信環境への反映”で定義したhttpd.confファイルの情報をリストアするコンピュータで再定義してください。
1.証明書/鍵管理環境の作成
証明書、秘密鍵管理には以下のディレクトリが必要なため、OS提供のコマンド等でディレクトリを作成します。
運用管理ディレクトリ
証明書管理ディレクトリ
CRL管理ディレクトリ
作成例)
【Windows版】
mkdir d:\sslenv\sslcert 運用管理ディレクトリ mkdir d:\sslenv\sslcert\cert 証明書管理ディレクトリ mkdir d:\sslenv\sslcert\crl CRL管理ディレクトリ
【Linux版】
# mkdir /export/home/sslcert 運用管理ディレクトリ # mkdir /export/home/sslcert/cert 証明書管理ディレクトリ # mkdir /export/home/sslcert/crl CRL管理ディレクトリ
2. 秘密鍵の作成と証明書の取得
認証局(証明書発行局)に証明書の発行を依頼し、証明書を取得します。
認証局へ証明書の発行を依頼するための、証明書取得申請書を作成します。以下のコマンドを順に実行することで秘密鍵を作成後、証明書取得申請書を作成します。
コマンド実行例)
【Windows版】
C:\Systemwalker\MPWALKER.DM\mpahs\bin\openssl.exe genrsa -aes256 -out d:\sslenv\sslcert\cert\server.key 2048 (以下はコマンド実行結果です) Generating RSA private key, 2048 bit long modulus (2 primes) ......+++ ...........++ e is 65537 (0x10001) Enter pass phrase for d:\sslenv\sslcert\cert\server.key: (注) Verifying - Enter pass phrase for d:\sslenv\sslcert\cert\server.key: (注)
C:\Systemwalker\MPWALKER.DM\mpahs\bin\openssl.exe req -new -key d:\sslenv\sslcert\cert\server.key -out d:\sslenv\sslcert\server.csr -config C:\Systemwalker\MPWALKER.DM\mpahs\conf\openssl.cnf -subj "/C=JP/ST=Shizuoka/L=Shizuoka-shi/O=fujitsu/OU=4-1f/CN=www.example.com" (以下はコマンド実行結果です) Enter pass phrase for d:\sslenv\sslcert\cert\server.key: (注)
【Linux版】
# /opt/FJSVftlc/mpahs/oss/openssl/bin/openssl genrsa -aes256 -out /export/home/sslcert/cert/server.key 2048 (以下はコマンド実行結果です) Generating RSA private key, 2048 bit long modulus ......+++ ...........++ e is 65537 (0x10001) Enter pass phrase for server.key: (注) Verifying - Enter pass phrase for server.key: (注)
# /opt/FJSVftlc/mpahs/oss/openssl/bin/openssl req -new -key /export/home/sslcert/cert/server.key -out /export/home/sslcert/server.csr -config /opt/FJSVftlc/mpahs/oss/openssl/ssl/openssl.cnf -subj "/C=JP/ST=Shizuoka/L=Shizuoka-shi/O=fujitsu/OU=4-1f/CN=www.example.com" (以下はコマンド実行結果です) Enter pass phrase for server.key: (注)
注) 本文字列が表示された場合は、パスフレーズを入力してください。なお、入力される文字はエコーバックされません。
注意
秘密鍵を保護するために、証明書を入手するまでの間、証明書/鍵管理環境のファイルをバックアップしておいてください。バックアップおよびリストア方法は、“証明書/鍵管理環境を退避・復元する”を参照してください。
なお、バックアップしていないときに証明書/鍵管理環境が破壊された場合、秘密鍵がなくなってしまうため、証明書/鍵管理環境の作成と、証明書取得申請書の作成を再度行うことになります。
作成したCSR(証明書取得申請書)を認証局へ送付し、サイト証明書の発行を依頼します。
依頼方法は認証局の指定方法に従ってください。
認証局により署名された証明書を取得します。
認証局により署名された証明書をPEM形式(Base64エンコーディングデータ)で取得します。
PEM形式の証明書は、以下のようなデータ形式をしています。
-----BEGIN CERTIFICATE----- … (Base64エンコードされた証明書データ) … -----END CERTIFICATE-----
取得方法は認証局に従ってください。
3. 証明書の配置
取得した証明書を証明書/鍵管理環境に配置します。
証明書は証明書/鍵管理環境の構築で作成したディレクトリに配置してください。運用で使用する証明書(サイト証明書やクライアント証明書)を発行した認証局の証明書は、すべて配置してください。
登録後、証明書/鍵管理環境をバックアップしてください。バックアップおよびリストア方法は、“証明書/鍵管理環境を退避・復元する”を参照してください。
サイト証明書の配置
認証局から発行されたサイト証明書(server.pem)を証明書/CRL管理環境へ配置します。
登録例)
【Windows版】
move server.pem d:\sslenv\sslcert\cert
【Linux版】
# mv server.pem /export/home/sslcert/cert
登録後は、証明書の有効期間を参照し、証明書の更新が必要となる時期を確認しておいてください。有効期間は、openssl x509コマンドで確認できます。
注意
サイト証明書および認証局の証明書(発行局証明書)の有効期限について
サイト証明書および認証局の証明書(発行局証明書)には、有効期限があります。この有効期限が切れた状態でSystemwalker Webコンソールの運用を続行した場合、クライアントからのSSL通信時に警告メッセージが表示されるようになります。openssl x509コマンドで証明書の有効期間を確認して、有効期限が切れる前に新しい証明書を取得して登録してください。登録後は、Systemwalker Centric Managerを再起動する必要があります。
証明書の有効期間を確認する場合
【Windows版】
C:\Systemwalker\MPWALKER.DM\mpahs\bin\openssl.exe x509 -noout -dates -in d:\sslenv\sslcert\cert\server.pem
【Linux版】
# /opt/FJSVftlc/mpahs/oss/openssl/bin/openssl x509 -noout -dates -in /export/home/sslcert/cert/server.pem
ルートCA証明書、中間CA証明書の配置
ルートCA証明書を入手したら、登録する前にフィンガープリントを確認します。ルートCA証明書のフィンガープリントの情報は、認証局により安全な方法で提供されています。入手した認証局のルートCA証明書をopenssl x509コマンドで表示し、フィンガープリントが一致していることを確認してください。
なお、フィンガープリントは証明書の一部から算出されたハッシュ値であるため、証明書が偽物であったり改ざんされたりした場合には異なる値になります。算出するために利用するアルゴリズムによっても値が異なるため、同じアルゴリズムを用いて算出されたフィンガープリントを比較してください。
認証局から入手したルートCA証明書のフィンガープリントを表示する例を以下に示します。
【Windows版】
認証局のルートCA証明書がd:\sslenv\sslcert\server-root-ca.pemに格納されている場合の実行例を示します。
C:\Systemwalker\MPWALKER.DM\mpahs\bin\openssl.exe x509 [-sha1|-sha256|-md5] -fingerprint -noout -in d:\sslenv\sslcert\server-root-ca.pem
-md5オプション時: MD5 Fingerprint=40 79 98 2F 37 12 31 7C AE E7 B4 AB 78 C8 A2 28 -sha1オプション時: SHA1 Fingerprint=07 28 BE 26 94 89 6D F9 ... ←(16進数で20バイト分表示されます。) -sha256オプション時: SHA256 Fingerprint=F7 16 00 6E A1 6E A2 14 ... ←(16進数で32バイト分表示されます。)
【Linux版】
認証局のルートCA証明書が/export/home/sslcert/server-root-ca.pemに格納されている場合の実行例を示します。
# /opt/FJSVftlc/mpahs/oss/openssl/bin/openssl x509 [-sha1|-sha256|-md5] -fingerprint -noout -in /export/home/sslcert/server-root-ca.pem
-md5オプション時: MD5 Fingerprint=40 79 98 2F 37 12 31 7C AE E7 B4 AB 78 C8 A2 28 -sha1オプション時: SHA1 Fingerprint=07 28 BE 26 94 89 6D F9 ... ←(16進数で20バイト分表示されます。) -sha256オプション時: SHA256 Fingerprint=F7 16 00 6E A1 6E A2 14 ... ←(16進数で32バイト分表示されます。)
認証局から提供されたフィンガープリント情報にあわせたオプション[-sha1|-sha256|-md5]を選択し、表示された値と比較してください。
認証局によっては、認証局のルートCA証明書とサイト証明書のほかに、中間CA証明書が用意されている場合がありますので、各認証局に確認し、中間CA証明書を入手してください。
中間CA証明書はサイト証明書ファイルにマージして使用します。
ルートCA証明書のマージは必須ではありませんが、ルートCA証明書を含めたpemファイルでの運用を推奨します。
【Windows版】
ルートCA証明書(server-root-ca.pem)、中間CA証明書(server-chain-ca.pem)をサイト証明書にマージします。
type server-chain-ca.pem >> d:\sslenv\sslcert\cert\server.pem type server-root-ca.pem >> d:\sslenv\sslcert\cert\server.pem type d:\sslenv\sslcert\cert\server.pem (内容を表示します) -----BEGIN CERTIFICATE----- … (サイト証明書データ) … -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- … (中間CA証明書データ) … -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- … (ルートCA証明書データ) … -----END CERTIFICATE-----
【Linux版】
ルートCA証明書(server-root-ca.pem)、中間CA証明書(server-chain-ca.pem)をサイト証明書にマージします。
# cat server-chain-ca.pem >> /export/home/sslcert/cert/server.pem # cat server-root-ca.pem >> /export/home/sslcert/cert/server.pem # cat /export/home/sslcert/cert/server.pem (内容を表示します) -----BEGIN CERTIFICATE----- … (サイト証明書データ) … -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- … (中間CA証明書データ) … -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- … (ルートCA証明書データ) … -----END CERTIFICATE-----
鍵交換パラメータの設定
鍵交換でDHEを使用する場合は、セキュリティ対策としてパラメータ長を2048ビット以上に設定する必要があります。
RFC3526に記載されている推奨パラメータ(2048ビット)をサイト証明書にマージします。
以下のPEM形式パラメータをハイフンも含めてマージしてください。
-----BEGIN DH PARAMETERS----- MIIBCAKCAQEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq 5RXSJhiY+gUQFXKOWoqsqmj//////////wIBAg== -----END DH PARAMETERS-----
4. パスフレーズの登録
パスフレーズを、パスフレーズ管理ファイルに登録します。
ahsregistupinコマンドに、パスフレーズとパスフレーズ管理ファイルを指定することで、パスフレーズが暗号化されてパスフレーズ管理ファイルに登録されます。
注意
パスフレーズ管理ファイルのアクセス権限の変更について【Windows】
セキュリティ対策のため、エクスプローラのファイルプロパティを使用して、パスフレーズ管理ファイルのアクセス権限を変更することを推奨します。変更手順について説明します。
エクスプローラを起動します。
パスフレーズ管理ファイルを選択して右クリックします。
[プロパティ]をクリックします。
[セキュリティ]タブをクリックします。
プロパティの[セキュリティ]画面で、以下のグループ以外の[アクセス許可]設定に[拒否]を選択して、[OK]ボタンをクリックします。
Administrators
SYSTEM
【Windows版】
パスフレーズ(対話入力)を暗号化して、パスフレーズ管理ファイルd:\sslenv\sslcert\upinfileに登録する場合
C:\Systemwalker\MPWALKER.DM\mpahs\bin\ahsregistupin.exe -f d:\sslenv\sslcert\upinfile
【Linux版】
パスフレーズ(対話入力)を暗号化して、パスフレーズ管理ファイル/export/home/sslcert/upinfileに登録する場合
/opt/FJSVftlc/mpahs/bin/ahsregistupin -f /export/home/sslcert/upinfile
5. 証明書/鍵管理環境の通信環境への反映
作成した証明書/鍵管理環境を通信環境に反映します。
以下のファイルをテキストエディタで開きます。
【Windows版】
Systemwalkerインストールディレクトリ\MPWALKER.DM\mpahs\conf\httpd.conf |
【Linux版】
/opt/FJSVftlc/mpahs/conf/httpd.conf |
以下の定義を追加します。
ディレクティブ | 定義内容 |
---|---|
SSLEngine | SSLを使用するかを指定します。
|
SSLProtocol | 使用可能なSSL / TLSプロトコルバージョンを指定します。 推奨値:TLSv1.2 +TLSv1.3 (TLSv1.2とTLSv1.3を使用) |
SSLCertificateFile | サイト証明書及びCA(中間含む)証明書を指定します。 |
SSLCertificateKeyFile | サイト秘密鍵を指定します。 |
SSLCipherSuite | 使用可能な暗号リストを指定します。 |
SSLUserPINFile | パスフレーズ管理ファイルを絶対パスで指定します。 |
SSLプロトコルバージョン:TLSv1.2 TLSv1.3を使用
パスフレーズ管理ファイル:d:\sslenv\sslcert\upinfile
サイト証明書:d:\sslenv\sslcert\cert\server.pem
サイト秘密鍵:d:\sslenv\sslcert\cert\server.key
暗号化の方法
「TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256」 「TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384」 「TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256」 「TLS_DHE_RSA_WITH_AES_128_GCM_SHA256」 「TLS_DHE_RSA_WITH_AES_256_GCM_SHA384」 「TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256」 「TLS_AES_256_GCM_SHA384」 「TLS_CHACHA20_POLY1305_SHA256」 「TLS_AES_128_GCM_SHA256」
SSLEngine On SSLProtocol TLSv1.2 +TLSv1.3 SSLCertificateFile d:\sslenv\sslcert\cert\server.pem SSLCertificateKeyFile d:\sslenv\sslcert\cert\server.key SSLUserPINFile d:\sslenv\sslcert\upinfile SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305 SSLCipherSuite TLSv1.3 TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
追加した後に、変更を反映するため、Systemwalker Centric Managerを再起動します。
6. 認証局の証明書(発行局証明書)のWebブラウザへの登録
Systemwalker PKI Managerを使用した認証局(証明書発行局)に発行されたサイト証明書を使用してWebブラウザとSSLを使用した通信を行うためには、サイト証明書を承認した認証局の証明書をWebブラウザに登録する必要があります。
手順の詳細については、Systemwalker PKI Managerのマニュアルを参照してください。