プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverプロキシ・プラグイン12.2.1の使用
12c (12.2.1)
E69935-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

6 セキュリティの構成

この章では、プラグインに関するセキュリティの使用方法について説明します。内容は次のとおりです。

6.1 プラグインでのSSLの使用

Secure Sockets Layer (SSL)プロトコルを使用することで、プラグインとOracle WebLogic Serverとの間の接続を保護できます。SSLプロトコルによって、プラグインとWebLogic Serverとの間で渡されるデータの機密性と整合性が保持されます。

プラグインでは、プラグインとWebLogic Serverとの間の接続の保護にSSLを使用するかどうかの決定に、HTTPリクエストで指定された(通常はブラウザによって指定)トランスポート・プロトコル(HTTPまたはHTTPS)を使用しません。つまり、プラグインは、(通常はブラウザからの)HTTPリクエストでHTTPS (SSL)が使用されるかどうかには一切依存しません。

かわりに、プラグインでは、第8.2項「Webサーバー・プラグインのSSLパラメータ」で説明されているように、SSLをいつ使用をするかを決定するため、プラグインに対して次のように構成したSSLパラメータを使用します。

  • WebLogicSSLVersion—プラグインとWebLogic Serverの間の通信に使用するSSLプロトコル・バージョンを指定します。

  • WLSSLWallet - バージョン12c (12.2.1)のプラグインでは、SSL構成情報の格納にOracleウォレットが使用されます。ウォレットを構成するには、SSL構成パラメータWLSSLWalletを使用します。この目的のために、プラグインのディストリビューション内にorapkiユーティリティが用意されています。

    orapkiユーティリティでは、ウォレット、証明書失効リストなど、公開鍵インフラストラクチャ(PKI)の要素をコマンド行で管理するため、実行するタスクをスクリプトに組み込むことができます。これを使用して、PKIを保守するルーチン・タスクの多くを自動化できます。

    詳細は、orapkiユーティリティを使用した証明書検証およびCRL管理に関する項を参照してください。

  • SecureProxy-SecureProxyパラメータによって、SSLを有効にするかどうかを決定します。


注意:

現在のリリースに有効なセキュリティ・プロトコルおよび暗号の詳細は、『Oracle Fusion Middleware Oracle HTTP Serverの管理』のSSLCipherSuiteに関する項およびSSLProtocolに関する項を参照してください。

双方向SSLについては、Oracle WebLogic Serverが双方向SSLを使用するように構成されている場合にクライアント証明書をリクエストすると、プラグイン(SSLクライアント)によって自動的に双方向SSLが使用されます。

クライアント証明書がリクエストされない場合は、デフォルトでプラグインは一方向SSLになります。


注意:

Apacheプラグイン(Oracle HTTP Serverを含む)と同じシステム上にOracle Fusion Middleware 12c (12.2.1)製品がインストールされている場合は、ORACLE_HOME変数が有効なインストール環境を指している必要があり、そうでない場合は、プラグインによるSSLの初期化が失敗します。

たとえば、製品が正常に削除されなかったためにORACLE_HOMEが無効になっている場合、プラグインによるSSLの初期化は失敗します。


この項の内容は次のとおりです。

6.1.1 SSL用のライブラリの構成

