4.3. SSL/TLS プロトコルのバージョン


概要

Apache CXF がサポートする SSL/TLS プロトコルのバージョンは、設定された特定の JSSE プロバイダー によって異なります。デフォルトでは、JSSE プロバイダーは SUN の JSSE プロバイダー実装に設定されます。

警告

SSL/TLS セキュリティーを有効にする場合は、Poodle 脆弱性 (CVE-2014-3566) に対して保護するために、SSLv3 プロトコルを明示的に無効にする必要があります。詳細は、Disabling SSLv3 in JBoss Fuse 6.x and JBoss A-MQ 6.x を参照してください。

SunJSSE でサポートされる SSL/TLS プロトコルバージョン

表4.2「SUN の JSSE プロバイダーがサポートする SSL/TLS プロトコル」 は、SUN の JSSE プロバイダーがサポートする SSL/TLS プロトコルバージョンを示しています。

表4.2 SUN の JSSE プロバイダーがサポートする SSL/TLS プロトコル
プロトコル説明

SSLv2Hello

使用しないでください !(POODLE セキュリティー脆弱性)

SSLv3

使用しないでください !(POODLE セキュリティー脆弱性)

TLSv1

TLS バージョン 1 をサポートします。

TLSv1.1

TLS バージョン 1.1 (JDK 7 以降) をサポートします。

TLSv1.2

TLS バージョン 1.2 (JDK 7 以降) をサポートします。

特定の SSL/TLS プロトコルバージョンの除外

デフォルトでは、JSSE プロバイダーによって提供される SSL/TLS プロトコルはすべて、CXF エンドポイントで利用できます (ただし、SSLv2Hello および SSLv3 プロトコルは除きます。これらは、Poodle の脆弱性 (CVE-2014-3566) が原因で、Fuse バージョン 6.2.0 以降、CXF ラインタイムによって明確に除外されています)。

特定の SSL/TLS プロトコルを除外するには、エンドポイント設定で sec:excludeProtocols 要素を使用します。sec:excludeProtocols 要素を httpj:tlsServerParameters 要素の子として設定できます (サーバーサイド)。

TLS バージョン 1.2 以外のすべてのプロトコルを除外するには、以下のように sec:excludeProtocols 要素を設定します (JDK 7 以降を使用していることを前提とします)。

<?xml version="1.0" encoding="UTF-8"?>
<beans ... >
  ...
  <httpj:engine-factory bus="cxf">
    <httpj:engine port="9001">
      ...
      <httpj:tlsServerParameters>
        ...
        <sec:excludeProtocols>
          <sec:excludeProtocol>SSLv2Hello</sec:excludeProtocol>
          <sec:excludeProtocol>SSLv3</sec:excludeProtocol>
          <sec:excludeProtocol>TLSv1</sec:excludeProtocol>
          <sec:excludeProtocol>TLSv1.1</sec:excludeProtocol>
        </sec:excludeProtocols>
      </httpj:tlsServerParameters>
    </httpj:engine>
  </httpj:engine-factory>
  ...
</beans>
重要

Poodle の脆弱性 (CVE-2014-3566) から保護するには、常に SSLv2Hello および SSLv3 プロトコルを除外することを推奨します。

secureSocketProtocol 属性

http:tlsClientParameters 要素と httpj:tlsServerParameters 要素の両方が secureSocketProtocol 属性をサポートするため、特定のプロトコルを指定できます。

この属性のセマンティクスは混乱しますが、この属性は指定のプロトコルをサポートする SSL プロバイダーを選択するよう CXF を強制的に実行しますが、プロバイダーが指定されたプロトコルのみを使用するように制限されません。そのため、エンドポイントは指定されたプロトコルとは異なるプロトコルを使用して終了します。このため、コードで secureSocketProtocol 属性を 使用しない ことが推奨されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.