プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle HTTP Serverの管理
12c (12.2.1.1)
E77379-02
目次へ移動
目次

前

G OHSモジュール・ディレクティブ

この付録では、オラクル社が開発したOHSによってサポートされているモジュールで使用できるディレクティブについて説明します。これらの項目が含まれます。

mod_wl_ohsモジュールに関する注意

Oracle HTTP Serverには、この付録に記載されたディレクティブおよびモジュールに加えて、通常、Oracle WebLogic Serverプロキシ・プラグインと呼ばれるmod_wl_ohsモジュールが含まれています。このモジュールのディレクティブの詳細は、Oracle WebLogic Serverプロキシ・プラグイン12.2.1の使用のWeb Serverプラグインのパラメータを参照してください。

mod_certheadersモジュール

mod_certheadersモジュールには次のディレクティブを使用できます。

AddCertHeaderディレクティブ

CGI環境変数に変換する必要があるヘッダーを指定します。これは、AddCertHeaderディレクティブを使用して実行できます。このディレクティブは単一の引数を取ります。この引数は、受信リクエストのHTTPヘッダーから移入する必要があるCGI環境変数です。たとえば、SSL_CLIENT_CERT CGI環境変数を移入します。

カテゴリ

構文

AddCertHeader environment_variable

AddCertHeader SSL_CLIENT_CERT

デフォルト

なし

SimulateHttpsディレクティブ

mod_certheadersを使用すると、特定のリクエストがHTTP経由で受信された場合でも、HTTPS経由で受信されたかのようにそれらのリクエストを扱うように、Oracle HTTP Serverに指示することができます。これは、Oracle HTTP Serverがリバース・プロキシまたはロード・バランサのフロントエンドになっている場合に役立ちます。リバース・プロキシまたはロード・バランサは、SSLリクエストの終端点の機能を果たし、HTTPS経由でOracle HTTP Serverにリクエストを転送します。

カテゴリ

構文

SimulateHttps on|off

SimulateHttps on

デフォルト

off

mod_osslモジュール

Oracle HTTP Serverに対してSSLを構成するには、使用するmod_osslモジュールのディレクティブをssl.confファイルに入力します。

次の項で、これらのmod_osslディレクティブについて説明します。

SSLCARevocationFileディレクティブ

証明書を発行したCA(認証局)からの証明書失効リスト(CRL)をまとめるファイルを指定します。このリストは、クライアント認証に使用されます。このファイルは、PEMでエンコードされた様々なCRLファイルを優先順位の順に連結したものです。このディレクティブは、SSLCARevocationPathの代替または補助用に使用できます。

カテゴリ

構文

SSLCARevocationFile file_name