プラグインでは、SSLをサポートするためにOracleライブラリ(NZ)が使用されます。ライブラリはサイズが大きいため、SSLの使用が必要な場合のみロードされます。lib/*.so*にあるライブラリ・ファイルは、必ず、プラグインによる動的なロードが可能な適切な場所に配置する必要があります。

Apache HTTPサーバー用プラグインのライブラリを構成するには、次のような方法があります。

  • Windows: .dllファイルを含むlibディレクトリをPATH変数で指定するか、*.dllファイルをbinディレクトリにコピーします。

  • UNIX: ライブラリを含むフォルダを指すようLD_LIBRARY_PATHを設定するか、ライブラリをlibディレクトリにコピーします。

PATH変数(Windows)またはLD_LIBRARY_PATH 変数(UNIX)を更新するのではなく、ライブラリをコピーした場合は、新しいバージョンのプラグインをインストールするたびにライブラリをコピーしなおす必要があります。

6.1.2 一方向SSL用のプラグインの構成

一方向SSLを構成するには、次の手順に従ってください。

この手順では、WebLogic Serverがインストールされているシステム上でkeytoolコマンドを実行し、バージョン12c (12.2.1)のプラグインがインストールされているシステム上でorapkiコマンドを実行します。


注意:

この項で示す例には、WebLogic ServerのデモCAが使用されています。本番環境でプラグインを使用している場合は、プラグインおよびOracle WebLogic Serverに対して、信頼性のあるCAが正しく構成されていることを確認してください。

  1. SSL用にOracle WebLogic Serverを構成します。詳細は、『Oracle WebLogic Serverの保護』のSSLの構成に関する項を参照してください。

  2. orapkiユーティリティを使用してOracleウォレットを作成します。

    orapki wallet create -wallet mywallet -auto_login_only
    

    詳細は、『Oracle Fusion Middleware管理者ガイド』のorapkiユーティリティを使用した証明書検証およびCRL管理に関する項を参照してください。


    注意:

    ウォレットにアクセスできるのは、そのウォレットを作成したユーザーのみです(Windowsの場合はSYSTEMアカウント)。

    通常、WindowsではSYSTEMアカウント、UNIXではウォレットの作成ユーザーとして実行されるため、Apache HTTP Server用Oracle WebLogic Serverプロキシ・プラグインについてはこれで十分です。ただしIISの場合は、デフォルト・ユーザーがIUSR_<Machine_Name> (IIS6.0以下)またはIUSR (IIS7.0以上)であるため、ウォレットは機能しません。

    Apache HTTP Server用Oracle WebLogic Serverプロキシ・プラグインまたはMicrosoft IIS Web Server用Oracle WebLogic Serverプロキシ・プラグイン12c (12.2.1)を実行するユーザーが、ウォレットを作成するユーザー(Windowsの場合はSYSTEMアカウント)と異なる場合には、ウォレットの作成後にcaclsコマンド(Windows)またはchmodコマンド(UNIX)を実行してユーザーにそのウォレットへのアクセス権を付与する必要があります。次にその例を示します。

    cacls <wallet_path>\cwallet.sso /e /g IUSR:R


  3. OracleウォレットにWLS信頼証明書をインポートします。

    orapki wallet add -wallet mywallet -trusted_cert -cert <cert_file_name> -auto_login_only
    
  4. Webサーバーの構成ファイルを次のように構成します。

    • Oracle HTTP Serverの場合、mod_wl_ohs.confファイルを次のように編集します。

      <IfModule mod_weblogic.c>
       WebLogicHost host
       WebLogicPort port
       SecureProxy ON
       WLSSLWallet path_to_wallet
      </IfModule>
      
    • Microsoft IISの場合は、次のようにiisproxy.iniファイルを編集します。

       WebLogicHost=host
       WebLogicPort=port
       SecureProxy=ON
       WLSSLWallet=path_to_wallet
      

    これらの例で使用されているパラメータの詳細は、第8章「Webサーバー・プラグインのパラメータ」を参照してください。

  5. バックエンドのOracle WebLogic Serverインスタンスのバージョンが10.3.4以降の場合は、次の手順に従ってください。

    1. Oracle WebLogic Server管理コンソールにログインします。

    2. 「ドメイン構造」ペインで、「環境」ノードを開きます。

      • Oracle HTTP Serverからリクエストをプロキシするサーバー・インスタンスがクラスタにある場合は、「クラスタ」を選択します。

      • それ以外の場合は、「サーバー」を選択します。

    3. Oracle HTTP Serverからリクエストをプロキシするサーバーまたはクラスタを選択します。

    4. 「構成」: 「一般」タブで、「詳細」セクションまでスクロール・ダウンして開きます。

    5. 次のいずれかの操作を行います。

      目的 選択オプション
      一方向SSLの有効化 WebLogicプラグインの有効化
      認証にクライアント証明書が使用される双方向SSLの有効化 クライアント証明書プロキシの有効化
      クライアント証明書による双方向SSLの有効化 両方

    6. 手順b「サーバー」を選択した場合は、Oracle HTTP Serverからのリクエストをプロキシする他のサーバーに対して手順cdを繰り返します。

    7. 「保存」をクリックします。

    変更内容を有効にするには、サーバー・インスタンスを再起動する必要があります。

  6. ブラウザからhttp://host:port/mywebapp/my.jspにリクエストを送信し、レスポンスを確認します。

6.1.3 プラグインとOracle WebLogic Serverとの間の双方向SSLの構成

Oracle WebLogic Serverを双方向SSL用に構成してある場合は、プラグインによってユーザー証明書がWebLogic Serverに転送されます。WebLogic Serverがユーザー証明書を確認できれば、双方向SSLを確立できます。

第6.1.2項「一方向SSL用のプラグインの構成」で説明されている手順に加えて、次の手順も実行してください。

この手順では、WebLogic Serverがインストールされているシステム上でkeytoolコマンドを実行します。また、バージョン12c (12.2.1)プラグインがインストールされているシステム上でorapkiコマンドを実行します。

  1. Oracleウォレットから証明書リクエストを生成します。

  2. この証明書リクエストを使用し、CAまたはその他のメカニズムを使用して証明書を作成します。

  3. ユーザー証明書を、信頼性のある証明書としてWebLogic信頼ストアにインポートします。Oracle WebLogic Serverで、その証明書を信頼する必要があります。

    keytool -file user.crt -importcert -trustcacerts -keystore DemoTrust.jks -storepass <passphrase>
    
  4. クライアント証明書(双方向SSL用)の提示が必要となるWebLogic Server SSL構成オプションを設定します。詳細は、Oracle WebLogic Server管理コンソール・ヘルプの双方向SSLの構成に関する項を参照してください。

6.2 iPlanet Web Server用プラグインでのSSLの構成

Secure Sockets Layer (SSL)プロトコルを使用することで、iPlanet Web Serverプラグイン用Oracle WebLogic Serverプロキシ・プラグイン12c (12.2.1)とOracle WebLogic Serverとの間の接続を保護できます。SSLプロトコルによって、Oracle iPlanet Web ServerプラグインとOracle WebLogic Serverとの間で渡されるデータの機密性と整合性が保持されます。

iPlanet Web Serverプラグイン用Oracle WebLogic Serverプロキシ・プラグイン12c (12.2.1)では、iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12c (12.2.1)とOracle WebLogic Serverとの間の接続の保護にSSLプロトコルを使用するかどうかを判断するために、(通常はブラウザによる)HTTPリクエストで指定される転送プロトコル(httpまたはhttps)は使用されません。

Oracle iPlanet Web ServerプラグインとOracle WebLogic Serverとの間でSSLプロトコルを使用するには:

  1. SSL用にOracle WebLogic Serverを構成します。詳細は、『Oracle WebLogic Serverの保護』のSSLの構成に関する項を参照してください。

  2. obj.confファイル内のServiceディレクティブのWebLogicPortパラメータを、手順1で構成したリスニング・ポートに設定します。

  3. obj.confファイル内のServiceディレクティブのSecureProxyパラメータをONに設定します。

  4. 必要に応じて、obj.confファイル内のServiceディレクティブで、SSL接続に関する情報を定義するその他のパラメータを設定します。パラメータのリストは、第8.2項「Webサーバー・プラグインのSSLパラメータ」を参照してください。

6.3 境界認証の構成

プラグインを使用してアクセスされる、WebLogic Serverアプリケーションを保護するには、境界認証を使用します。

WebLogic IDアサーション・プロバイダでは、WebLogic Serverアプリケーションにアクセスする外部システム(プラグインを介してWebLogic Serverアプリケーションにアクセスするユーザーを含む)からのトークンを認証します。次の手順に従って、プラグインを安全に保護するIDアサーション・プロバイダを作成します。

  1. WebLogic ServerアプリケーションにカスタムIDアサーション・プロバイダを作成します。『Oracle WebLogic Serverセキュリティ・プロバイダの開発』のカスタムIDアサーション・プロバイダの開発方法に関する項を参照してください。

  2. Certトークン・タイプをサポートするようにカスタムIDアサーション・プロバイダを構成し、Certをアクティブなトークン・タイプにします。『Oracle WebLogic Serverセキュリティ・プロバイダの開発』の新しいトークン・タイプの作成方法に関する項を参照してください。

  3. Webアプリケーションのweb.xmlデプロイメント記述子ファイルにおいて、clientCertProxyをTrueに設定(または、クラスタを使用する場合は、必要に応じて管理コンソールの「クラスタ」「構成」「一般」タブでクラスタ全体に対して「クライアント証明書プロキシの有効化」属性をtrueに設定)します。

    ロード・バランサ、SSLアクセラレータなど、サード・パーティのプロキシ・サーバーでclientCertProxy属性を使用することで、双方向SSL認証を有効にできます。clientCertProxy属性の詳細は、『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』context-paramに関する項を参照してください。

  4. clientCertProxyを設定したら、接続フィルタを使用して、このプラグインが実行されているマシンからの接続のみがWebLogic Serverに受け入れられるようにしてください。『Oracle WebLogic Serverセキュリティのプログラミング』のネットワーク接続フィルタの使用に関する項を参照してください。

  5. Webサーバーのプラグインでは、プラグインとWebLogic Serverとの間でSSLを使用する信頼性のある認証局ファイルが必要になります。SSLを構成するために必要な手順は、第6.1項「プラグインでのSSLの使用」を参照してください。

『Oracle WebLogic Serverセキュリティ・プロバイダの開発』のIDアサーション・プロバイダに関する項を参照してください。