• 検索結果がありません。

SMEEコマンドで構築する証明書/鍵管理環境のSSL通信

ドキュメント内 Interstage HTTP Server 2.2 運用ガイド (ページ 69-76)

第 3 章 環境設定

3.10 SSL の設定

3.10.2 SMEEコマンドで構築する証明書/鍵管理環境のSSL通信

・ Listen

・ LoadModule

・ ServerAdmin

・ ServerName

・ SSLCertExpire

・ SSLConfName

・ User

・ <VirtualHost>

ユーザPIN(対話入力)を暗号化して、ユーザPIN管理ファイル「d:\ssl\upinfile」に登録する場合 C:\Interstage\F3FMahs\bin\ihsregistupin.exe -f d:\ssl\upinfile -d d:\sslenv\slot

ユーザPIN(対話入力)を暗号化して、ユーザPIN管理ファイル「/home/ssl/upinfile」に登録する場合 /opt/FJSVahs/bin/ihsregistupin -f /home/ssl/upinfile -d /home/sslenv/slot

注意

セキュリティ対策のため、エクスプローラのファイルプロパティを使用して、以下の手順でユーザPIN管理ファイルのアク セス権限を変更することを推奨します。

1. エクスプローラを起動します。

2. ユーザPIN管理ファイルを選択して右クリックします。

3. [プロパティ]をクリックします。

4. [セキュリティ]タブをクリックします。

5. プロパティの[セキュリティ]画面で、以下のグループ以外の[アクセス許可]設定に「拒否」を選択して、[OK]ボタン をクリックします。

- Administrators

- SYSTEM

■環境設定ファイル(httpd.conf)の設定

SSL環境は、Webサーバ全体またはバーチャルホストごとに設定できます。

Webサーバ全体/バーチャルホストごとの設定に応じたバーチャルホストの設定例を以下に示します。

・ Webサーバ全体のSSL定義

クライアント認証を行うSSL運用、およびクライアント認証を行わないSSL運用を設定できます。

・ バーチャルホストごとのSSL定義

SSLを使用しない通信とSSLを使用する通信を同時に運用できます。

Webサーバ全体のSSL定義

以下のような設定でSSL運用を行う場合

・ ポート番号「443」

・ サーバの管理者のEmailアドレス「[email protected]

・ サーバのホスト名「main.example.com」

・ SSLプロトコルバージョン「SSL3.0」または「SSL3.1」(TLS 1.0)

・ クライアント認証あり

・ スロット情報ディレクトリ「d:\ssl\slotdir」

・ トークンラベル「secret_key_tok」

・ ユーザPIN管理ファイル「d:\ssl\upinfile」

・ 運用管理ディレクトリ「d:\ssl\envdir」

・ サイト証明書のニックネーム「server_cert」

・ クライアントCA証明書のニックネーム「client_cert」

・ 暗 号 化 の 方 法 「SSL_TXT_RSA_WITH_AES_256_CBC_SHA、SSL_TXT_RSA_WITH_AES_128_CBC_SHA、

SSL_TXT_RSA_WITH_3DES_EDE_CBC_SHA」

LoadModule ahs_ssl_module "C:/Interstage/F3FMahs/modules/mod_ahs_ssl.so"

Listen 443

ServerAdmin [email protected] ServerName main.example.com

SSLExec On SSLVersion 3-3.1 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-SHA:RSA-AES-128-SHA:RSA-3DES-SHA

以下のような設定でSSL運用を行う場合

・ ポート番号「443」

・ サーバの管理者のEmailアドレス「[email protected]

・ サーバのホスト名「main.example.com」

・ 証明書/鍵管理環境を構築したユーザのユーザID「user1」

・ 証明書/鍵管理環境を構築したユーザのグループID「group1」

・ SSLプロトコルバージョン「SSL3.0」または「SSL3.1」(TLS 1.0)

・ クライアント認証あり

・ スロット情報ディレクトリ「/home/ssl/slotdir」

・ トークンラベル「secret_key_tok」

・ ユーザPIN管理ファイル「/home/ssl/upinfile」

・ 運用管理ディレクトリ「/home/ssl/envdir」

