Tuxedo CORBA アプリケーションのセキュリティ機能

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

トラブルシューティング

ここでは、以下の内容について説明します。

注意 : Oracle Tuxedo CORBA Java クライアントと Oracle Tuxedo CORBA Java クライアント ORB は Tuxedo 8.1 で非推奨になり、今後はサポートされなくなりました。すべての Oracle Tuxedo CORBA Java クライアントおよび Oracle Tuxedo CORBA Java クライアント ORB のテキスト リファレンスとコード サンプルは、サード パーティ製の Java ORB ライブラリを実装または実行する際の参考や、プログラマの参照用としてのみ使用してください。
注意 : サード パーティの CORBA Java ORB のテクニカル サポートは、各ベンダによって提供されます。Oracle Tuxedo では、サード パーティの CORBA Java ORB に関する技術的なサポートやマニュアルは提供していません。

 


ULOG および ORB トレース機能の使用

通常、オブジェクト リクエスト ブローカ (ORB) は、重大な障害を ULOG ファイルに書き込みます。CORBA C++ ORB では、ORB 内部トレース機能を有効にすることで、ULOG ファイルの情報以外の情報を参照することもできます。

ULOG ファイルを見ると、リモート ORB プロセスはデフォルトでは、データを APPDIRULOG ファイルには書き込みません。

ULOGPFX 環境変数を設定すると、リモート ORB 用の ULOG ファイルの場所を管理できます (たとえば、ULOG ファイルの場所を APPDIR に設定し、すべての情報が同じ ULOG ファイルに格納されるようにすることができます)。ULOGPFX 環境変数を次のように設定します。

Windows 2003

set ULOGPFX=%APPDIR%¥ULOG

UNIX

setenv ULOGPFX $APPDIR/ULOG

ORB トレース機能を有効にするには、次の手順を実行します。

  1. APPDIRtrace.dat という名前のファイルを作成します。trace.dat 内で、all=on が指定されている必要があります。
  2. 以下のコマンドを使用して OBB_TRACE_INPUT 環境変数を設定し、trace.dat ファイルを参照してからアプリケーションを実行するようにします。
  3. set OBB_TRACE_INPUT=%APPDIR%¥trace.dat

    ORB トレース機能を別のファイルに送信する場合、次の行を trace.dat ファイルに追加します。

    output=obbtrace%p.log

    このコマンドは、トレース出力を、実行中のプロセスにちなんだ名前のファイルに送信します。たとえば、UNIX の ORB トレース機能を、NFS がマウントされたドライブに対して使用する場合に実行できます。この場合、トレース文ごとにユーザ ログがファイルを開き、書き込み、閉じるために、トレースのパフォーマンスは遅くなります。

 


CORBA::ORB_init の問題

ORB_init ルーチンは、内部 ORB トレース機能を実行しないので、無効な引数の処理に対するトレース出力を確認できません。したがって、ORB_init ルーチンに渡された引数を二重チェックする必要があります。

ORB_init ルーチンの実行中に CORBA::BAD_PARAM 例外が発生した場合は、必要なすべての引数に値が指定されていることを確認してください。また、特定の有効な値のセットからの値を予測している引数に正しい値があることも確認してください。ORB_init ルーチンの引数の値では、大文字/小文字を区別するので注意してください。

CORBA::NO_PERMISSION 例外が発生し、SSL 引数が ORB_init ルーチンに指定された場合、セキュリティ ライセンスが有効になっていることを確認してください。また、指定した暗号化レベルが、セキュリティ ライセンスでサポートされている暗号化レベルを超えていないことを確認してください。

ORB_init ルーチンの実行中に CORBA::IMP_LIMIT 例外が発生した場合は、システム プロパティの ORBportORBSecurePort に同じ値が指定されていることを確認してください。

ORB_init ルーチンの実行中に CORBA::Initialize 例外が発生した場合は、OrbId または configset が有効であることを確認してください。

セキュア ソケット レイヤ (SSL) 引数が ORB_init ルーチンに渡されている場合、ORB は、SSL プロトコルをロードおよび初期化しようとします。SSL 引数が渡された場合、ORB は、SSL プロトコルを初期化しようとします。

ORB は、Bootstrap オブジェクトの新しい URL アドレス形式を認識しないので、corbaloc または corbalocs URL アドレス形式を指定した場合、ORB は、ORB_init ルーチンの実行時に SSL プロトコルのロードを試行しません。

SSL 引数を ORB_init ルーチンに対して指定した場合は、以下をチェックします。

問題が続く場合は、ORB トレース機能を有効にします。ORB トレース機能は、liborbssl ダイナミック ライブラリがロードされて初期化されたときに発生する SSL の障害をログに記録します。

 


