ページの先頭行へ戻る
Interstage Application Server V13.1.0 Interstage HTTP Server 2.4運用ガイド
FUJITSU Software

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

SSL環境設定には以下のディレクティブの設定が必要となります。

ディレクティブ

説明

SSLEngine

SSL/TLS使用を切り替えます。

On | Off

SSLProtocol

使用可能なSSL / TLSプロトコルバージョンを指定します。

推奨値:TLSv1.2 +TLSv1.3 (TLSv1.2とTLSv1.3を使用)

SSLSessionCache

グローバル/プロセス間SSLセッションキャッシュのタイプを指定します。

推奨値:"shmcb:/opt/FJSVahs/logs/ssl_scache(512000)"

※mod_socache_shmcbのロードが必要です。

SSLSessionCacheTimeout

SSLセッションキャッシュのタイムアウトまでの秒数

SSLCertificateFile

サイト証明書及びCA(中間含む)証明書を指定します。

SSLCertificateKeyFile

サイト秘密鍵を指定します。

SSLCACertificateFile

クライアント認証時の受け入れ可能な認証局の証明書を指定します。(*1)

SSLCipherSuite

使用可能な暗号リストを指定します。

SSLVerifyClient

クライアント認証の証明書検証レベルを指定します。(*1)

none | optional | require

クライアント認証を必須とする場合、requireを指定してください。

SSLVerifyDepth

クライアント証明書の認証局階層最大数を指定します。(*1)

SSLCARevocationCheck

証明書失効リストチェックを有効にします。(*1)

chain | leaf | none

SSLCARevocationFile

CRLを指定します。(*1)

SSLUserPINFile

パスフレーズ管理ファイルを指定します。

(*1) 設定の詳細は、「3.10 クライアント認証の設定」を参照してください。

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

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


Webサーバ全体のSSL定義

以下のような設定でSSL運用(クライアント認証なし)を行う場合

  • ポート番号「443」

  • サーバの管理者のE-mailアドレス「webmaster@main.example.com」

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

  • SSLプロトコルバージョン「TLSv1.2 TLSv1.3を使用」

  • パスフレーズ管理ファイル「c:\ahs\sslenv\sslcert\upinfile」

  • サイト証明書「c:\ahs\sslenv\sslcert\cert\server.pem」

  • サイト秘密鍵「c:\ahs\sslenv\sslcert\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」

    Listen      443
    ServerAdmin webmaster@main.example.com
    ServerName  main.example.com
    
    SSLEngine      On
    SSLProtocol    TLSv1.2 +TLSv1.3
    SSLCertificateFile     c:\ahs\sslenv\sslcert\cert\server.pem
    SSLCertificateKeyFile  c:\ahs\sslenv\sslcert\server.key
    
    SSLUserPINFile  c:\ahs\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

以下のような設定でSSL運用(クライアント認証なし)を行う場合

  • ポート番号「443」

  • サーバの管理者のE-mailアドレス「webmaster@main.example.com」

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

  • SSLプロトコルバージョン「TLSv1.2 TLSv1.3を使用」

  • パスフレーズ管理ファイル「/export/home/ahs/sslcert/upinfile」

  • サイト証明書「/export/home/ahs/sslcert/server.pem」

  • サイト秘密鍵「/export/home/ahs/sslcert/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」

Listen      443
ServerAdmin webmaster@main.example.com
ServerName  main.example.com

SSLEngine      On
SSLProtocol    TLSv1.2 +TLSv1.3
SSLCertificateFile     /export/home/ahs/sslcert/server.pem
SSLCertificateKeyFile  /export/home/ahs/sslcert/server.key
SSLUserPINFile  /export/home/ahs/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

以下のような設定でSSL運用(クライアント認証あり)を行う場合

  • ポート番号「443」

  • サーバの管理者のE-mailアドレス「webmaster@main.example.com」

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

  • SSLプロトコルバージョン「TLSv1.2 TLSv1.3を使用」

  • パスフレーズ管理ファイル「c:\ahs\sslenv\sslcert\upinfile」

  • サイト証明書「c:\ahs\sslenv\sslcert\cert\server.pem」

  • サイト秘密鍵「c:\ahs\sslenv\sslcert\server.key」

  • 認証局証明書「c:\ahs\sslenv\sslcert\cert\ca.pem」

  • 暗号化の方法
    「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」

Listen      443
ServerAdmin webmaster@main.example.com
ServerName  main.example.com

SSLEngine      On
SSLProtocol    TLSv1.2 +TLSv1.3
SSLCertificateFile     c:\ahs\sslenv\sslcert\cert\server pem
SSLCertificateKeyFile  c:\ahs\sslenv\sslcert\server.key
SSLCACertificateFile   c:\ahs\sslenv\sslcert\cert\ca.pem