SSLCARevocationFile ${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/crl/ca_bundle.cr

デフォルト

なし

SSLCARevocationPathディレクティブ

PEMでエンコードされている証明書失効リスト(CRL)が格納されるディレクトリを指定します。CRLは、証明書の発行元のCA(認証局)から届きます。CRLのいずれかに記載されている証明書を使用してクライアントが自身を認証しようとすると、証明書は取り消され、そのクライアントはサーバーに対して自身を認証できなくなります。

このディレクティブは、CRLのハッシュ値が含まれるディレクトリを指している必要があります。ハッシュを生成するコマンドは、『Oracle Fusion Middlewareの管理』の「orapki」を参照してください。

カテゴリ

構文

SSLCARevocationPath path/to/CRL_directory/

SSLCARevocationPath ${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/crl 

デフォルト

なし

SSLCipherSuiteディレクティブ

クライアントがSSLハンドシェイク時に使用できるSSL暗号スイートを指定します。このディレクティブでは、カンマまたはコロンで区切られた暗号指定文字列を使用して暗号スイートを識別します。表11-2は、必要な暗号スイートを記述するためにこの文字列で使用できるタグを示しています。SSLCipherSuiteには次の接頭辞を使用できます。

  • none: リストに暗号を追加します。

  • +: リストに暗号を追加し、リスト内の正しい位置に配置します。

  • -: リストから暗号を削除します(後で追加できます)。

  • !: リストから暗号を永続的に削除します。

タグは、暗号指定文字列を構成する接頭辞と結合されます。表G-1に、暗号スイートのタグを示します。

カテゴリ

SSLCipherSuite ALL:!MD5

この例では、MD5強度暗号を除くすべての暗号が指定されています。

構文

SSLCipherSuite cipher-spec

デフォルト

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,SSL_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA

表G-1 SSL暗号スイートのタグ

機能 タグ 意味

鍵の交換

kRSA

RSA鍵の交換

鍵の交換

kECDHE

楕円曲線Diffie–Hellman交換のキー交換

認証

aRSA

RSA認証

暗号化

3DES

Triple DESエンコード

暗号化

RC4

RC4エンコード

データの整合性

SHA

SHAハッシュ関数

データの整合性

SHA256

SHA256ハッシュ関数

データの整合性

SHA384

SHA384ハッシュ関数

別名

TLSv1

すべてのTLS V1暗号

別名

TLSv1.1

すべてのTLS V1.1暗号

別名

TLSv1.2

すべてのTLS V1.2暗号

別名

MEDIUM

128ビット暗号化を使用したすべての暗号

別名

HIGH

サイズが128ビットを超える暗号鍵を使用したすべての暗号

別名

AES

AES暗号化を使用したすべての暗号

別名

RSA

RSA認証およびRSA鍵交換の両方を使用したすべての暗号

別名

ECDSA

認証の楕円曲線デジタル署名アルゴリズムを使用したすべての暗号

別名

ECDHE

楕円曲線Diffie–Hellman交換のキー交換を使用したすべての暗号

別名

AES-GCM

暗号用のGalois/Counter Mode (GCM)でAdvanced Encryption Standardを使用するすべての暗号。

表G-2に、Oracle Advanced Security 12c (12.2.1)でサポートされている暗号スイートを示します。


表G-2 Oracle Advanced Security 12.2.1でサポートされている暗号スイート

暗号スイート 鍵の交換 認証 暗号化 データの整合性 TLS v1 TLS v1.1 TLS v1.2

SSL_RSA_WITH_RC4_128_SHA

RSA

RSA

RC4 (128)

SHA

SSL_RSA_WITH_3DES_EDE_CBC_SHA

RSA

RSA

3DES (168)

SHA

SSL_RSA_WITH_AES_128_CBC_SHA

RSA

RSA

AES (128)

SHA

SSL_RSA_WITH_AES_256_CBC_SHA

RSA

RSA

AES (256)

SHA

TLS_RSA_WITH_AES_128_CBC_SHA256

RSA

RSA

AES (128)

SHA256

×

×

TLS_RSA_WITH_AES_256_CBC_SHA256

RSA

RSA

AES (256)

SHA256

×

×

TLS_RSA_WITH_AES_128_GCM_SHA256

RSA

RSA

AES (128)

SHA256

×

×

TLS_RSA_WITH_AES_256_GCM_SHA384

RSA

RSA

AES (256)

SHA384

×

×

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

ECDHE

ECDSA

AES (128)

SHA

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

ECDHE

ECDSA

AES (256)

SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

ECDHE

ECDSA

AES (128)

SHA256

×

×

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

ECDHE

ECDSA

AES (256)

SHA384

×

×

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

ECDHE

ECDSA

AES (128)

SHA256

×

×

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

ECDHE

ECDSA

AES (256)

SHA384

×

×

TLS_ECDHE_RSA_WITH_RC4_128_SHA

RSA署名付きのエフェメラルECDH

RSA

RC4 (128)

SHA

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

RSA署名付きのエフェメラルECDH

RSA

3DES

SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

RSA署名付きのエフェメラルECDH

RSA

AES (128)

SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

RSA署名付きのエフェメラルECDH

RSA

AES (256)

SHA

TLS_ECDHE_ECDSA_WITH_RC4_128_SHA

ECDSA署名付きのエフェメラルECDH

ECDSA

RC4 (128)

SHA

TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA

ECDSA署名付きのエフェメラルECDH

ECDSA

3DES

SHA

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

RSA署名付きのエフェメラルECDH

RSA

AES (256)

SHA384

×

×

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

RSA署名付きのエフェメラルECDH

RSA

AES (128)

SHA256

×

×

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

RSA署名付きのエフェメラルECDH

RSA

AES (256)

SHA384

×

×

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

RSA署名付きのエフェメラルECDH

RSA

AES (128)

SHA256

×

×


SSLEngineディレクティブ

SSLプロトコル・エンジンの使用を切り替えます。通常は<VirtualHost>セクションの中で使用し、特定の仮想ホストに対してSSLを有効にします。デフォルトでは、SSLプロトコル・エンジンは、メイン・サーバーとすべての構成済仮想ホストの両方で無効にされています。

カテゴリ

構文

SSLEngine on|off

SSLEngine on

デフォルト

Off

SSLFIPSディレクティブ

このディレクティブは、SSLライブラリのFIPS_modeフラグの使用方法を切り替えます。これは、グローバル・サーバー・コンテキスト内に設定される必要があり、競合する設定(SSLFIPS offが続くSSLFIPS onなど)があると構成できません。このモードはすべてのSSLライブラリ操作に適用されます。

カテゴリ

構文

SSLFIPS ON | OFF

SSLFIPS ON

デフォルト

Off

SSLFIPSの変更を構成する場合は、SSLFIPS on/offディレクティブがssl.conf内でグローバルに設定されている必要があります。仮想レベルの構成はSSLFIPSディレクティブ内で無効になっています。したがって、仮想ディレクティブにSSLFIPSを設定するとエラーになります。

注意:

SSLFIPSに関する次の制限に注意してください。

  • Oracle HTTP ServerでSSLFIPSモードを有効化するには、AESで暗号化された(compat_v12)ヘッダー付きで作成されたウォレットが必要になります。新しいウォレットを作成する場合、または既存のウォレットをAES暗号を使用して変換する場合は、Oracle Fusion Middlewareの管理のorapkiに関する項で次の項を参照してください。

    orapkiを使用したOracleウォレットの作成と表示

    AES暗号化によるOracleウォレットの作成

    AES暗号化を使用するように既存のウォレットを変換

次の表で、SSLFIPSモードで様々なプロトコルとともに動作する暗号スイートについて説明します。これらの暗号スイートの実装方法の手順は、SSLCipherSuiteディレクティブを参照してください。

表G-3に、SSLFIPSモードのTLS 1.0、TLS1.1およびTLS 1.2プロトコルで動作する暗号スイートを示します。


表G-3 SSLFIPSモードのすべてのTLSプロトコルで動作する暗号

暗号名 暗号は次のプロトコルで動作します。

SSL_RSA_WITH_3DES_EDE_CBC_SHA

TLS 1.0、TLS1.1およびTLS 1.2

SSL_RSA_WITH_AES_128_CBC_SHA

TLS 1.0、TLS1.1およびTLS 1.2

SSL_RSA_WITH_AES_256_CBC_SHA

TLS 1.0、TLS1.1およびTLS 1.2


表G-4に、SSLFIPSモードで使用できる暗号スイートおよびプロトコルを示します。


表G-4 FIPSモードで動作する暗号

暗号名 暗号は次のプロトコルで動作します。

TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA

TLS 1.0以降

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

TLS 1.0以降

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

TLS 1.0以降

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

TLS1.2以降

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

TLS1.2以降

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

TLS1.2以降

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

TLS1.2以降

TLS_RSA_WITH_AES_128_CBC_SHA256

TLS1.2以降

TLS_RSA_WITH_AES_256_CBC_SHA256

TLS1.2以降

TLS_RSA_WITH_AES_128_GCM_SHA256

TLS1.2以降

TLS_RSA_WITH_AES_256_GCM_SHA384

TLS1.2以降

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS1.2以降

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

TLS1.2以降

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

TLS1.2以降

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

TLS1.2以降

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

TLS 1.0以降

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

TLS 1.0以降

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

TLS 1.0以降


注意:

  • SSLFIPSがONに設定され、FIPSをサポートしない暗号がサーバーで使用されている場合、その暗号を使用するクライアント・リクエストは失敗します。

  • SSLFIPSがONに設定され、FIPSをサポートする暗号がサーバーで使用されている場合、その暗号を使用するクライアント・リクエストは成功します。

表G-5に、SSPFIPSモードで動作しない暗号スイートを示します。


表G-5 SSLFIPSモードで動作しない暗号

暗号名 説明

TLS_ECDHE_ECDSA_WITH_RC4_128_SHA

すべてのプロトコルでSSLFIPSモードで動作しない

SSL_RSA_WITH_RC4_128_SHA

すべてのプロトコルでSSLFIPSモードで動作しない

TLS_ECDHE_RSA_WITH_RC4_128_SHA

すべてのプロトコルでSSLFIPSモードで動作しない


SSLHonorCipherOrderディレクティブ

ハンドシェイク中に暗号を選択すると、通常、クライアントのプリファレンスが使用されます。このディレクティブが有効な場合、サーバーのプリファレンスがかわりに使用されます。

カテゴリ

構文

SSLHonorCipherOrder ON | OFF

SSLHonorCipherOrder ON 

デフォルト

OFF

サーバーのプリファレンス順序はSSLCipherSuiteディレクティブを使用して構成できます。SSLHonorCipherOrderがONに設定されている場合、SSLCipherSuiteの値は暗号値の順序付きリストとして扱われます。

このリストの最初に表示される暗号値は、リストのそれ以降に表示される暗号よりもサーバーで優先されます。

:

SSLCipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

SSLHonorCipherOrder ON

この例では、サーバーはTLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384を、クライアントがサポートしている場合、リストで最初に表示され、SSL接続用にこの暗号を選択するので、SSLCipherSuiteディレクティブで構成されているその他のすべての暗号よりも優先します。

SSLInsecureRenegotiationディレクティブ

最初は指定されていたように、SSLプロトコルとTLSプロトコルのすべてのバージョン(TLS/1.2を含めて、これまで)は、ネゴシエーション中の中間者攻撃(CVE-2009-3555)に対して脆弱でした。この脆弱性によって、攻撃者は、Webサーバーで表示される任意の平文をHTTPリクエストの前に付け加えることができます。クライアントとサーバーの両方でサポートされている場合は、この脆弱性を修正するプロトコルの拡張が開発されています。

中間者攻撃(CVE-2009-3555)の詳細は、次を参照してください。

https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-3555

デフォルト・モード

ディレクティブSSLInsecureRenegotionが構成に指定されていない場合、Oracle HTTP Serverは互換モードで動作します。

このモードでは、Renegotiation Info/Signaling Cipher Suite Value (RI/SCSV)をサポートしない脆弱なピアとの接続が可能になりますが、再ネゴシエーションはRI/SCSVをサポートしているピアとのみ許可されます。

SSLInsecureRenegotiation ON

このオプションでは、再ネゴシエーションを実行するRI/SCSVのない脆弱なピアを許可します。したがって、このオプションはCVE-2009-3555で説明している再ネゴシエーション攻撃に対してサーバーを脆弱なままにするため、注意して使用する必要があります。

SSLInsecureRenegotiation OFF

このオプションが使用されると、RI/SCSVをサポートするピアのみがセッションとネゴシエーションおよび再ネゴシエーションできます。これが最もセキュアな推奨されるモードです。

カテゴリ

構文

SSLInsecureRenegotiation ON | OFF

SSLInsecureRenegotiation ON

デフォルト

デフォルト値は、ONでもOFFでもありません。見出しの「デフォルト・モード」で説明しているように、デフォルトでは、Oracle HTTP Serverは互換モードで動作します。

SSLInsecureRenegotiationを構成するには、ssl.confファイルを編集して、SSLInsecureRenegotiation ON/OFFをグローバルまたは仮想的に設定し、セキュアでない再ネゴシエーションを有効(または無効)に設定します。

SSLOptionsディレクティブ

ディレクトリ単位で様々なランタイム・オプションを制御します。一般に、1つのディレクトリに複数のオプションが適用される場合は、最も包括的なオプションが適用されます(オプションはマージされません)。ただし、SSLOptionsディレクティブのすべてのオプションの前にプラス(+)またはマイナス(-)符号が付いている場合は、オプションがマージされます。プラスが前に付いているオプションは、現在有効なオプションに追加され、マイナスが前に付いているオプションは、現在有効なオプションから除外されます。

使用できる値は次のとおりです。

  • StdEnvVars: SSLに関連するCGI/SSI環境変数の標準セットを作成します。抽出操作はCPU時間が長くかかること、また静的コンテンツを提供するときには一般に適用されないことから、これはデフォルトでは無効になっています。一般に、この値はCGI/SSIリクエストの場合にのみ有効にします。

  • ExportCertData: 次の追加CGI/SSI変数を有効にします。

    SSL_SERVER_CERT

    SSL_CLIENT_CERT

    SSL_CLIENT_CERT_CHAIN_n (ここでn= 0, 1, 2...)

    これらの変数には、現在のHTTPS接続のサーバーおよびクライアント用にPrivacy Enhanced Mail (PEM)でエンコードされたX.509証明書が含まれています。CGIスクリプトではこれを使用して、より詳しい証明書チェックを行うことができます。クライアント証明書連鎖の他の証明書がすべて提供されます。このオプションを使用するとパフォーマンスに時間がかかるため、デフォルトではOffになっています。

    SSL_CLIENT_CERT_CHAIN_n変数の順序は、次のようになります。SSL_CLIENT_CERT_CHAIN_0は、SSL_CLIENT_CERTを署名する中間的なCAです。SSL_CLIENT_CERT_CHAIN_1は、SSL_CLIENT_ROOT_CERTをルートCAとして、SSL_CLIENT_CERT_CHAIN_0などを署名する中間的なCAです。

  • FakeBasicAuth: クライアントのX.509証明書の対象識別名をHTTP Basic認証のユーザー名に変換します。これは、標準のHTTPサーバー認証方式がアクセス制御に使用できることを意味します。ユーザーからはパスワードが取得されず、文字列passwordが置き換えられます。

  • StrictRequire: SSLRequireSSLディレクティブまたはディレクティブに従ってアクセスを禁止する必要がある場合にアクセスを拒否します。StrictRequireを指定しないと、Satisfy anyディレクティブ設定がSSLRequireまたはSSLRequireSSLディレクティブをオーバーライドして、クライアントがホスト制約を渡した場合、または有効なユーザー名とパスワードを指定した場合に、アクセスが許可されてしまう可能性があります。

    このように、SSLRequireSSLまたはSSLRequireSSLOptions +StrictRequireと組み合せることで、mod_osslはあらゆる場合にSatisfy anyディレクティブをオーバーライドできます。

  • CompatEnvVars: Apache SSL 1.x、mod_ssl 2.0.x、Sioux 1.0およびStronghold 2.xとの後方互換性のために、廃止された環境変数をエクスポートします。これは、既存のCGIスクリプトに対する互換性を提供するために使用します。

  • OptRenegotiate: SSLのディレクティブがディレクトリ単位のコンテキストで使用されるときに、最適化されたSSL接続再ネゴシエーション処理を有効にします。

カテゴリ

構文

SSLOptions [+-] StdEnvVars | ExportCertData | FakeBasicAuth | StrictRequire | CompatEnvVars | OptRenegotiate

SSLOptions -StdEnvVars

デフォルト

なし

SSLProtocolディレクティブ

mod_osslがサーバー環境を設定するときに使用するSSLプロトコルを指定しますクライアントは、指定されたプロトコルのいずれかでのみ接続できます。使用できる値は次のとおりです。

  • TLSv1

  • TLSv1.1

  • TLSv1.2

  • All

注意:

SSLv3はリリース12.2.1では無効化されています。

複数の値をスペース区切りのリストとして指定できます。構文で、"-"および"+"記号の意味は次のとおりです。

  • + : プロトコルをリストに追加します

  • - : プロトコルをリストから削除します

現在のリリースでは、All+TLSv1 +TLSv1.1 +TLSv1.2として定義されます。

カテゴリ

構文

SSLProtocol [+-] TLSv1 | TLSv1.1 | TLSv1.2 | All

SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2

デフォルト

ALL

SSLProxyCipherSuiteディレクティブ

プロキシがSSLハンドシェイク時に使用できるSSL暗号スイートを指定します。このディレクティブでは、コロンで区切られた暗号指定文字列を使用して暗号スイートを識別します。表G-1に、必要な暗号スイートを記述するためにこの文字列で使用するタグを示します。SSLProxyCipherSuiteには次の値を使用できます。

  • none: リストに暗号を追加します。

  • +: リストに暗号を追加し、リスト内の正しい位置に配置します。

  • -: リストから暗号を削除します(後で追加できます)。

  • !: リストから暗号を永続的に削除します。

タグは、暗号指定文字列を構成する接頭辞と結合されます。タグは、暗号指定文字列を構成する接頭辞と結合されます。SSLProxyCipherSuiteディレクティブはSSLCipherSuiteディレクティブと同じタグを使用します。サポートされているスイート・タグのリストについては、表G-1を参照してください。

カテゴリ

SSLProxyCipherSuite ALL:!MD5

この例では、MD5強度暗号を除くすべての暗号が指定されています。

構文

SSLProxyCipherSuite cipher-spec

デフォルト

ALL:!ADH:+HIGH:+MEDIUM

SSLProxyCipherSuiteディレクティブはSSLCipherSuiteディレクティブと同じ暗号スイートを使用します。Oracle Advanced Security 12.2.1でサポートされている暗号スイートのリストについては、表G-2を参照してください。

SSLProxyEngineディレクティブ

プロキシのSSL/TLSプロトコル・エンジンを有効または無効にします。SSLProxyEngineは<VirtualHost>セクションの中で使用し、特定の仮想ホストでのプロキシの使用に対してSSL/TLSを有効にします。デフォルトでは、SSL/TLSプロトコル・エンジンは、メイン・サーバーとすべての構成済仮想ホストの両方でプロキシに対して無効になっています。

SSLProxyEngineは、(ProxyディレクティブまたはProxyRequestディレクティブを使用した)フォワード・プロキシとして動作する仮想ホストに含めることはできません。プロキシSSL/TLSリクエストに対してフォワード・プロキシ・サーバーを有効化する際に、SSLProxyEngineは必須ではありません。

カテゴリ

構文

SSLProxyEngine ON | OFF

SSLProxyEngine on

デフォルト

Disable

SSLProxyProtocolディレクティブ

mod_osslがサーバー環境でプロキシ接続を設定するときに使用するSSLプロトコルを指定します。プロキシは、指定されたプロトコルのいずれかでのみ接続できます。使用できる値は次のとおりです。

  • TLSv1

  • TLSv1.1

  • TLSv1.2

  • All

複数の値をスペース区切りのリストとして指定できます。構文で、"-"および"+"記号の意味は次のとおりです。

  • + : リストにプロトコルを追加

  • - : リストからプロトコルを削除

現在のリリースでは、All+TLSv1 +TLSv1.1 +TLSv1.2として定義されます。

カテゴリ

構文

SSLProxyProtocol [+-] TLSv1 | TLSv1.1 | TLSv1.2 | All

SSLProxyProtocol +TLSv1 +TLSv1.1 +TLSv1.2

デフォルト

ALL

SSLProxyWalletディレクティブ

プロキシ接続が使用する必要のある、WRLを使用してウォレットの場所を指定(ファイルパスとして指定)します。

カテゴリ

構文

SSLProxyWallet file:path to wallet

SSLProxyWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/proxy"

デフォルト

なし

SSLRequireディレクティブ

任意の複合ブール式がTRUEでないかぎり、アクセスを拒否します。

カテゴリ

構文

SSLRequire expression (「式変数の理解」を参照)

SSLRequire word ">=" word |word "ge" word

デフォルト

なし

式変数の理解

変数は、次の構文と一致する必要があります(BNF構文表記として示してあります)。

expr ::= "true" | "false"
"!" expr
expr "&&" expr
expr "||" expr
"(" expr ")"

comp ::=word "==" word | word "eq" word
word "!=" word |word "ne" word
word "<" word |word "lt" word
word "<=" word |word "le" word
word ">" word |word "gt" word
word ">=" word |word "ge" word
word "=~" regex
word "!~" regex
wordlist ::= word
wordlist "," word

word ::= digit
cstring
variable
function

digit ::= [0-9]+

cstring ::= "..."

variable ::= "%{varname}"

表G-6表G-7に、標準変数とSSL変数を示します。これらの値はvarnameの有効値です。

function ::= funcname "(" funcargs ")"

funcnameには、次の関数を使用できます。

file(filename)

file関数は文字列引数(ファイル名)を1つ取り、そのファイルの内容に拡張します。これは、正規表現に照らしてファイルの内容を評価する場合に役立ちます。

表G-6に、SSLRequireディレクティブvarnameの標準変数を示します。

表G-6 SSLRequireのvarnameの標準変数

標準変数 標準変数 標準変数

HTTP_USER_AGENT

PATH_INFO

AUTH_TYPE

HTTP_REFERER

QUERY_STRING

SERVER_SOFTWARE

HTTP_COOKIE

REMOTE_HOST

API_VERSION

HTTP_FORWARDED

REMOTE_IDENT

TIME_YEAR

HTTP_HOST

IS_SUBREQ

TIME_MON

HTTP_PROXY_CONNECTION

DOCUMENT_ROOT

TIME_DAY

HTTP_ACCEPT

SERVER_ADMIN

TIME_HOUR

HTTP:headername

SERVER_NAME

TIME_MIN

THE_REQUEST

SERVER_PORT

TIME_SEC

REQUEST_METHOD

SERVER_PROTOCOL

TIME_WDAY

REQUEST_SCHEME

REMOTE_ADDR

TIME

REQUEST_URI

REMOTE_USER

ENV:variablename

REQUEST_FILENAME

 

 

表G-7に、ディレクティブのvarnameのSSL変数を示します。

表G-7 SSLRequireのvarnameのSSL変数

SSL変数 SSL変数 SSL変数

HTTPS

SSL_PROTOCOL

SSL_CIPHER_ALGKEYSIZE

SSL_CIPHER

SSL_CIPHER_EXPORT

SSL_VERSION_INTERFACE

SSL_CIPHER_USEKEYSIZE

SSL_VERSION_LIBRARY

SSL_SESSION_ID

SSL_CLIENT_V_END

SSL_CLIENT_M_SERIAL

SSL_CLIENT_V_START

SSL_CLIENT_S_DN_ST

SSL_CLIENT_S_DN

SSL_CLIENT_S_DN_C

SSL_CLIENT_S_DN_CN

SSL_CLIENT_S_DN_O

SSL_CLIENT_S_DN_OU

SSL_CLIENT_S_DN_G

SSL_CLIENT_S_DN_T

SSL_CLIENT_S_DN_I

SSL_CLIENT_S_DN_UID

SSL_CLIENT_S_DN_S

SSL_CLIENT_S_DN_D

SSL_CLIENT_I_DN_C

SSL_CLIENT_S_DN_Email

SSL_CLIENT_I_DN

SSL_CLIENT_I_DN_O

SSL_CLIENT_I_DN_ST

SSL_CLIENT_I_DN_L

SSL_CLIENT_I_DN_T

SSL_CLIENT_I_DN_OU

SSL_CLIENT_I_DN_CN

SSL_CLIENT_I_DN_S

SSL_CLIENT_I_DN_I

SSL_CLIENT_I_DN_G

SSL_CLIENT_I_DN_Email

SSL_CLIENT_I_DN_D

SSL_CLIENT_I_DN_UID

SSL_CLIENT_CERT

SSL_CLIENT_CERT_CHAIN_n

SSL_CLIENT_ROOT_CERT

SSL_CLIENT_VERIFY

SSL_CLIENT_M_VERSION

SSL_SERVER_M_VERSION

SSL_SERVER_V_START

SSL_SERVER_V_END

SSL_SERVER_M_SERIAL

SSL_SERVER_S_DN_C

SSL_SERVERT_S_DN_ST

SSL_SERVER_S_DN

SSL_SERVER_S_DN_OU

SSL_SERVER_S_DN_CN

SSL_SERVER_S_DN_O

SSL_SERVER_S_DN_I

SSL_SERVER_S_DN_G

SSL_SERVER_S_DN_T

SSL_SERVER_S_DN_D

SSL_SERVER_S_DN_UID

SSL_SERVER_S_DN_S

SSL_SERVER_I_DN

SSL_SERVER_I_DN_C

SSL_SERVER_S_DN_Email

SSL_SERVER_I_DN_L

SSL_SERVER_I_DN_O

SSL_SERVER_I_DN_ST

SSL_SERVER_I_DN_CN

SSSL_SERVER_I_DN_T

SSL_SERVER_I_DN_OU

SSL_SERVER_I_DN_G

SSL_SERVER_I_DN_I

 

SSLRequireSSLディレクティブ

SSLを使用していないクライアントに対してアクセスを拒否します。構成エラーにより、セキュリティがぜい弱になる可能性があるSSL対応の仮想ホストまたはディレクトリの完全保護に役立つディレクティブです。

カテゴリ

構文

SSLRequireSSL

SSLRequireSSL

デフォルト

なし

SSLSessionCacheディレクティブ

グローバル・セッションまたはプロセス間セッションのセッション・キャッシュ・ストレージ・タイプを指定します。キャッシュは、リクエストのパラレル処理を高速化するオプションの方法を提供します。使用できる値は次のとおりです。

  • none: グローバルまたはプロセス間セッション・キャッシュを無効にします。機能に対する影響はありませんが、パフォーマンスに大きな差が出ます。

  • nonenotnull: グローバルおよびプロセス間セッション・キャッシュを無効にします。

  • shmcb:/path/to/datafile[bytes]: 高パフォーマンスのShared Memory Cyclic Buffer (SHMCB)セッション・キャッシュを使用して、サーバー・プロセスのローカルSSLメモリー・キャッシュと同期化します。注意: このshm設定では、ローカル・ディスクの/path/to/datafileの下にログ・ファイルは作成されません。

カテゴリ

構文

SSLSessionCache none | nonenotnull | shmcb:/path/to/datafile[bytes]

SSLSessionCache "shmcb:${ORACLE_INSTANCE}/servers/${COMPONENT_NAME}/logs/ssl_scache(512000)"

デフォルト

SSLSessionCache shmcb:/path/to/datafile[bytes]

SSLSessionCacheTimeoutディレクティブ

セッション・キャッシュ内でSSLセッションの有効期限が満了になるまでの秒数を指定します。

カテゴリ

構文

SSLSessionCacheTimeout seconds

SSLSessionCacheTimeout 120

デフォルト

300

SSLTraceLogLevelディレクティブ

SSLTraceLogLevelは、Oracle Securityライブラリのエラー・ログに記録されるメッセージの冗長性を調整します。特定のレベルを指定すると、それより上位レベルの重要度のメッセージもすべて報告されます。たとえば、SSLTraceLogLevel sslが設定されていると、error、warn、userおよびdebugのログ・レベルのメッセージも報告されます。

注意:

このディレクティブはssl.confファイルにグローバルにのみ設定できます。

SSLTraceLogLevelでは次のログ・レベルが使用されます。

  • none: Oracle Security Traceが無効

  • fatal: 致命的なエラーが発生してシステムが使用できない状態

  • error: エラー状態

  • warn: 警告状態

  • user: 正常ではあるが、重大な状態

  • debug: デバッグ・レベルの状態

  • ssl: SSLレベルのデバッグ

カテゴリ

構文

SSLTraceLogLevel none | fatal | error | warn | user | debug | ssl 

SSLTraceLogLevel fatal

デフォルト

なし

SSLVerifyClientディレクティブ

接続時にクライアントが証明書を提示する必要があるかどうかを指定します。使用できる値は次のとおりです。

  • none: クライアント証明書は不要です。

  • optional: クライアントは有効な証明書を提示できます。

  • require: クライアントは有効な証明書を提示する必要があります。

カテゴリ

構文

SSLVerifyClient none | optional | require

SSLVerifyClient optional

デフォルト

なし

注意:

mod_sslに含まれているレベルoptional_no_ca(クライアントは有効な証明書を提示できるが、証明書が検証可能である必要はない)は、mod_osslではサポートされていません。

SSLWalletディレクティブ

WRLを使用してウォレットの場所を指定します。ファイルパスとして指定されます。

カテゴリ

構文

SSLWallet file:path to wallet directory

file:pathは単にpathと表すこともできます。

SSLWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/default"

デフォルト

これがデフォルトです。