プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server 12.1.3セキュリティの管理
12c (12.1.3)
E57576-07
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

38 SSLプロトコル・バージョンの指定

この章では、SSL接続で有効なSSLとTLSの最低サポート・バージョンを制限するようWebLogic Server 12.1.3を構成する方法について説明します。

この章では、以下のトピックについて説明します。

ハンドシェイクで使用されるSSLバージョンについて

SSLハンドシェイクの開始時に、SSLピアは両方のピアがサポートする最も高いプロトコル・バージョンを判断します。ただし、SSL接続で有効なSSLとTLSの最低サポート・バージョンを制限するようWeblogic Serverを構成することもできます。

SSLハンドシェイクで有効なSSLおよびTLSのバージョンを指定するには、WebLogic Serverを起動するコマンドライン引数で次のシステム・プロパティのいずれかを設定でします。

  • weblogic.security.SSL.protocolVersion

  • weblogic.security.SSL.minimumProtocolVersion

WebLogic ServerでのSSLプロトコル・サポートについて、次の点に注意してください。

  • JSSEベースのSSL実装が有効な場合(第39章「JSSEベースSSL実装の使用」を参照)、SSLプロトコル・サポートはインストールされているJSSEプロバイダに依存します。

  • WebLogic ServerがSSLサーバーとして動作する場合、サポートされていれば、クライアントのハロー・メッセージで指定された方のプロトコルになります。


    注意:

    12.1.3よりも前のWebLogic Serverバージョンでは、クライアントがSSLv2Helloを送信すると、WebLogic ServerがそれをSSLv3Helloに変換しました。ただし、WebLogic Server 12.1.3ではJDK 7のみがサポートされ(クライアントはJDK 6または7を使用できる)、SSLv2Helloプロトコルはサポートされません。

    つまり、SSLv2Helloを送信するクライアントは、バージョン12.1.3のWebLogic Serverに接続することができません。クライアントはSSLv3Helloを送信する必要があります。

    weblogic.security.SSL.protocolVersion=SSL3を設定して、クライアントがSSLv3Helloを送信するように強制します。


  • WebLogic ServerはSSL V2.0をサポートしていません。

weblogic.security.SSL.protocolVersionシステム・プロパティの使用

ほとんどの場合、SSLプロトコルまたはTLSプロトコルの最新バージョンが適切ですが、ピアがこれをサポートしていない場合もあります。許容できるSSLプロトコルおよびTLSプロトコルの有効化にTLS V1プロトコルが適している状況(互換性、SSLのパフォーマンス、セキュリティ要件が最大の環境など)に基づいて、有効なSSLプロトコルまたはTLSプロトコルを指定できます。WebLogic Serverを起動するコマンドライン引数でweblogic.security.SSL.protocolVersionシステム・プロパティを指定することで、SSL接続に使用するプロトコルを指定できます。

次のコマンド・ライン引数を指定すると、WebLogic ServerはSSL V3.0またはTLS接続のみをサポートします。

  • -Dweblogic.security.SSL.protocolVersion=SSL3 - SSL V3.0のメッセージのみが送信されて受理されます。クライアントが以前のバージョンのSSLで接続を確立しようとすると、WebLogic Serverによって拒否され、拒否メッセージがクライアントに返されます。

  • -Dweblogic.security.SSL.protocolVersion=TLS1 - このプロパティ値により、送信され受け入れられるメッセージに対し、TLSで始まるプロトコル(TLS V1.0、TLS V1.1、TLS V1.2など)が有効になります。

  • -Dweblogic.security.SSL.protocolVersion=ALL - デフォルトの動作です。ALLが選択された場合、デフォルトはJSSEプロバイダおよびJDKバージョンによって異なります。Sun JSSEに対してサポートされているプロトコルのバージョンの一覧については、http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunJSSEProviderを参照してください。

次の点に注意してください。

  • SSL V3.0プロトコルとTLS V1プロトコルは入れ替えできません。すべての必要なSSLクライアントがそのプロトコルを使用できることが確かである場合は、TLS V1プロトコルのみを使用します。

  • weblogic.security.SSL.protocolVersionシステム・プロパティを設定しないと、SSLv3Hello、SSLv3およびTLSv1のプロトコルが有効になります。さらに、JSSEの場合、TLSで始まるすべてのバージョンも有効になります。

  • weblogic.security.SSL.minimumProtocolVersionシステム・プロパティにサポートされている有効なプロトコルが設定されている場合、weblogic.security.SSL.protocolVersionで設定したプロトコル値は無視されます。


