環境定義ファイル(httpd.conf)にSSL定義を設定して、Interstage HTTP ServerのSSL環境を設定します。
SSLは、以下のような運用を行うことができます。
Webサーバ全体のSSL定義
Webサーバ全体のSSL定義です。クライアント認証を行うSSL運用、およびクライアント認証を行わないSSL運用を設定できます。
バーチャルホスト内のSSL定義
バーチャルホストごとのSSL定義です。本設定により、SSLを使用しない通信とSSLを使用する通信を同時に運用することができます。
■Webサーバ全体のSSL定義
例
以下のような設定でSSL運用を行う場合
ポート番号「443」
サーバの管理者のEmailアドレス「webmaster@main.example.com」
サーバのホスト名「main.example.com」
SSLプロトコルバージョン「SSL3.3(TLS 1.2)」
クライアント認証あり
スロット情報ディレクトリ「d:\ssl\slotdir」
トークンラベル「secret_key_tok」
ユーザPIN管理ファイル「d:\ssl\upinfile」
運用管理ディレクトリ「d:\ssl\envdir」
サイト証明書のニックネーム「server_cert」
クライアントCA証明書のニックネーム「client_cert」
暗号化の方法「SSL_TXT_RSA_WITH_AES_256_GCM_SHA384、SSL_TXT_RSA_WITH_AES_256_CBC_SHA256、SSL_TXT_RSA_WITH_AES_256_CBC_SHA、SSL_TXT_RSA_WITH_AES_128_GCM_SHA256、SSL_TXT_RSA_WITH_AES_128_CBC_SHA256、SSL_TXT_RSA_WITH_AES_128_CBC_SHA」
LoadModule ihs_ssl_module "C:/Interstage/F3FMihs/modules/mod_ihs_ssl.so" Listen 443 ServerAdmin webmaster@main.example.com ServerName main.example.com SSLExec on SSLVersion 3.3 SSLVerifyClient require SSLSlotDir d:/ssl/slotdir SSLTokenLabel secret_key_tok SSLUserPINFile d:/ssl/upinfile SSLEnvDir d:/ssl/envdir SSLCertName server_cert SSLClCACertName client_cert SSLCipherSuite RSA-AES-256-GCM-SHA384:RSA-AES-256-SHA256:RSA-AES-256-SHA:RSA-AES-128-GCM-SHA256:RSA-AES-128-SHA256:RSA-AES-128-SHA
例
以下のような設定でSSL運用を行う場合
ポート番号「443」
サーバの管理者のEmailアドレス「webmaster@main.example.com」
サーバのホスト名「main.example.com」
証明書/鍵管理環境を構築したユーザのユーザID「user1」
証明書/鍵管理環境を構築したユーザのグループID「group1」
SSLプロトコルバージョン「SSL3.3(TLS 1.2)」
クライアント認証あり
スロット情報ディレクトリ「/home/ssl/slotdir」
トークンラベル「secret_key_tok」
ユーザPIN管理ファイル「/home/ssl/upinfile」
運用管理ディレクトリ「/home/ssl/envdir」
サイト証明書のニックネーム「server_cert」
クライアントCA証明書のニックネーム「client_cert」
暗号化の方法「SSL_TXT_RSA_WITH_AES_256_GCM_SHA384、SSL_TXT_RSA_WITH_AES_256_CBC_SHA256、SSL_TXT_RSA_WITH_AES_256_CBC_SHA、SSL_TXT_RSA_WITH_AES_128_GCM_SHA256、SSL_TXT_RSA_WITH_AES_128_CBC_SHA256、SSL_TXT_RSA_WITH_AES_128_CBC_SHA」
LoadModule ihs_ssl_module "/opt/FJSVihs/modules/mod_ihs_ssl.so" Listen 443 ServerAdmin webmaster@main.example.com ServerName main.example.com User user1 Group group1 SSLExec on SSLVersion 3.3 SSLVerifyClient require SSLSlotDir /home/ssl/slotdir SSLTokenLabel secret_key_tok SSLUserPINFile /home/ssl/upinfile SSLEnvDir /home/ssl/envdir SSLCertName server_cert SSLClCACertName client_cert SSLCipherSuite RSA-AES-256-GCM-SHA384:RSA-AES-256-SHA256:RSA-AES-256-SHA:RSA-AES-128-GCM-SHA256:RSA-AES-128-SHA256:RSA-AES-128-SHA
■バーチャルホスト内のSSL定義
例
以下のような設定で運用を行う場合
スロット情報ディレクトリ「d:\ssl\slotdir」
トークンラベル「secret_key_tok」
ユーザPIN管理ファイル「d:\ssl\upinfile」
SSLを使用しないバーチャルホスト
ポート番号「80」
サーバのホスト名「main.example.com」
公開用ルートディレクトリ「C:\www\public」
SSLを使用するバーチャルホスト(クライアント認証あり)
ポート番号「443」
サーバのホスト名「main.example.com」
公開用ルートディレクトリ「C:\www\secure」
SSLプロトコルバージョン「SSL3.3(TLS 1.2)」
運用管理ディレクトリ「d:\ssl\envdir」
サイト証明書のニックネーム「cert_for_manager」
クライアントCA証明書のニックネーム「CACert_InfoCA」
暗号化の方法「SSL_TXT_RSA_WITH_AES_256_GCM_SHA384、SSL_TXT_RSA_WITH_AES_256_CBC_SHA256、SSL_TXT_RSA_WITH_AES_256_CBC_SHA、SSL_TXT_RSA_WITH_AES_128_GCM_SHA256、SSL_TXT_RSA_WITH_AES_128_CBC_SHA256、SSL_TXT_RSA_WITH_AES_128_CBC_SHA」
アクセスログのログファイル名「C:\Interstage\F3FMihs\logs\accesslog_secure」
エラーログのログファイル名「C:\Interstage\F3FMihs\logs\errorlog_secure」
LoadModule ihs_ssl_module "C:/Interstage/F3FMihs/modules/mod_ihs_ssl.so" Listen 80 Listen 443 SSLSlotDir d:/ssl/slotdir SSLTokenLabel secret_key_tok SSLUserPINFile d:/ssl/upinfile <VirtualHost 192.168.0.1:80> ServerName main.example.com DocumentRoot C:/www/public </VirtualHost> <VirtualHost 192.168.0.1:443> ServerName main.example.com DocumentRoot C:/www/secure SSLExec on SSLVersion 3.3 SSLVerifyClient require SSLEnvDir d:/ssl/envdir SSLCertName cert_for_manager SSLClCACertName CACert_InfoCA SSLCipherSuite RSA-AES-256-GCM-SHA384:RSA-AES-256-SHA256:RSA-AES-256-SHA:RSA-AES-128-GCM-SHA256:RSA-AES-128-SHA256:RSA-AES-128-SHA CustomLog "|ihsrlog.exe -s logs/accesslog_secure 1 5" ihs-analysis ErrorLog "|ihsrlog.exe -s logs/errorlog_secure 1 5" </VirtualHost>
例
以下のような設定で運用を行う場合
証明書/鍵管理環境を構築したユーザのユーザID「user1」
証明書/鍵管理環境を構築したユーザのグループID「group1」
スロット情報ディレクトリ「/home/ssl/slotdir」
トークンラベル「secret_key_tok」
ユーザPIN管理ファイル「/home/ssl/upinfile」
SSLを使用しないバーチャルホスト
ポート番号「80」
サーバのホスト名「main.example.com」
公開用ルートディレクトリ「/home/www/public」
SSLを使用するバーチャルホスト(クライアント認証あり)
ポート番号「443」
サーバのホスト名「main.example.com」
公開用ルートディレクトリ「/home/www/secure」
SSLプロトコルバージョン「SSL3.3(TLS 1.2)」
運用管理ディレクトリ「/home/ssl/envdir」
サイト証明書のニックネーム「cert_for_manager」
クライアントCA証明書のニックネーム「CACert_InfoCA」
暗号化の方法「SSL_TXT_RSA_WITH_AES_256_GCM_SHA384、SSL_TXT_RSA_WITH_AES_256_CBC_SHA256、SSL_TXT_RSA_WITH_AES_256_CBC_SHA、SSL_TXT_RSA_WITH_AES_128_GCM_SHA256、SSL_TXT_RSA_WITH_AES_128_CBC_SHA256、SSL_TXT_RSA_WITH_AES_128_CBC_SHA」
アクセスログのログファイル名「/opt/FJSVihs/logs/accesslog_secure」
エラーログのログファイル名「/opt/FJSVihs/logs/errorlog_secure」
LoadModule ihs_ssl_module "/opt/FJSVihs/modules/mod_ihs_ssl.so" Listen 80 Listen 443 User user1 Group group1 SSLSlotDir /home/ssl/slotdir SSLTokenLabel secret_key_tok SSLUserPINFile /home/ssl/upinfile <VirtualHost 192.168.0.1:80> ServerName main.example.com DocumentRoot /home/www/public </VirtualHost> <VirtualHost 192.168.0.1:443> ServerName main.example.com DocumentRoot /home/www/secure SSLExec on SSLVersion 3.3 SSLVerifyClient require SSLEnvDir /home/ssl/envdir SSLCertName cert_for_manager SSLClCACertName CACert_InfoCA SSLCipherSuite RSA-AES-256-GCM-SHA384:RSA-AES-256-SHA256:RSA-AES-256-SHA:RSA-AES-128-GCM-SHA256:RSA-AES-128-SHA256:RSA-AES-128-SHA CustomLog "|/opt/FJSVihs/bin/ihsrlog -s logs/accesslog_secure 1 5" ihs-analysis ErrorLog "|/opt/FJSVihs/bin/ihsrlog -s logs/errorlog_secure 1 5" </VirtualHost>
注意
サイト証明書および認証局の証明書(発行局証明書)には、有効期限があります。この有効期限が切れた状態でWebサーバ運用を続行した場合、エラーメッセージ「ihs00504」/「ihs00505」が出力され、Webサーバの起動処理/通信処理を行うことができません。cmdspcertコマンドで証明書の有効期間を確認し、有効期限が切れる前に新しい証明書を取得して登録してください。証明書の登録方法については、「14.6 証明書/鍵管理環境の管理」の「証明書を更新する(証明書の有効期限が切れる)場合」を参照してください。登録後は、Interstage HTTP Serverを再起動する必要があります。
なお、サイト証明書および認証局の証明書(発行局証明書)の有効期限が切れる前に、証明書の有効日数を通知する警告メッセージ「ihs00536」/「ihs00537」を、出力タイミングを指定して出力させることができます。
Interstage HTTP Serverの環境定義ファイル(httpd.conf)の定義例を以下に示します。
例)以下のタイミングで、サイト証明書および認証局の証明書(発行局証明書)の有効日数を通知する警告メッセージ「ihs00536」/「ihs00537」を出力させる場合
証明書の有効期限が切れる15日前から有効期間満了日までの間のWebサーバ起動時
証明書の有効期限が切れる10日前の9:30 (Webサーバ運用中)
証明書の有効期限が切れる3日前の9:30 (Webサーバ運用中)
証明書の有効期限が切れる1日前の9:30 (Webサーバ運用中)
SSLCertExpire All 15 10,3,1:093000
参考