Secure Sockets Layer (SSL)プロトコルを使用することで、プラグインとOracle WebLogic Serverとの間の接続を保護できます。SSLプロトコルによって、プラグインとWebLogic Serverとの間で渡されるデータの機密性と整合性が保持されます。
プラグインでは、プラグインとWebLogic Serverとの間の接続の保護にSSLを使用するかどうかの決定に、HTTPリクエストで指定された(通常はブラウザによって指定)トランスポート・プロトコル(HTTPまたはHTTPS)を使用しません。つまり、プラグインは、(通常はブラウザからの)HTTPリクエストでHTTPS (SSL)が使用されるかどうかには一切依存しません。
かわりに、プラグインでは、「Webサーバー・プラグインのSSLパラメータ」で説明されているように、SSLをいつ使用をするかを決定するため、プラグインに対して次のように構成したSSLパラメータを使用します。
WebLogicSSLVersion
—プラグインとWebLogic Serverの間の通信に使用するSSLプロトコル・バージョンを指定します。
WLSSLWallet
- バージョン12c (12.2.1.3.0)のプラグインでは、SSL構成情報の格納にOracleウォレットが使用されます。ウォレットを構成するには、SSL構成パラメータWLSSLWallet
を使用します。この目的のために、プラグインのディストリビューション内にorapkiユーティリティが用意されています。
orapkiユーティリティでは、ウォレット、証明書失効リストなど、公開鍵インフラストラクチャ(PKI)の要素をコマンド行で管理するため、実行するタスクをスクリプトに組み込むことができます。これを使用して、PKIを保守するルーチン・タスクの多くを自動化できます。「証明書の検証とCRL管理にorapkiユーティリティを使用する方法」を参照してください。
SecureProxy
-SecureProxy
パラメータによって、SSLを有効にするかどうかを決定します。
注意:
現在のリリースに有効なセキュリティ・プロトコルおよび暗号の詳細は、『Oracle HTTP Serverの管理』のSSLCipherSuiteに関する項およびSSLProtocolに関する項を参照してください。
双方向SSLについては、Oracle WebLogic Serverが双方向SSLを使用するように構成されている場合にクライアント証明書をリクエストすると、プラグイン(SSLクライアント)によって自動的に双方向SSLが使用されます。
クライアント証明書がリクエストされない場合は、デフォルトでプラグインは一方向SSLになります。
注意:
Apacheプラグイン(Oracle HTTP Serverを含む)と同じシステム上にOracle Fusion Middleware 12c (12.2.1.3.0)製品がインストールされている場合は、ORACLE_HOME変数が有効なインストール環境を指している必要があり、そうでない場合は、プラグインによるSSLの初期化が失敗します。
たとえば、製品が正常に削除されなかったためにORACLE_HOMEが無効になっている場合、プラグインによる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)を更新するのではなく、ライブラリをコピーした場合は、新しいバージョンのプラグインをインストールするたびにライブラリをコピーしなおす必要があります。
一方向SSLを構成するには、次の手順に従ってください。
この手順では、WebLogic Serverがインストールされているシステム上でkeytoolコマンドを実行し、バージョン12c (12.2.1.3.0)のプラグインがインストールされているシステム上でorapkiコマンドを実行します。
注意:
この項で示す例には、WebLogic ServerのデモCAが使用されています。本番環境でプラグインを使用している場合は、プラグインおよびOracle WebLogic Serverに対して、信頼性のあるCAが正しく構成されていることを確認してください。
SSL用にOracle WebLogic Serverを構成します。『Oracle WebLogic Serverセキュリティの管理』のSSLの構成に関する項を参照してください。
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.3.0)を実行するユーザーが、ウォレットを作成するユーザー(Windowsの場合はSYSTEMアカウント)と異なる場合には、ウォレットの作成後にcacls
コマンド(Windows)またはchmod
コマンド(UNIX)を実行してユーザーにそのウォレットへのアクセス権を付与する必要があります。次にその例を示します。
cacls <wallet_path>\cwallet.sso /e /g IUSR:R
OracleウォレットにWLS信頼証明書をインポートします。
orapki wallet add -wallet mywallet -trusted_cert -cert <cert_file_name> -auto_login_only
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
これらの例で使用されているパラメータの詳細は、「Webサーバー・プラグインのパラメータ」を参照してください。
バックエンドのOracle WebLogic Serverインスタンスのバージョンが10.3.4以降の場合は、次の手順に従ってください。
Oracle WebLogic Server管理コンソールにログインします。
「ドメイン構造」ペインで、「環境」ノードを開きます。
Oracle HTTP Serverからリクエストをプロキシするサーバー・インスタンスがクラスタにある場合は、「クラスタ」を選択します。
それ以外の場合は、「サーバー」を選択します。
Oracle HTTP Serverからリクエストをプロキシするサーバーまたはクラスタを選択します。
「構成」: 「一般」タブで、「詳細」セクションまでスクロール・ダウンして開きます。
次のいずれかの操作を行います。
目的 | 選択オプション |
---|---|
一方向SSLの有効化 |
WebLogicプラグインの有効化 |
認証にクライアント証明書が使用される双方向SSLの有効化 |
クライアント証明書プロキシの有効化 |
クライアント証明書による双方向SSLの有効化 |
両方 |
手順2で「サーバー」を選択した場合は、Oracle HTTP Serverからのリクエストをプロキシするその他のサーバーに対して手順3と手順4を繰り返します。
「保存」をクリックします。
変更内容を有効にするには、サーバー・インスタンスを再起動する必要があります。
ブラウザからhttp://host:port/mywebapp/my
.jspにリクエストを送信し、レスポンスを確認します。
Oracle WebLogic Serverを双方向SSL用に構成してある場合は、プラグインによってユーザー証明書がWebLogic Serverに転送されます。WebLogic Serverがユーザー証明書を確認できれば、双方向SSLを確立できます。
「一方向SSL用のプラグインの構成」で説明されている手順に加えて、次の手順も実行してください。
この手順では、WebLogic Serverがインストールされているシステム上でkeytoolコマンドを実行します。また、バージョン12c (12.2.1.3.0)プラグインがインストールされているシステム上でorapkiコマンドを実行します。
SSLを使用してWebLogic Serverに接続する場合、MD5を使用して署名された証明書リクエストまたは証明書がウォレット内のSHA-2で署名された証明書で置換されていることを確認します。これ以外の場合、サーバーは起動に失敗します。
証明書の署名アルゴリズムの確認
証明書の署名アルゴリズムを確認するには:
証明書を識別名で検索するには、次のコマンドを使用します
${PLUGIN_HOME}/bin/orapki wallet display -wallet <wallet__location>
ウォレットで使用可能な証明書をエクスポートします
${PLUGIN_HOME}/bin/orapki wallet export -wallet <wallet_Location> -dn 'DN_string' -cert <certificate_file>
keytoolを使用して、<certificate_file>
を署名する際に使用する署名アルゴリズムを確認します
$JAVA_HOME/bin/keytool -printcert -file <certificate_file>
MD5アルゴリズムを使用して署名された証明書リクエストまたは証明書の削除
${PLUGIN_HOME}/bin/orapki wallet remove -wallet <wallet_location> -dn 'DN_string' -user_cert [-pwd <pwd>] | [-auto_login_only]
信頼性がありリクエストされた証明書リストで使用可能な自己署名証明書を削除するには、次のようにします。
${PLUGIN_HOME}/bin/orapki wallet remove -wallet < wallet_location > -dn 'DN_string' -trusted_cert [-pwd <pwd>] | [-auto_login_only] ${PLUGIN_HOME}/bin/orapki wallet remove -wallet < wallet_location > -dn 'DN_string' -cert_req [-pwd <pwd>] | [-auto_login_only]
MD5アルゴリズムを使用して署名された信頼性のある証明書を削除するには、次のようにします
${PLUGIN_HOME}/bin/orapki wallet remove -wallet < wallet_location > -dn 'DN_string' -trusted_cert [-pwd < pwd >] | [-auto_login_only]
MD5アルゴリズムを使用して署名された証明書リクエストを削除するには、次のようにします
${PLUGIN_HOME}/bin/orapki wallet remove -wallet < wallet_location > -dn 'DN_string' -cert_req [-pwd <pwd>] | [-auto_login_only]
SHA-2アルゴリズムを使用して署名された自己署名ユーザー証明書の追加
次のコマンドを使用して、MD5アルゴリズムによって署名された自己署名ユーザー証明書を、ウォレットのSHA-2アルゴリズムを使用して署名された自己署名証明書で追加します。
${PLUGIN_HOME} /bin/orapki wallet add -wallet <wallet_Location> -dn 'DN_String' keysize 2048 -sign_alg sha256 -self_signed -validity 9125 [-pwd <pwd>] | [-auto_login_only]
MD5アルゴリズムを使用した既存の認証局の署名済ユーザー証明書の更新
認証局に連絡してSHA-2署名アルゴリズムを使用して署名されたユーザー証明書を取得し、これを既存のユーザー証明書と置換します。
${PLUGIN_HOME}/bin/orapki -wallet add -wallet <wallet_Location> -user_cert -cert <certificate_file> [-pwd <pwd> ] | [-auto_login_only]
MD5アルゴリズムを使用して署名された既存の信頼性のある証明書の更新
ウォレットにインポートされたMD5署名アルゴリズムを使用して署名されている信頼性のある証明書がある場合、SHA-2署名アルゴリズムを使用するように、対応するバックエンドWebLogic Serverの証明書を更新します。更新後、ウォレット内の信頼性のあるMD5証明書を更新済証明書に置換します。
${PLUGIN_HOME}/bin/orapki -wallet add -wallet <wallet_Location> -trusted_cert -cert <certificate_file> [-pwd <pwd> ] | [-auto_login_only]
注意:
セキュリティが損なわれるため、MD5アルゴリズムを使用して署名された証明書は推奨されていません。MD5アルゴリズムを使用して署名された証明書の使用を続行するには、ORACLE_SSL_ALLOW_MD5_CERT_SIGNATURES=1
環境変数を設定します。 プラグイン内のenvironment. variable
を設定します。
Oracle HTTP Serverプラグイン: environment.ORACLE_SSL_ALLOW_MD5_CERT_SIGNATURES=1
をDOMAIN_HOME/config/fmwconfig/components/OHS/instances/instanceName /ohs.plugin.nodemanger.properties
に追加します
Apacheプラグイン: export
ORACLE_SSL_ALLOW_MD5_CERT_SIGNATURES=1
を$APACHE_HOME/bin/envvars
に追加します。
iPlanetプラグイン: export
ORACLE_SSL_ALLOW_MD5_CERT_SIGNATURES=1
を$IPLANET_INSTANCE_HOME/bin/startserv
に追加します。
IISプラグイン: ORACLE_SSL_ALLOW_MD5_CERT_SIGNATURES=1
をシステム環境変数に追加します。
Secure Sockets Layer (SSL)プロトコルを使用することで、iPlanet Web Serverプラグイン用Oracle WebLogic Serverプロキシ・プラグイン12c (12.2.1.3.0)とOracle WebLogic Serverとの間の接続を保護できます。SSLプロトコルによって、Oracle iPlanet Web ServerプラグインとOracle WebLogic Serverとの間で渡されるデータの機密性と整合性が保持されます。
iPlanet Web Serverプラグイン用Oracle WebLogic Serverプロキシ・プラグイン12c (12.2.1.3.0)では、iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12c (12.2.1.3.0)とOracle WebLogic Serverとの間の接続の保護にSSLプロトコルを使用するかどうかを判断するために、(通常はブラウザによる)HTTPリクエストで指定される転送プロトコル(httpまたはhttps)は使用されません。
Oracle iPlanet Web ServerプラグインとOracle WebLogic Serverとの間でSSLプロトコルを使用するには:
Service
ディレクティブのWebLogicPort
パラメータを、手順1で構成したリスニング・ポートに設定します。Service
ディレクティブのSecureProxy
パラメータをON
に設定します。obj.conf
ファイル内のService
ディレクティブで、SSL接続に関する情報を定義するその他のパラメータを設定します。パラメータのリストは、「Webサーバー・プラグインのSSLパラメータ」を参照してください。プラグインを使用してアクセスされる、WebLogic Serverアプリケーションを保護するには、境界認証を使用します。
WebLogic IDアサーション・プロバイダでは、WebLogic Serverアプリケーションにアクセスする外部システム(プラグインを介してWebLogic Serverアプリケーションにアクセスするユーザーを含む)からのトークンを認証します。次の手順に従って、プラグインを安全に保護するIDアサーション・プロバイダを作成します。
『Oracle WebLogic Serverセキュリティ・プロバイダの開発』のIDアサーション・プロバイダに関する項を参照してください。