SSLVerifyClient require 
SSLVerifyDepth  1
SSLCARevocationCheck chain
SSLCARevocationFile    c:\ahs\sslenv\sslcert\crl\crl_list.crl

SSLUserPINFile  c:\ahs\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

以下のような設定でSSL運用(クライアント認証あり)を行う場合

  • ポート番号「443」

  • サーバの管理者のE-mailアドレス「webmaster@main.example.com」

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

  • SSLプロトコルバージョン「TLSv1.2 TLSv1.3を使用」

  • パスフレーズ管理ファイル「/export/home/ahs/sslcert/upinfile」

  • 暗号化の方法
    「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」

Listen      443
ServerAdmin webmaster@main.example.com
ServerName  main.example.com

SSLEngine      On
SSLProtocol    TLSv1.2 +TLSv1.3
SSLCertificateFile     /export/home/ahs/sslcert/server.pem
SSLCertificateKeyFile  /export/home/ahs/sslcert/server.key
SSLCACertificateFile   /export/home/ahs/sslcert/cert/ca.pem
SSLUserPINFile  /export/home/ahs/sslcert/upinfile

SSLVerifyClient require 
SSLVerifyDepth  1
SSLCARevocationCheck chain
SSLCARevocationFile    /export/home/ahs/sslcert/crl/crl_list.crl
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

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

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

  • パスフレーズ管理ファイル「c:\ahs\sslenv\sslcert\upinfile」

  • SSLを使用しないバーチャルホスト

    • ポート番号「80」

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

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

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

    • ポート番号「443」

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

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

    • SSLプロトコルバージョン「TLSv1.2 TLSv1.3を使用」

    • サイト証明書「c:\ahs\sslenv\sslcert\cert\server.pem」

    • サイト秘密鍵「c:\ahs\sslenv\sslcert\server.key」

    • 認証局証明書「c:\ahs\sslenv\sslcert\cert\ca.pem」

    • 暗号化の方法
      「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」

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

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

Listen 80
Listen 443

SSLUserPINFile c:\ahs\sslenv\sslcert\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
    SSLEngine      On
    SSLProtocol    TLSv1.2 +TLSv1.3
    SSLCertificateFile     c:\ahs\sslenv\sslcert\cert\server.pem
    SSLCertificateKeyFile  c:\ahs\sslenv\sslcert\server.key
    SSLCACertificateFile   c:\ahs\sslenv\sslcert\cert\ca.pem

    SSLVerifyClient require 
    SSLVerifyDepth  1
    SSLCARevocationCheck chain
    SSLCARevocationFile    c:\ahs\sslenv\sslcert\cert\crl\crl_list.crl

    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
    CustomLog "|\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -s \"C:/Interstage/F3FMahs/logs/accesslog_secu
re\" 1 5" ahs-analysis
    ErrorLog "|\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -s \"C:/Interstage/F3FMahs/logs/errorlog_secure
\" 1 5"</VirtualHost>

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

  • パスフレーズ管理ファイル「/export/home/ahs/sslcert/upinfile」

  • SSLを使用しないバーチャルホスト

    • ポート番号「80」

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

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

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

    • ポート番号「443」

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

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

    • SSLプロトコルバージョン「TLSv1.2 TLSv1.3を使用」

    • 暗号化の方法
      「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」

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

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

Listen 80
Listen 443

SSLUserPINFile /export/home/ahs/sslcert/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
    SSLEngine      On
    SSLProtocol    TLSv1.2 +TLSv1.3
    SSLCertificateFile     /export/home/ahs/sslcert/server.pem
    SSLCertificateKeyFile  /export/home/ahs/sslcert/server.key
    SSLCACertificateFile   /export/home/ahs/sslcert/cert/ca.pem

    SSLVerifyClient require 
    SSLVerifyDepth  1
    SSLCARevocationCheck chain
    SSLCARevocationFile    /export/home/ahs/sslcert/crl/crl_list.crl

    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
    CustomLog "|/opt/FJSVahs/bin/ahsrlog -s \"/opt/FJSVahs/logs/accesslog_secure\" 1 5" ahs-analysis
    ErrorLog "|/opt/FJSVahs/bin/ahsrlog -s \"/opt/FJSVahs/logs/errorlog_secure\" 1 5"
</VirtualHost>

参考

関連ディレクティブ

  • CustomLog

  • DocumentRoot

  • ErrorLog

  • Group

  • Listen

  • LoadModule

  • ServerAdmin

  • ServerName

  • SSLEngine

  • SSLProtocol

  • SSLCertificateFile

  • SSLCertificateKeyFile

  • SSLCACertificateFile

  • SSLCipherSuite

  • SSLUserPINFile

  • SSLVerifyClient

  • SSLVerifyDepth

  • SSLCARevocationCheck

  • SSLCARevocationFile

  • User

  • <VirtualHost>