2 SSLおよびTLSセキュリティの構成

Oracle HTTP Serverは、Secure Sockets Layer (SSL)プロトコルを使用して通信を保護します。

SSLは、メッセージの暗号化、整合性および認証を提供することで、通信を保護します。SSL標準により、ブラウザやHTTPサーバーなどの関係するコンポーネントは、どの暗号化、認証および整合性メカニズムを使用するかのネゴシエーションができます。

プロトコルおよび暗号の構成

Oracle HTTP Serverは、最も強力な暗号およびプロトコルのみをサポートするように構成することをお薦めします。次に、優先されるプロトコルおよび暗号のリストを示します:

ノート:

このリリースでは、使用可能なプロトコルおよび暗号の最もセキュアなリストを次に示します。セキュアな暗号の更新済リストについては、My Oracle Supportの「セキュリティ・パッチ更新の適用後にOracle HTTP Serverを保護するために必要なSSL構成」(ドキュメントID: 2314658.1)を参照してください。
  • プロトコル

    推奨されるプロトコルはTLSv1.2のみです。

  • 暗号
    
    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    TLS_RSA_WITH_AES_128_GCM_SHA256
    TLS_RSA_WITH_AES_256_GCM_SHA384
    TLS_RSA_WITH_AES_128_CBC_SHA256
    TLS_RSA_WITH_AES_256_CBC_SHA256
    SSL_RSA_WITH_AES_128_CBC_SHA
    SSL_RSA_WITH_AES_256_CBC_SHA

サーバー証明書の使用

証明書、信頼できる証明書、証明書リクエスト、秘密キーなどの資格証明などの資格証明は、Oracleウォレットに格納されます。

キーおよび証明書に関するセキュリティのベスト・プラクティスは次のとおりです:

強いキーの使用

暗号キーの生成に使用される秘密キーは、秘密キーと対応する証明書の想定存続期間に対して強度がある必要があります。

ベスト・プラクティスは、2048ビット以上のキー・サイズを選択することです。

キーの保護

秘密キーを含むウォレットが、不正アクセスから保護された場所に格納されていることを確認します。

強力な暗号化ハッシュ・アルゴリズムの使用

証明書がSHA-256ハッシュ・アルゴリズムを使用して署名されていることを確認します。MD5またはSHA-1アルゴリズムを使用して署名された証明書は、これらのアルゴリズムに暗号化の脆弱性があることがわかっているため、ブラウザでは信頼されません。

必要なドメイン名をサポートする証明書の使用

Oracle HTTPサーバーのサーバー証明書が必要なドメイン名をサポートしていることを確認します。証明書のドメイン名またはサブジェクトは、証明書を提示するサーバーの完全修飾名と一致する必要があります。サブジェクト代替名(SAN)を使用して、有効な証明書で複数の名前の特定のリストを指定できます。

たとえば、https://abc.example.comおよびhttps://xyz.example.comでアクセス可能なWebアプリケーションについて考えてみます。この場合、証明書はサブジェクトの共通名属性をexample.comとしてリストし、abc.example.comxyz.example.comの2つのSANをリストします。これらの証明書は複数ドメイン証明書と呼ばれます。

『Oracle HTTP Serverの管理』Oracle HTTP ServerでのSAN証明書の使用に関する項を参照してください。

また、Webアプリケーションへのアクセス時にユーザーに証明書エラーが表示されないことを確認してください。

CA署名証明書の使用

インターネット接続アプリケーションの場合、証明書は、オペレーティング・システムおよびブラウザによって自動的に信頼される既知の認証局(CA)の1つによって署名される必要があります。

場所ディレクティブを使用したURIの保護

mod_osslモジュールのSSLCipherSuiteディレクティブは、強力なSSLパラメータをサポートするクライアントのみがURIにアクセスできるように、<Location>ブロックで構成できます。これにより、再ネゴシエーションが強制され、新しい構成を満たすクライアントのみが許可されます。

次に、URIを保護するように場所ディレクティブを構成する例を示します:

# be liberal in general - 
SSLCipherSuite ALL
<Location "/strong/area">
# but https://hostname/strong/area/ and below requires strong ciphersuites
SSLCipherSuite HIGH
</Location>

Oracle HTTP Serverでの完全な前方秘匿性の有効化

完全な前方秘匿性(PFS)は、サーバーの秘密キーが損なわれた場合でもセッション・キーが損なわれないことを保証する特定のキー・アグリーメント・プロトコルの機能です。

Oracle HTTP Serverのすぐに利用可能な構成では、完全な前方秘匿性の機能が明示的に有効化されていません。PFSを有効化するには、Oracle HTTP Serverで次の構成の変更を行います:

  1. SSLProtocolディレクティブを使用して、OHSサーバーのTLS1.2プロトコルを構成します。『Oracle Fusion Middleware Oracle HTTP Serverの管理』SSLProtocolディレクティブに関する項を参照してください。
  2. SSLHonorCipherOrderをONに設定して、サーバー暗号スイートの順序を強制します。『Oracle HTTP Serverの管理』SSLHonorCipherOrderディレクティブに関する項を参照してください。
  3. Oracle HTTP ServerウォレットでECC証明書を使用します。『Oracle Fusion Middlewareの管理』orapkiを使用したECC証明書のOracleウォレットへの追加に関する項を参照してください。
  4. OHSでECDHE_ECDSA暗号スイートを構成します。サポートされているECDHE_ECDSA暗号スイートのリストは、『Oracle HTTP Serverの管理』SSLCipherSuiteディレクティブに関する項を参照してください。