パスワード認証の問題

パスワード認証に corbalocs URL アドレス形式を使用しているときにクライアント アプリケーションが失敗した場合は、以下をチェックします。

 


証明書による認証の問題

証明書による認証に corbalocs URL アドレス形式を使用しているときにクライアント アプリケーションが失敗した場合は、以下をチェックします。

ほかの認証に関する問題が発生する場合もあります。発生の可能性がある認証エラーの種類については、「Tobj::Bootstrap:: resolve_initial_references の問題」を参照してください。

注意 : 初期化プロセスの時点で発生した障害は、IIOP リスナ/ハンドラの問題ではありません。

 


Tobj::Bootstrap::
resolve_initial_references の問題

corbaloc または corbalocs URL アドレス形式で Tobj::Bootstrap::resolve_initial_references を実行しているときに障害が発生した場合、CORBA::InvalidDomain 例外が発生します。この例外は、内部で発生する CORBA::NO_PERMISSION 例外または CORBA::COMM_FAILURE 例外をマスクする場合があります。ULOG ファイルを参照し、ORB トレース機能を有効にしてエラーの詳細を確認してください。以下のエラーが発生する可能性があります。

ほかの認証に関する問題が発生する場合もあります。発生の可能性がある認証エラーの種類については、「デジタル証明書のトラブルシューティングのヒント」を参照してください。

 


IIOP リスナ/ハンドラの起動の問題

ここでは、IIOP リスナ/ハンドラの起動時に発生する可能性がある問題について説明します。

IIOP リスナ/ハンドラを起動しているときに障害が発生した場合、ULOG ファイルをチェックしてエラーの詳細を確認します。IIOP リスナ/ハンドラは、CLOPT パラメータで指定した SSL 引数の値が有効かどうかを確認します。値のいずれかが無効な場合、対応するエラーが ULOG ファイルに記録されます。このチェックは、ORB で実行される引数チェックに似ています。

IIOP リスナ/ハンドラは、-m オプションが指定されない限りプロセスを開始しません。ISH は、SSL ライブラリを実際にロードおよび初期化するプロセスです。ISH プロセスの SSL ライブラリのロードおよび初期化で問題が発生した場合、ISH プロセスがクライアント アプリケーションの要求の処理を開始するまで、エラーは ULOG ファイルに記録されます。

IIOP リスナ/ハンドラ プロセスの起動で問題が発生したと思われる場合は、ULOG ファイルを確認してください。

 


コンフィグレーションの問題

ここでは、セキュリティ使用時に発生する一般的なコンフィグレーションの問題を解決する方法について説明します。

 


SSL プロトコルでコールバック オブジェクトを使用する場合の問題

共同クライアント/サーバ アプリケーションがあり、そのクライアントサイドで corbalocs URL アドレス形式を使用するか、資格を要求してセキュリティ要件を指定している場合、ORB_init ルーチンで -ORBsecurePort システム プロパティを使用して、使用するセキュリティ保護ポートを指定する必要があります。

-ORBsecurePort システム プロパティを指定しない場合、CORBA::NO_PERMISSION 例外が発生してサーバ登録が失敗します。これが問題かどうかを検証するには、ORB トレース機能を有効にして、以下のトレース出力を探します。

TCPTransport::Listen: FAILURE: Attempt to listen on clear port while Credentials require SSL be used

コールバック オブジェクトで SSL プロトコルを使用する場合、共同クライアント/サーバ アプリケーションは、証明書による認証で SecurityLevel2::PrincipalAuthenticator::authenticate() メソッドを使用する必要があります。それ以外の場合、共同クライアント/サーバ アプリケーションは、IIOP リスナ/ハンドラ (ここでは、SSL 接続の開始側) に対して自身を識別するための証明書を持ちません。

 


デジタル証明書のトラブルシューティングのヒント

通常、デジタル証明書の問題は、以下の場合に起こります。

理由がわからずにデジタル証明書が拒否された場合は、次の手順を実行します。

  1. Microsoft Explorer などのビューアでデジタル証明書を開きます。
  2. デジタル証明書の KeyUsage プロパティおよび BasicConstraints プロパティを確認します。感嘆符が付いた黄色い三角形のマークは、そのプロパティに問題があることを示します。プロパティにそのマークが付いたデジタル証明書は、Oracle Tuxedo ソフトウェアによって拒否されます。
  3. デジタル証明書のそのプロパティに問題がない場合、証明書チェーン内の次のデジタル証明書のプロパティをチェックします。証明書チェーン内のすべてのデジタル証明書に対して、そのプロパティを検証するまで、以上の手順を繰り返します。

  ページの先頭       前  次