・ サイト証明書のニックネーム「server_cert」

・ クライアントCA証明書のニックネーム「client_cert」

・ 暗 号 化 の 方 法 「SSL_TXT_RSA_WITH_AES_256_CBC_SHA、SSL_TXT_RSA_WITH_AES_128_CBC_SHA、

SSL_TXT_RSA_WITH_3DES_EDE_CBC_SHA」

LoadModule ahs_ssl_module /opt/FJSVahs/modules/mod_ahs_ssl.so Listen 443

ServerAdmin [email protected] ServerName main.example.com

User user1 Group group1 SSLExec On SSLVersion 3-3.1 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-SHA:RSA-AES-128-SHA:RSA-3DES-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\secure1」

- SSLプロトコルバージョン「SSL2.0」

- 運用管理ディレクトリ「d:\ssl\envdir」

- サイト証明書のニックネーム「cert_for_purchase」

- アクセスログのログファイル名「C:\Interstage\F3FMahs\logs\accesslog_secure1」

- エラーログのログファイル名「C:\Interstage\F3FMahs\logs\errorlog_secure1」

・ SSLを使用するバーチャルホスト(クライアント認証あり)

- ポート番号「8443」

- サーバのホスト名「main.example.com」

- 公開用ルートディレクトリ「C:\www\secure2」

- SSLプロトコルバージョン「SSL3.0」または「SSL3.1」(TLS 1.0)

- 運用管理ディレクトリ「d:\ssl\envdir」

- サイト証明書のニックネーム「cert_for_manager」

- クライアントCA証明書のニックネーム「CACert_InfoCA」

- 暗号化の方法「SSL_TXT_RSA_WITH_AES_256_CBC_SHA、SSL_TXT_RSA_WITH_AES_128_CBC_SHA、 SSL_TXT_RSA_WITH_3DES_EDE_CBC_SHA」

- アクセスログのログファイル名「C:\Interstage\F3FMahs\logs\accesslog_secure2」

- エラーログのログファイル名「C:\Interstage\F3FMahs\logs\errorlog_secure2」 LoadModule ahs_ssl_module "C:/Interstage/F3FMahs/modules/mod_ahs_ssl.so"

Listen 80 Listen 443 Listen 8443

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/secure1 SSLExec On

SSLVersion 2

SSLEnvDir d:/ssl/envdir SSLCertName cert_for_purchase

CustomLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -s \"C:/Interstage/F3FMahs/logs/

accesslog_secure1\" 1 5" ahs-analysis

ErrorLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -s \"C:/Interstage/F3FMahs/logs/errorlog_secure1\"

1 5"

</VirtualHost>

<VirtualHost 192.168.0.1:8443>

ServerName main.example.com DocumentRoot C:/www/secure2 SSLExec On

SSLVersion 3-3.1 SSLVerifyClient require SSLEnvDir d:/ssl/envdir SSLCertName cert_for_manager SSLClCACertName CACert_InfoCA

SSLCipherSuite RSA-AES-256-SHA:RSA-AES-128-SHA:RSA-3DES-SHA

CustomLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -s \"C:/Interstage/F3FMahs/logs/

accesslog_secure2\" 1 5" ahs-analysis

ErrorLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -s \"C:/Interstage/F3FMahs/logs/errorlog_secure2\"

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/secure1」

- SSLプロトコルバージョン「SSL2.0」

- 運用管理ディレクトリ「/home/ssl/envdir」

- サイト証明書のニックネーム「cert_for_purchase」

- アクセスログのログファイル名「/opt/FJSVahs/logs/accesslog_secure1」

- エラーログのログファイル名「/opt/FJSVahs/logs/errorlog_secure1」

・ SSLを使用するバーチャルホスト(クライアント認証あり)

- ポート番号「8443」

- サーバのホスト名「main.example.com」

- 公開用ルートディレクトリ「/home/www/secure2」

- SSLプロトコルバージョン「SSL3.0」または「SSL3.1」(TLS 1.0)

- 運用管理ディレクトリ「/home/ssl/envdir」

- サイト証明書のニックネーム「cert_for_manager」

- クライアントCA証明書のニックネーム「CACert_InfoCA」

