9.2.6 Hitachi Web ServerのSSLの設定(Webリダイレクタ環境の場合)
Hitachi Web Serverを使用してSSLによる認証やデータの暗号化をする場合,秘密鍵の作成,認証局(CA)が発行した証明書の取得,およびhttpsd.conf(Hitachi Web Server定義ファイル)の設定が必要です。
また,クライアント認証をする場合,クライアント証明書と認証局(CA)の証明書の取得,およびhttpsd.conf(Hitachi Web Server定義ファイル)の設定が必要です。
ここでは,Hitachi Web ServerのSSLによる認証,暗号化の設定,およびクライアント認証の設定について説明します。なお,詳細については,マニュアル「Hitachi Web Server」を参照してください。
- <この項の構成>
- (1) Hitachi Web ServerのSSLによる認証,暗号化の設定
- (2) クライアント認証の設定
(1) Hitachi Web ServerのSSLによる認証,暗号化の設定
Hitachi Web Serverを使用してSSLによる認証やデータの暗号化をする場合,次の設定をしてください。
- 秘密鍵の作成と認証局が発行した証明書の取得
- httpsd.confの設定
(a) 秘密鍵の作成と認証局が発行した証明書の取得
Hitachi Web Serverが用意しているsslcユティリティを使用し,次に示す手順に従って証明書発行局(CA)から証明書を取得します。なお,Hitachi Web Serverが提供するテスト用CAを利用する場合は,マニュアル「Hitachi Web Server」を参照してください。
- 秘密鍵の作成
sslc -genrsaコマンド(UNIXの場合,sslc genrsaコマンド)を使用して,Hitachi Web Server用の秘密鍵を作成します。
- 証明書発行要求(CSR)の作成
sslc -reqコマンド(UNIXの場合,sslc reqコマンド)を使用して,認証局(CA)に証明書を発行してもらうための証明書発行要求(CSR)を作成します。
- 認証局(CA)への証明書発行要求の送付
作成したCSRファイルを電子メールなどで認証局に送って証明書を取得してください。
(b) httpsd.confの設定
httpsd.conf(Hitachi Web Server定義ファイル)に,次に示す設定を記述してください。
- SSL通信用のポートの設定
ListenディレクティブにSSL通信で使用するポートを設定します。通常,SSL通信で使用するポート番号は443です。SSL通信で使用するポート番号を指定したListenディレクティブだけを定義した場合,そのサーバはブラウザからHTTPSのリクエスト(SSL通信)以外を受け付けなくなります。そのため,HTTPのリクエストも受け付ける場合には,HTTPのリクエスト用のポート番号(通常には80)を指定したListenディレクティブの指定は残した上で,SSL通信で使用するポート番号を指定したListenディレクティブを追加してください。
- SSLを有効にする設定
SSLEnableディレクティブを指定します。
- 秘密鍵ファイルの設定
SSLCertificateKeyFileディレクティブに「(a) 秘密鍵の作成と認証局が発行した証明書の取得」で作成した秘密鍵ファイルへのパスを指定します。
- 認証局(CA)が発行した証明書ファイルの設定
SSLCertificateFileディレクティブに「(a) 秘密鍵の作成と認証局が発行した証明書の取得」で取得した証明書ファイルへのパスを指定します。
- 記述例
- SSL通信に必要な設定をしたhttpsd.confの記述例を次に示します。なお,次の記述例は,ファイルの内容の一部となります。
- Windowsの場合
ServerName localhost
Port 80
Listen 80
#--途中省略--
Listen 443
<VirtualHost host1:443>
SSLEnable
SSLCertificateFile "C:/Program Files/Hitachi/httpsd/conf/ssl/server/httpsdcert.pem"
SSLCertificateKeyFile "C:/Program Files/Hitachi/httpsd/conf/ssl/server/httpsdkey.pem"
</VirtualHost>
Include "C:/Program Files/Hitachi/Cosminexus/CC/web/redirector/mod_jk.conf" |
- UNIXの場合
ServerName localhost
Port 80
Listen 80
#--途中省略--
Listen 443
<VirtualHost host1:443>
SSLEnable
SSLCertificateFile "/opt/hitachi/httpsd/conf/ssl/server/httpsdcert.pem"
SSLCertificateKeyFile "/opt/hitachi/httpsd/conf/ssl/server/httpsdkey.pem"
</VirtualHost>
Include "/opt/Cosminexus/CC/web/redirector/mod_jk.conf" |
(2) クライアント認証の設定
クライアント認証をする場合,次の設定をしてください。
- クライアント証明書と認証局(CA)の証明書の取得
- httpsd.confの設定
(a) クライアント証明書と認証局(CA)の証明書の取得
- クライアント証明書の取得
証明書の発行に使用する認証局(CA)の指示に従って,Webブラウザにクライアント証明書をインストールします。
- 認証局(CA)の証明書の取得
クライアント証明書を発行した認証局(CA)の証明書(PEM形式)を入手します。
(b) httpsd.confの設定
httpsd.conf(Hitachi Web Server定義ファイル)に,次に示す設定を記述してください。
- 認証局(CA)の証明書ファイルの設定
SSLCACertificateFileディレクティブに「(a) クライアント証明書と認証局(CA)の証明書の取得」で取得した証明書ファイルへのパスを指定します。
- クライアント認証についての設定
SSLVerifyClientおよびSSLVerifyDepthディレクティブを使用します。
- クライアント証明書情報についての設定
SSLExportClientCertificatesおよびSSLExportCertChainDepthディレクティブを使用します。
- 記述例
- クライアント認証に必要な設定をしたhttpsd.confの記述例を次に示します。なお,次の記述例は,ファイルの内容の一部となります。
- Windowsの場合
ServerName localhost
Port 80
Listen 80
#--途中省略--
Listen 443
<VirtualHost host1:443>
SSLEnable
SSLCertificateFile "C:/Program Files/Hitachi/httpsd/conf/ssl/server/httpsdcert.pem"
SSLCertificateKeyFile "C:/Program Files/Hitachi/httpsd/conf/ssl/server/httpsdkey.pem"
SSLCACertificateFile "C:/Program Files/Hitachi/httpsd/conf/ssl/cacert/cacert.pem"
SSLVerifyClient 2
SSLVerifyDepth 2
SSLExportClientCertificates
SSLExportCertChainDepth 2
</VirtualHost>
Include "C:/Program Files/Hitachi/Cosminexus/CC/web/redirector/mod_jk.conf" |
- UNIXの場合
ServerName localhost
Port 80
Listen 80
#--途中省略--
Listen 443
<VirtualHost host1:443>
SSLEnable
SSLCertificateFile "/opt/hitachi/httpsd/conf/ssl/server/httpsdcert.pem"
SSLCertificateKeyFile "/opt/hitachi/httpsd/conf/ssl/server/httpsdkey.pem"
SSLCACertificateFile "/opt/hitachi/httpsd/conf/ssl/cacert/cacert.pem"
SSLVerifyClient 2
SSLVerifyDepth 2
SSLExportClientCertificates
SSLExportCertChainDepth 2
</VirtualHost>
Include "/opt/Cosminexus/CC/web/redirector/mod_jk.conf" |