ヘッダーをスキップ
Oracle Web Services Managerデプロイメント・ガイド
10g(10.1.3.1.0)
B31905-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

4 SSLでのOracle Web Services Managerコンポーネントの保護

Oracle Web Services Manager(Oracle WSM)コンポーネントは、他のOracle WSMコンポーネントにリクエストを送信し、そのコンポーネントからレスポンスを受信します。これらの通信を保護するために、Secure Sockets Layer(SSL)を使用するようにOracle WSMコンポーネントを構成できます。SSLは、最も普及している転送レベルのデータ通信プロトコルで、次の機能を提供します。

この章は、次の項で構成されています。

Oracle WSM環境での安全な通信の概要

Oracle WSM Policy Manager、Oracle WSM MonitorおよびWeb Services Manager Controlは、OC4JサーバーをホストとするJ2EEアプリケーションです。したがって、Oracle WSMでは、Javaプラットフォームでサポートされるすべてのセキュリティ方法をサポートしています。Oracle HTTP ServerとOC4Jサーバーの統合方法の詳細は、『Oracle HTTP Server管理者ガイド』を参照してください。

セキュリティ構成のオプション

転送のセキュリティをどのように構成するかは、インストールしたOracle WSMパッケージと、Oracle WSMコンポーネントがどのように管理されるかによって決まります。後続の項では、Oracle WSMインストールおよびデプロイメントのタイプに基づいた、転送セキュリティの構成方法について説明します。

Oracle SOA Suiteのインストール

Oracle WSMをOracle SOA Suiteの一部としてインストールした場合、OC4Jサーバーは、Oracle Process Manager and Notification Server(OPMN)によって管理されます。HTTPSを有効にし、SSLを使用するためのOPMNの構成については、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

Oracle SOA Suiteのインストール時には、2つのインストール・オプションがあります。どのオプションを選択したかによって、Oracle HTTP Serverがデフォルトで有効になる場合と、ならない場合があります。

  • 「基本」インストール・オプションを使用してOracle WSMをインストールした場合、Oracle HTTP Serverはデフォルトで有効になりません。

  • 「拡張」インストール・オプションを使用してOracle WSMをインストールした場合、Oracle HTTP Serverはデフォルトでは有効になります。Oracle HTTP Serverを有効にするには、『Oracle HTTP Server管理者ガイド』の第10章「Oracle HTTP ServerでのSSLの有効化」を参照してください。

様々なOracle SOA Suiteのインストール・オプションの詳細は、Oracle Application Serverのインストレーション・ガイドを参照してください。

スタンドアロンOracle WSMのインストール

Oracle WSMをスタンドアロン・パッケージの一部としてインストールした場合、OC4Jサーバーがどのように管理されるかは、次のいずれのインストール・オプションを選択したかによって異なります。

  • 「基本」スタンドアロン・インストールでは、OC4JサーバーはOPMNによって管理されません。

  • 「拡張」スタンドアロン・インストールでは、Oracle WSMはOracle SOA Suiteの既存インストールに追加され、OC4JサーバーはOPMNによって管理されます。

様々なスタンドアロン・インストール・オプションの詳細は、『Oracle Web Services Managerインストレーション・ガイド』を参照してください。

Oracle WSMデプロイメント・タイプの要約

表4-1には、様々なOracle WSMインストールとデプロイメント・タイプがまとめられています。インストール・パッケージとインストール・オプションによって、Oracle WSMデプロイメントのタイプが決まります。「SSL接続用のトラストストア構成」では、デプロイメント・タイプによって、安全な通信の構成方法が決まります。

表4-1 Oracle WSMインストールのデプロイメント・タイプ

インストール・パッケージ インストール・オプション Oracle WSMデプロイメント・タイプ

SOA Suite

基本

OPMN管理


拡張

OPMN管理

スタンドアロン

基本

スタンドアロンOC4J


拡張

OPMN管理


SSL接続用のトラストストア構成

