ヘッダーをスキップ

Oracle Containers for J2EE セキュリティ・ガイド
10g(10.1.3.4.0)

B50832-01
目次
目次
索引
索引

戻る 次へ

A OC4Jセキュリティのヒントおよびトラブルシューティング

この付録では、OC4Jセキュリティのベスト・プラクティス、およびトラブルシューティングの対象となる要注意の問題と関連するヒントについて説明します。

OC4Jセキュリティのベスト・プラクティス

この項では、次の項目別ベスト・プラクティスについて説明します。

JAASのベスト・プラクティス

推奨されるJAASのプラクティスは、次のとおりです。

HTTPSのベスト・プラクティス

Oracle HTTP Serverには、アプリケーションを変更せずにアプリケーションにセキュリティを提供できるように複数の機能が用意されています。類似の機能をコーディングする前に、これらの機能を評価した上で利用してください。次のHTTPセキュリティ機能があります。

その他、HTTPSの保護に関して次の提案事項があります。

OC4Jセキュリティの一般的なヒントおよびトラブルシューティング

次の問題とその処理方法に留意してください。

ファイルjazn.xmlが見つからない

有効なjazn.xmlファイルが存在しない場合は、OracleAS JAAS Providerは起動できません。jazn.xmlファイルが見つからない場合は、次のエラー・メッセージが生成されます。

"JAZN has not been properly configured"

関連項目

 

認証の問題

アイデンティティ・リポジトリでユーザーとパスワードが正しく構成されているにもかかわらず、保護されたアプリケーションにログインしようとして認証が失敗した場合は、アイデンティティ・リポジトリが起動されて使用可能な状態になっていること、およびそのリポジトリがorion-application.xmlまたはjazn.xml(該当する場合)の<jazn>要素のlocation属性で指定された場所にあることを、なんらかの方法で確認してください。

OracleAS JAAS ProviderをJAASプロバイダとして指定する際の失敗

次のような例外スタック・トレースを受信することがあります。

Exception in thread "main" java.lang.SecurityException: Unable to locate a login 
configuration
at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:97)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance

この場合は、OracleAS JAAS ProviderがJAASポリシー・プロバイダとして指定されていない可能性があります。

関連項目

 

レルムの問題

この項では、レルムの使用に関してトラブルシューティングの対象となる問題について説明します。

ユーザー名からのレルム名の省略

OC4Jプロパティjaas.username.simpleでは、キー・メソッド(たとえば、サーブレットの場合はgetUserPrincipal()またはgetRemoteUser()、EJBの場合はgetCallerPrincipal())から戻されたプリンシパルのユーザー名においてレルム名が接頭辞として付けられているかどうかが判別されます。デフォルトのtrue設定では、レルム名は接頭辞として付けられません。

カスタム・レルムを構成して使用する場合は、このプロパティを明示的にfalseに設定して、OracleAS JAAS Providerの認証および認可が適切に機能するようにする必要があります。詳細は、「認証済プリンシパル取得時のレルム名の省略」を参照してください。

認証の失敗を解決するためのデフォルト・レルムの指定

認証に失敗したとき、構成が正しいと思われる場合は、デフォルト・レルムを指定する必要があるかどうかを確認します。インスタンスレベルのjazn.xmlファイルで指定した以外のデフォルト・レルムを使用する場合は、それを、orion-application.xmlファイル内の<jazn>要素に構成する必要があります。

これは、ファイルベース・プロバイダまたはLDAPベース・プロバイダのいずれかに適用できます。

ロギング

この項では、デバッグに役に立つロギング機能について説明します。

OracleAS JAAS ProviderでのOracle Diagnostic Loggingの使用

OC4JおよびOracleAS JAAS Providerでは、Oracle Diagnostic Loggingフレームワーク(ODL)がサポートされています。このフレームワークでは、標準的なJavaロギング・フレームワークを補完するプラグイン・コンポーネントが提供され、ログ・データが自動的にOracleログ分析ツールと統合されます。

OC4Jにおける通常の手順と同様に、ORACLE_HOME/j2ee/home/config/j2ee-logging.xml内のロギング・レベルを、デフォルトのNOTIFICATION:1から適切なエラー・レベルまたはデバッグ・レベルに変更します。OracleAS JAAS Providerでよく使用される2つのレベルは、FINEFINERで、これはそれぞれTRACE:1TRACE:16に相当します。

OracleAS JAAS Providerのロギング・エントリは、ORACLE_HOME/j2ee/instance_name/logs/oc4j/log.xmlにあります。このファイルの中で関連のあるエントリは、次のサンプル・メッセージに示すように、COMPONENT_IDj2eeであるものとMODULE_IDsecurityであるものです。

<MESSAGE>
 <HEADER>
   <TSTZ_ORIGINATING>2005-12-14T11:41:08.974-08:00</TSTZ_ORIGINATING>
   <COMPONENT_ID>j2ee</COMPONENT_ID>
   <MSG_TYPE TYPE="TRACE"></MSG_TYPE>
   <MSG_LEVEL>16</MSG_LEVEL>
   <HOST_ID>www.example.com</HOST_ID>
   <HOST_NWADDR>555.55.5.555</HOST_NWADDR>
   <MODULE_ID>security</MODULE_ID>
   <THREAD_ID>10</THREAD_ID>
   <USER_ID>nmuralid</USER_ID>
 </HEADER>
 <CORRELATION_DATA>
   <EXEC_CONTEXT_ID>
      <UNIQUE_ID>555.55.5.555:30508:1134589268971:0</UNIQUE_ID><SEQ>0</SEQ>
   </EXEC_CONTEXT_ID>
 </CORRELATION_DATA>
 <PAYLOAD>
   <MSG_TEXT>location=system-jazn-data.xml</MSG_TEXT>
 </PAYLOAD>
</MESSAGE>

あるいは、最初からOracleAS JAAS Providerメッセージのみがロギングされるようにするには、次の例に示すように、j2ee-logging.xmlに構成を追加して、ログ出力名をoracle.j2ee.securityに設定することもできます。

<logger name="oracle.j2ee.security" level="NOTIFICATION:32"
        useParentHandlers="false">
   <handler name="oc4j-handler"/>
   <handler name="console-handler"/>
</logger> 

OracleAS JAAS Provider Admintoolでの標準のJDKロギングの使用

OracleAS JAAS Provider Admintoolでは、標準のJDKロギングが使用されます。Admintoolに対してロギングを実行するには、ロギング・レベルをINFOからFINEFINERまたはFINESTに変更します。(Admintoolからのほとんどのログ・メッセージは、FINEレベルかFINERレベルでロギングされます。)この変更は、JAVA_HOME/jre/lib/logging.propertiesファイルを編集する、またはこのファイルの更新したコピーをAdmintoolのコマンドラインに供給することで行えます。次のコマンドはAdmintoolを実行し、プロパティ・ファイルを提供して妥当なロギング・レベルを設定しています。メッセージは、構成したログ・ハンドラによってロギングされます。

% java -jar jazn.jar -Djava.util.logging.config.file=modified_logging_properties


注意

前のリリースで使用されていたjazn.debug.log.enableフラグは、すでにサポートされていません。 



戻る 次へ
Oracle
Copyright © 2003, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引