警告:

このシステム・プロパティでTLS1またはALLを指定すると、SSLプロバイダでサポートされているTLS V1の全バージョンがSSL接続で使用できるようになります。JSSEベースの実装では、TLS V1.0、TLS V1.1およびTLS V1.2がサポートされています。本番環境ではTLS V1.1以降を使用することをお薦めします。これはweblogic.security.SSL.minimumProtocolVersionシステム・プロパティにより使用可能です。詳細は、「weblogic.security.SSL.minimumProtocolVersionシステム・プロパティの使用」を参照してください。

weblogic.security.SSL.minimumProtocolVersionシステム・プロパティの使用

本番環境では、SSL接続でのメッセージの送受信にTLS V1.1以降をお薦めします。

SSL接続に対して有効なSSL V3.0およびTLS V1の最低バージョンを制御するには、WebLogic Serverを起動するコマンドラインでweblogic.security.SSL.minimumProtocolVersion=protocolシステム・プロパティをオプションとして設定します。このシステム・プロパティでは、protocolに次の値のいずれかを受け入れます。

説明
SSLv3
SSL接続で有効な最低プロトコル・バージョンとしてSSL V3.0を指定します。
TLSv1
SSL接続で有効な最低プロトコル・バージョンとしてTLS V1.0を指定します。
TLSvx.y
SSL接続で有効な最低プロトコル・バージョンとしてTLS Vx.yを指定します。ここで:
  • xは1 - 9の整数です。

  • yは0 - 9の整数です。

たとえば、TLSv1.2となります。


weblogic.security.SSL.minimumProtocolVersionシステム・プロパティに指定できる各値により有効になる特定のプロトコルは、WebLogic Serverが構成されるSSL実装に依存します。次の項では、これらのプロトコルを、WebLogic Serverで使用可能なJSSEベースのSSL実装について示します。

JSSEベースのSSL実装で有効なプロトコル

JSSEベースのSSL実装を使用するようにWebLogic Serverが構成され、weblogic.security.SSL.minimumProtocolVersionシステム・プロパティを使用してプロトコルの最低バージョンを指定する場合、有効となる特定のSSLプロトコルおよびTLSプロトコルは、次のようにSSL実装でサポートされるプロトコルに依存します。

  • 指定する特定の最低プロトコル・バージョンがサポートされている場合、WebLogic Serverはこのプロトコル・バージョンおよびサポートされるこれ以降のプロトコル・バージョンすべてを有効にします。

    例:

    指定するプロトコル JSSEベースのSSL実装でサポートされるプロトコル 有効となるプロトコル
    TLSv1
    
    SSLv3
    TLSv1
    TLSv1.1
    TLSv1.2
    
    TLSv1
    TLSv1.1
    TLSv1.2
    

  • 指定する特定の最低プロトコル・バージョンがサポートされていない場合、Weblogic Serverは、次に低いプロトコルおよびサポートされるこれ以降のプロトコルすべてを有効にします。最も低いプロトコル・バージョンはSSLv3に制限されます。

    例:

    指定するプロトコル JSSEベースのSSL実装でサポートされるプロトコル 有効となるプロトコル
    TLSv1
    
    SSLv3
    TLSv1.1
    TLSv1.2
    
    SSLv3
    TLSv1.1
    TLSv1.2
    

  • 指定する最低プロトコル・バージョンがサポートされておらず、これより古い(低いバージョンの)プロトコル(SSLv3以降)がサポートされていない場合、WebLogic Serverは、サポートされているこれより新しい(高い)バージョンすべてを有効にします。通常、このケースが適用されるのはSSLv3が最小に設定されたときです。

    例:

    指定するプロトコル JSSEベースのSSL実装でサポートされるプロトコル 有効となるプロトコル
    SSLv3
    
    TLSv1
    TLSv1.1
    TLSv1.2
    
    TLSv1
    TLSv1.1
    TLSv1.2
    

  • 指定する特定の最低プロトコル・バージョンが無効な場合、WebLogic ServerはSSLv3それ以降のサポート対象プロトコル・バージョンすべてを有効にします。

    例:

    指定するプロトコル JSSEベースのSSL実装でサポートされるプロトコル 有効となるプロトコル
    TSLv0
    
    SSLv3
    TLSv1
    TLSv1.1
    TLSv1.2
    
    SSLv3
    TLSv1
    TLSv1.1
    TLSv1.2