- 暗号化の方法「SSL_TXT_RSA_WITH_AES_256_CBC_SHA、SSL_TXT_RSA_WITH_AES_128_CBC_SHA、

SSL_TXT_RSA_WITH_3DES_EDE_CBC_SHA」

- アクセスログのログファイル名「/opt/FJSVahs/logs/accesslog_secure2」

- エラーログのログファイル名「/opt/FJSVahs/logs/errorlog_secure2」

LoadModule ahs_ssl_module /opt/FJSVahs/modules/mod_ahs_ssl.so Listen 80

Listen 443 Listen 8443 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/secure1 SSLExec On

SSLVersion 2

SSLEnvDir /home/ssl/envdir SSLCertName cert_for_purchase

CustomLog "|/opt/FJSVahs/bin/ahsrlog -s /opt/FJSVahs/logs/accesslog_secure1 1 5" ahs-analysis ErrorLog "|/opt/FJSVahs/bin/ahsrlog -s /opt/FJSVahs/logs/errorlog_secure1 1 5"

</VirtualHost>

<VirtualHost 192.168.0.1:8443>

ServerName main.example.com DocumentRoot /home/www/secure2 SSLExec On

SSLVersion 3-3.1 SSLVerifyClient require

SSLEnvDir /home/ssl/envdir SSLCertName cert_for_manager SSLClCACertName CACert_InfoCA

SSLCipherSuite RSA-AES-256-SHA:RSA-AES-128-SHA:RSA-3DES-SHA

CustomLog "|/opt/FJSVahs/bin/ahsrlog -s /opt/FJSVahs/logs/accesslog_secure2 1 5" ahs-analysis ErrorLog "|/opt/FJSVahs/bin/ahsrlog -s /opt/FJSVahs/logs/errorlog_secure2 1 5"

</VirtualHost>

注意

サイト証明書および認証局の証明書(発行局証明書)の有効期限について

サイト証明書および認証局の証明書(発行局証明書)には、有効期限があります。この有効期限が切れた状態でWeb サーバ運用を続行した場合、エラーメッセージ「ahs00504」/「ahs00505」が出力され、Webサーバの起動処理/通信処 理を行うことができません。cmdspcertコマンドで証明書の有効期間を確認して、有効期限が切れる前に新しい証明書を 取得して登録してください。証明書の登録方法については、「セキュリティシステム運用ガイド」の「SMEEコマンドによる 証明書/鍵管理環境の構築と利用」-「証明書/鍵管理環境の管理」の「証明書を更新する(証明書の有効期限が切れる) 場合」を参照してください。登録後は、Webサーバを再起動する必要があります。

なお、サイト証明書および認証局の証明書(発行局証明書)の有効期限が切れる前に、証明書の有効日数を通知する 警告メッセージ「ahs00536」/「ahs00537」を、出力タイミングを指定して出力させることができます。

環境定義ファイル(httpd.conf)の定義例を以下に示します。

例)以下のタイミングで、サイト証明書および認証局の証明書(発行局証明書)の有効日数を通知する警告メッセージを 出力させる場合

・ 証明書の有効期限が切れる15日前から有効期間満了日までの間のWebサーバ起動時

・ 証明書の有効期限が切れる10日前の9:30 (Webサーバ運用中)

・ 証明書の有効期限が切れる3日前の9:30 (Webサーバ運用中)

・ 証明書の有効期限が切れる1日前の9:30 (Webサーバ運用中)

SSLCertExpire All 15 10,3,1:093000

参考

関連ディレクティブ

・ CustomLog

・ DocumentRoot

・ ErrorLog

・ Group

・ Listen

・ LoadModule

・ ServerAdmin

・ ServerName

・ SSLCertExpire

・ SSLConfName

・ SSLClCACertName

・ SSLCipherSuite

・ SSLEnvDir

・ SSLExec

・ SSLSlotDir

・ SSLTokenLabel

・ SSLUserPINFile

・ SSLVerifyClient

・ SSLVersion

・ User

・ <VirtualHost>

ドキュメント内 Interstage HTTP Server 2.2 運用ガイド (ページ 69-76)