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.com
とxyz.example.com
の2つのSANをリストします。これらの証明書は複数ドメイン証明書と呼ばれます。
『Oracle HTTP Serverの管理』のOracle HTTP ServerでのSAN証明書の使用に関する項を参照してください。
また、Webアプリケーションへのアクセス時にユーザーに証明書エラーが表示されないことを確認してください。
場所ディレクティブを使用した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で次の構成の変更を行います:
- SSLProtocolディレクティブを使用して、OHSサーバーのTLS1.2プロトコルを構成します。『Oracle Fusion Middleware Oracle HTTP Serverの管理』のSSLProtocolディレクティブに関する項を参照してください。
- SSLHonorCipherOrderを
ON
に設定して、サーバー暗号スイートの順序を強制します。『Oracle HTTP Serverの管理』のSSLHonorCipherOrderディレクティブに関する項を参照してください。 - Oracle HTTP ServerウォレットでECC証明書を使用します。『Oracle Fusion Middlewareの管理』のorapkiを使用したECC証明書のOracleウォレットへの追加に関する項を参照してください。
- OHSでECDHE_ECDSA暗号スイートを構成します。サポートされているECDHE_ECDSA暗号スイートのリストは、『Oracle HTTP Serverの管理』のSSLCipherSuiteディレクティブに関する項を参照してください。