2つのコンポーネント間のSSL接続の場合、SSL接続を開始するコンポーネントがクライアントとして機能し、接続のクライアント側はトラストストアを使用するように構成する必要があります。トラストストアは、クライアントがSSLハンドシェイク中に暗黙的に受け入れる信頼できる認証局が記載されたキーストア・ファイルです。この項では、次のOracle WSMデプロイメントで、クライアント用のトラストストア・ファイルを構成する方法について説明します。

  • OPMN管理デプロイメント

  • スタンドアロンOC4Jデプロイメント

インストールしたデプロイメントのタイプを確認するには、「セキュリティ構成オプション」を参照してください。

OPMN管理デプロイメント

Oracle WSMインストールがOPMNによって管理されている場合は、次の手順を実行します。

  1. ORACLE_HOME/opmn/conf/opmn.xmlファイルを変更します。

  2. JSSEトラストストア・プロパティを、XPath /opmn/process-manager/ias-component[id="default-group"]/process-type[id="home"]/module-data/category[id=start-parameters"]/data[id="java-options"]を持つノードのシステム・プロパティとして次のように追加します。

    -Djavax.net.ssl.trustStore=c:/mykeystore.jks

    -Djavax.net.ssl.trustStorePassword=changeit

    -Djavax.net.ssl.trustStoreType=JKS

    表4-2では、JSSEトラストストア・パラメータについて説明しています。

    表4-2 JSSEトラストストア・プロパティの説明

    パラメータ 説明

    -Djavax.net.ssl.trustStore

    トラストストアの場所のパス。

    -Djavax.net.ssl.trustStorePassword

    トラストストアへのアクセスに使用されるパスワード。

    -Djavax.net.ssl.trustStoreType

    トラストストア用に使用されるファイルのタイプ。有効値は、JKSまたはPKCS12。


スタンドアロンOC4Jサーバー・デプロイメント

Oracle WSMをスタンドアロン・パッケージの一部として、「基本」インストール・オプションでインストールした場合、次の手順を実行します。

  1. ORACLE_HOME/owsm/scripts/oc4j.xmlファイルを変更します。

  2. JSSEトラストストア・プロパティをシステム・プロパティとして、Antターゲット「oc4j.start」に次のように追加します。

    <target name="oc4j.start" description="-->Start OC4J server">

    <echo message="Starting stand-alone OC4J server in ${oc4J.j2ee.home}"\>

    <java.jar="${oc4j.j2ee.home}\oc4.jar

    fork="true"

    failonerror='true"

    dir="${oc4j.j2ee.home}">

    <jvmarg value="-XX:MaxPermSize=128M"\>

    <jvmarg value="-Xms512M\>

    <jvmarg value="-Xmx512M"\>

    <sysproperty key="http.nonproxyHosts" value=&quot;${noproxy.hosts}&quot;/>

    <sysproperty key="http.proxyHost" value=${proxy.host}"/>

    <sysproperty key="http.proxyPort" value=${proxy.port}"/>

    <sysproperty key="javax.net.ssl.trustStoreType" value="JKS"/>

    <sysproperty key="javax.net.ssl.trustStore" value="c:\mykeystore.jks"/>

    <sysproperty key="javax.net.ssl.trustStorePassword" value="changeit"/>

    </java>

    </target>

表4-3では、JSSEトラストストア・パラメータについて説明しています。

表4-3 JSSEトラストストア・パラメータの説明

パラメータ 説明

javax.net.ssl.trustStoreType

トラストストア用に使用されるファイルのタイプ。有効値は、JKSまたはPKCS12。

javax.net.ssl.trustStore

トラストストアの場所のパス。

javax.net.ssl.trustStorePassword

トラストストアへのアクセスに使用されるパスワード。


Oracle WSMコンポーネントの保護

図4-1は、Oracle WSMの基本デプロイメントで、どのコンポーネントが互いに通信するかを示しています。矢印は、接続が開始された場所から始まり、接続が終了する場所で終わります。たとえば、1つの接続が、Webサービス・クライアントによりOracle WSM Gatewayに対して開始されています。表4-4では、それぞれの接続、送信される情報のタイプ、およびサポートされる転送プロトコルについて説明しています。SSLを使用して保護できる接続については、表4-4に、安全な接続の構成方法を説明するこの章の項へのリンクが示されています。

図4-1 コンポーネント接続を示すOracle WSMデプロイメント

図4-1の説明が続きます
「図4-1 コンポーネント接続を示すOracle WSMデプロイメント」の説明

表4-4 Oracle WSMコンポーネント間の接続の説明

図の番号 コンポーネント間の接続の説明 サポートされている安全な転送プロトコル 安全な接続の構成方法に関する情報

1

ポリシー実行ポイント(PEP)により、HTTPでのOracle WSM Policy ManagerとのSSL接続が開始されます。PEPは、ポリシー情報を取得し、これをWebサービスに対してセキュリティを実行するために使用します。

HTTPでのSSL。

「PEPからOracle WSM Policy Managerへの接続の保護」


2

Web Services Manager Controlにより、HTTPでのOracle WSM Policy ManagerとのSSL接続が開始されます。Web Services Manager Controlは、ポリシーに更新情報を送信し、ユーザー・インタフェースにポリシー情報を表示します。Web Services Manager Controlは、SSL接続のクライアントとして機能します。

HTTPでのSSL。

「Web Services Manager ControlからOracle WSM Policy Managerへの接続の保護」


3

Webサービス・クライアントは、HTTP、JMC、MQSeriesなどの転送プロトコルで、Oracle WSM Gatewayへの接続をオープンできます。これらの各プロトコルは、SSLを使用して保護できます。Webサービスのリクエストの送信とレスポンスの受信に、同じ接続が使用されます。

HTTP、JMSまたはMQSeriesでのSSL。

「Webサービス・クライアントからOracle WSM Gatewayへの接続の保護」


4

Oracle WSM Gatewayは、HTTP、JMC、MQSeriesなどの転送プロトコルで、Webサービスへの接続をオープンできます。これらの各プロトコルは、SSLを使用して保護できます。Webサービスのリクエストの送信とレスポンスの受信に、同じ接続が使用されます。

HTTP、JMSまたはMQSeriesでのSSL。

「Oracle WSM GatewayからWebサービスへの接続の保護」


5

管理者がWeb Services Manager Controlに接続すると、WebブラウザはHTTPでSSL接続を開始できます。

HTTPでのSSL。

「Web Services Manager Controlへの接続の保護」


6

Webサービスは、WSDL、UDDIまたはWSILファイルが置かれているサーバーからWSDLを参照することにより、Oracle WSM Gatewayに登録できます。Web Services Manager Controlは、そのサーバーのクライアントとして機能します。この接続は、SSLで保護できます。

HTTPでのSSL。

「安全なWSDLからのサービスの登録」


7

ポリシー実行ポイントは、LDAPサーバーに対してユーザーを認証および認可できます。ゲートウェイまたはエージェントは、LDAPS接続用のクライアントとして機能します。

LDAPでのSSL。

「PEPからLDAPサーバーへの接続の保護」


8

Web Services Manager Controlにログインすると、ユーザーはLDAPサーバーに対して認証されます。Web Services Manager ControlからLDAPサーバーへの接続は、SSLで保護できます。

LDAPでのSSL。

「Web Services Manager ControlからLDAPサーバーへの接続の保護」


9

Web Services Manager Controlは、データの更新情報をOracle WSMデータベースに送信し、Oracle WSMデータベースからデータを取得して、JDBCでユーザー・インタフェースにそのデータを表示します。Oracle WSMデータベースへのJDBC接続でのSSLは、動作が保証されていません。

サポートされている安全な転送プロトコルはありません。

該当なし

10

Oracle WSM Policy Managerは、JDBCでOracle WSMデータベースと情報をやりとりします。Oracle WSMデータベースへのJDBC接続でのSSLは、動作が保証されていません。

サポートされている安全な転送プロトコルはありません。

該当なし

11

Oracle WSM Monitorは、JDBCでOracle WSMデータベースに監視データを送信し、データベースからデータを取得します。Oracle WSMデータベースへのJDBC接続でのSSLは、動作が保証されていません。

サポートされている安全な転送プロトコルはありません。

該当なし

12

Web Services Manager Controlでは、RMIでOracle WSM Monitorから監視グラフおよびレポートを取得し、表示します。Oracle WSM MonitorへのRMI接続でのSSLは、動作が保証されていません。

サポートされている安全な転送プロトコルはありません。

該当なし

13

Oracle WSM AgentとOracle WSM Gatewayは、RMIで監視データをOracle WSM Monitorに送信します。Oracle WSM MonitorへのRMI接続でのSSLは、動作が保証されていません。

サポートされている安全な転送プロトコルはありません。

該当なし


Oracle WSM Policy Managerへの接続の保護

Oracle WSM Policy Managerへの次の接続は、SSLで保護できます。

PEPからOracle WSM Policy Managerへの接続の保護

トラストストアの構成方法の手順は、「SSL接続用のトラストストア構成」を参照してください。

Oracle WSM Policy Managerを保護するには、Oracle HTTP Sever構成でURL /policymanager/*に対してSSLを有効にする必要があります。Oracle HTTP Serverの構成方法については、『Oracle HTTP Server管理者ガイド』を参照してください。

Web Services Manager ControlからOracle WSM Policy Managerへの接続の保護

Web Services Manager ControlとOracle WSM Policy Manager間の接続を保護するには、次の手順に従います。

  1. ORACLE_HOME/owsm/config/ccore/ui-config-installer.propertiesファイルで次のプロパティを編集します。

    ui.pm.server.httpScheme=https
    ui.pm.server.httpPort=SSL_port
    
    

    SSL_portは、SSL接続が行われるポートです。

  2. コマンドラインから次のコマンドを実行して、Web Services Manager Controlアプリケーションを再デプロイします。

    wsmadmin deploy application_server_password control

  3. トラストストア構成を追加します。「SSL接続用のトラストストア構成」を参照し、ご使用のデプロイメント用の手順に従います。

Oracle WSM Gatewayとの接続の保護

Oracle WSM Gatewayとの接続は、SSLを使用して保護できます。後続の項では、これらの安全な接続の方法を説明します。

Webサービス・クライアントからOracle WSM Gatewayへの接続の保護

後続の項では、HTTP、JMSおよびMQSeriesでSSLを使用して、Webサービス・クライアントとOracle WSM Gateway間の接続を保護する方法について説明します。

HTTPS

HTTPサーバーがOracle WSM Gatewayのフロント・エンドである場合、HTTPサーバー構成で有効なSSLによりゲートウェイURLを構成します。

SSL用のJMSおよびMQSeries

次の手順に従い、SSL用のJMSおよびMQSeriesプロトコルを保護します。

  1. ORACLE_HOME/owsm/config/gateway-config-installer.propertiesファイルでSSLプロパティを編集します。

  2. コマンドラインから次のコマンドを実行して、Oracle WSM Gatewayを再デプロイします。

    wsmadmin deploy application_server_password gateway

Oracle WSM GatewayからWebサービスへの接続の保護

トラストストアの構成方法の手順は、「SSL接続用のトラストストア構成」を参照してください。

Web Services Manager Controlへの接続の保護

HTTPSでWeb Services Manager Controlを保護するには、Oracle HTTP Server構成でURL /ccore/*に対してSSLを有効にする必要があります。Oracle HTTP Serverの構成方法については、『Oracle HTTP Server管理者ガイド』を参照してください。

安全なWSDLからのサービスの登録

Webサービスは、WSDL、UDDIまたはWSILが置かれているサーバーからWSDLを参照することにより、Oracle WSM Gatewayに登録できます。トラストストアの構成方法の手順は、「SSL接続用のトラストストア構成」を参照してください。

LDAPサーバーへの接続の保護

LDAPサーバーへの次の接続は、SSLで保護できます。

PEPからLDAPサーバーへの接続の保護

トラストストアの構成方法の手順は、「SSL接続用のトラストストア構成」を参照してください。

ポリシー・パイプラインとLDAP認証ポリシー・ステップについては、『Oracle Web Services Manager管理者ガイド』を参照してください。

Web Services Manager ControlからLDAPサーバーへの接続の保護

LDAPサーバーへの接続を保護するためにSSLを使用するには、ORACLE_HOME/owsm/config/ccore/ui-config-installer.propertiesファイルでプロパティを変更する必要があります。

  1. ui-config-installer.propertiesファイルの「UI authentication properties」プロパティ・グループの下のプロパティを変更します。

    ui.authentication.provider=com.cfluent.accessprovider.ldap.BasicLdapAuthProvider

    ui.authentication.provider.properties=

    ldapHost=ldaphost|\

    ldapPort=389|\

    ldapDN=o=company,c=us

    ldapSSLEnabled=true|\

    ldapSSLPort=636|\

    roleAttribute=uniqueMember

  2. トラストストアの構成方法の手順は、「SSL接続用のトラストストア構成」を参照してください。

よくある質問

  1. SSLを有効にすると、ホスト名検証機能例外が発生するのはなぜですか。

    サーバー側のSSL証明書のcnは、コンポーネントのホスト名と一致している必要があります。たとえば、Policy Managerがhttp://www.company.comで実行されている場合、サーバー側のSSL証明書のdnはcn=www.company.comで始まります。

  2. openSSLを使用したテスト用に新しいPKCS#12キーストアを作成するには、どのようにすればよいですか。

    次の例は、接続のサーバー側の自己署名証明書で、新しいPKCS#12キーストアを作成する方法を示しています。対応するclient.p12ファイルの作成にも、同じ方法を使用します。

    1. 新しい自己署名証明書と、証明書に署名するための新しい秘密鍵を作成します。-daysオプションを使用して、証明書の有効期間を指定します。

      openssl req -x509 -newkey rsa:1024 -days 365 -keyout server-privatekey.pem -out server-cert.pem

      国、都道府県、地域などについて、いくつか質問されます。これらの質問は、情報を得るためのものです。例外が、共通名(CN)フィールドです。CNは、証明書が置かれているマシンのホスト名を表すために使用されます。SSLクライアントは、ホスト名がCNと一致していることを確認するために、ホスト名をCNフィールドによって検証します。CNは必ず、様々なconfig.xmlファイルですべての接続URLに設定したホスト名(たとえば、localhost)に設定してください。

    2. 自己署名証明書および関連付けられた秘密鍵をPKCS#12キーストアにインポートします。

      openssl pkcs12 -export -in server-cert.pem -inkey server-privatekey.pem -name testalias -out server.p12

    3. すべての一時ファイルを削除します。自己署名証明書と秘密鍵をPKCS#12キーストアに格納すると、server-cert.pemファイルとserver-privatekey.pemファイルは必要ありません。

      rm -f server-cert.pem server-privatekey.pem

  3. SSLでOracle WSM Policy Managerに接続しようとすると、「HTTPSホスト名が正しくありません」というエラー・メッセージが表示されるのはなぜですか。

    サーバー証明書のCNフィールドが、クライアントの接続先のホスト名と一致していません。CNフィールドがホスト名と一致していることを確認する必要があります。エラー・メッセージ(localhostの場合)は次のようになります。

    java.io.IOException: HTTPSホスト名が正しくありません: <localhost>に設定してください

    ロード・バランサを使用している場合は、CNはロード・バランサのホスト名と一致させる必要があることに注意してください。

  4. キーツールを使用したテスト用に新しいJKSキーストアを作成するには、どのようにすればよいですか。

    次のコマンドを入力します。

    keytool -genkey -keystore test.jks -storepass changeit