Oracle® Fusion MiddlewareOracle Adaptive Access Manager開発者ガイド 11gリリース2 (11.1.2.3.0) E67356-01 |
|
前 |
次 |
この章では、トラブルシューティングのヒントとよくある質問に対する答えについて説明します。
この項の内容は、次のとおりです。
Oracle Fusion Middlewareの問題の解決にMy Oracle Support(以前のMetaLink)を使用できます。My Oracle Supportには、次のような有用なトラブルシューティング・リソースが含まれています。
ナレッジ・ベース記事
コミュニティ・フォーラムとディスカッション
パッチとアップグレード
動作保証情報
注意: サービス・リクエストを登録する場合にMy Oracle Supportを使用することもできます。 |
My Oracle Supportにはhttps://support.oracle.com
からアクセスできます。
この項では、複雑な問題をより簡単に解決するためのプロセスについて説明します。内容は次のとおりです。
問題の解決を目指して、いくつかの簡単なトラブルシューティング手法を順に実施できます。
手順 | 説明 |
---|---|
経験 | 以前にもこの問題を経験しているか、問題の解決策がわかっています。 |
フォーラムへの投稿 | これは最初の手順ではありません。基本的な手順を適用した後、第2の意見が必要である場合にのみ有効です。厳密な分析中に行うのが妥当であり、分析前に行うのは適切ではありません。 |
直感的な飛躍(推測) | 問題から単純に原因を推測できます。勘で問題またはその原因がわかります。これは場合によっては非常に効率的であり、すばやい解決につながりますが、適切な確認を怠ると、症状が長引き、真の原因を解決できないことがあります。 |
基本的な診断の確認 | ログでエラーおよびフローを確認します。フロー(HTTPヘッダー、ネットワーク・パケット・トレース、SQLトレース、strace)を確認します。フローを実行し、文書化します。構成詳細を照合してチェックし、予想したとおりのフローであることを確認します。 |
エラー・メッセージの確認 | エラーおよびフローの情報を確認することにより、大きな手がかりを得ることができます。コンポーネントの動作に関するナレッジと合せることにより、理解を深めることができます。常に、ナレッジ(Oracleおよび検索エンジン)に一致する事例がないか確認してください。エラーが重大かどうかを判断するために必要な診断を実行します。エラーが複数ある場合は、どのエラーが原因であり、どのエラーが単なる結果であるかを調べます。 |
比較 | ログおよびフローを稼働中のシステムと比較します。テスト・ケースを実行します。エラーが特定のサイトのみで発生する場合は、違いを比較します。 |
分断 | 問題を分割します。 |
この項では、問題を切り分けて管理可能な単位にする手順を示します。
プロセス | 説明 |
---|---|
問題の単純化 | 問題を可能なかぎり単純にします。 |
不要なコンポーネントの削除 | ほとんどの問題には、複雑なコンポーネントおよび各コンポーネント間の結合が関連しています。また、サード・パーティのコンポーネントが関連していることがほとんどです。このため、可能であれば、まずサード・パーティのコンポーネントを削除し、次にできるだけ多くのコンポーネントおよびカスタム・コンポーネントを削除します(たとえば、コマンド行はアプリケーションでないか、SQLPLUSはアプリケーションでないか)。 |
複雑さの軽減 | 症状は同じでより単純な問題が存在するかどうかを調べるテストを実施します(たとえば、複雑な選択のコンポーネントをまたは検索フィルタ削除し、1つのリクエストまたは数件のリクエストで十分かどうかを確認します)。 |
たとえるのであれば漏れ穴のある埋設管の修理 | 複雑な構成を、漏れ穴のある埋設管として考えます。どこかがおかしいことを知っています(漏れ穴があるのは知っていますが、どこにあるのかはわかりません)。 |
コンポーネントの列記 | 各コンポーネントを枠で囲み、次のコンポーネントと結び付ける線を引きます。これらを結合する際のプロトコルに注意してください。 |
両端の確認 | 入れたものと出てくるものは同じである必要があります。出入りするデータに問題が生じる場合、問題があるのはどちらかの端です。フローが予想どおりではない場合、問題はその途中にあります。 |
横向きのY | 構成内のポイントをテストし、逸脱が生じている場所を見つけます。1つの構成部分が予想どおりに動作することが(確実に)わかれば、その部分は無視できます。 |
繰返し | このループを繰り返して、問題を突き止めます。 |
ヘルプ | サード・パーティのコンポーネントが問題に関連している場合は、他社からのサポートを受け、協力して問題を解決します。 |
次のような場合、プロセスの全部または一部を適用する必要があります。
問題が複雑な場合
問題が大幅に拡大した場合
最初の試行で問題が解決しなかった場合
問題を制御できなくなってきた場合
問題を制御できなくなる可能性がある場合
分析のプロセス・フローは次のとおりです。
問題を記述します。
問題を詳述します。
次のものに基づいて、考えられる原因を展開します。
知識と経験
差異と変更
考えられる原因を詳述書に対してテストします。
最も可能性の高い原因を特定します。
解決策を検証します。
問題を記述することは、問題を解決するために最も重要な手順です。
手順 | 説明 |
---|---|
明確かつ正確な問題記述を確実に行う | 問題の記述は最も重要な手順です。このことは無視されることが多いか、または少なくとも問題記述があることが前提になっています。問題記述を行わずに問題を解決しようとしても、意味がありません。そうでなければ、実際に何を解決しようとしているのかがあいまいになります。問題の本質がわからなければ、問題の解決方法もわかりません。 |
記述された問題を説明できるかどうかを考察する | 説明できる場合は問題記述ではありません。問題記述が説明可能な場合は前に戻って、より正確な問題記述を作成してください。他の人の問題解決を支援する場合は、ここからコミュニケーションを開始します。直接的な質問をして問題を絞り込むか、電話で担当者と話して真の問題を明確にします。問題が多数ある場合は、それらを個別の問題として書き留めます。 |
あいまいな記述で妥協しない | 「パフォーマンスが悪い」、「何かがクラッシュする」などのあいまいな問題記述は無意味であり、問題が長引き制御がきかなくなる原因となります。 |
複数の問題を1つの記述にまとめない | 対処する問題は常に1つにします。1つにまとめられた問題を受け入れないでください。1つにまとめられた問題は、別々の問題が複数存在するか、一部の問題が実際には症状であるかのどちらかです。 |
問題を詳述し、明確な質問をして関連情報を収集します。
手順 | 説明 |
---|---|
問題を詳述する | これらは問題の症状です。 |
まず質問をする | 何が、どこで、いつ、どの程度といった質問をします。 |
何が | 「何が」は明確な質問であり、通常は事実と症状(何が予測から逸脱しているか)のリストになります。 |
どこで | 「どこで」は関連しない場合もありますが、重要であることが多いのに見過ごされることも多いため、価値のある質問です。 |
いつ | パターンを特定したり、どの変更によって問題が発生したかを判断するうえで時系列が役立つため、「いつ」は重要な質問です。 |
どの程度 | 「どの程度」または「どれだけの数量」は、考えられる原因を特定するうえで非常に有用です。たとえば、システム全体であれば、システム全体が影響を受けるどうかを確認するか、テスト・ケースを試行します。「どれくらいの頻度で」は、非常に重要です。1週間に1回と1秒に複数回では大きな違いがあり、どのような種類の問題であるかを把握する大きな手がかりとなります。 |
症状と事実を列記する | 症状と事実、およびそれらの重要度を列記します。 |
何が変更されたか | 何かが変更されたことは確かですが、問題が最初から常にあった場合は除きます。これは特殊なケースです。 |
想定 | 提供されたデータを検証し、競合や矛盾がないかを確認します。
必ず、想定がないかを確認します。検証されておらず想定でしかない情報を、注意深く特定してください。実際に、これは特に技術的な経験が豊富なアナリストにありがちな誤りです。しかし、経験の少ないアナリストが自分より知識があると思われる人から詳細情報を得るような場合にも多く起こることです。その想定がどれほど些細なものに見えても、その実証と確認は怠らないでください。 |
コンポーネントが前から機能していなかった場合、次の手順を実行します。
考慮事項 | 説明 |
---|---|
パフォーマンス問題の場合、動作と期待を考慮する | ある要素が最初から正常に機能したことがない場合は、まず、正常な動作とは何か、それが合理的であるかを判断する必要があります。これによって、最初から適切な期待を明確にできます。これは特に、パフォーマンスの問題に該当します。 |
誤解がないことを確認する | 要件が合理的かどうかを判断します。 |
リンゴとみかんを比較しない | 具体的な目標について合意します。その問題のみに取り組みます。 |
関連するすべてのコンポーネントを考慮する | 関連するすべてのコンポーネントについて考慮します。
|
認識を変えるだけが解決策かどうかを考慮する | 問題があると思った理由は何ですか。
|
何が問題であって、何が問題でないか、何が問題である可能性があるかを考慮します。
手順 | 説明 |
---|---|
「である」および「でないが、かもしれない」 | 事実または症状ごとに、「である」か、「でないが、かもしれない」かという質問をします。 |
比較を提供する | 多くの場合、テスト・ケースが問題を比較するための手段となります。
問題が再現された場合、ここでの問題分析には役立たなかったことになりますが、問題の修正にあたる次のチームに問題を引き継ぐ際に非常に有用です。また、可能性のある修正策や解決策(回避策)をすばやくテストすることもできます。もちろん、経験の蓄積にもつながります。 |
比較がない場合はテスト・ケースを作成する | 問題が再現されない場合、問題のシステムと比較する対象となり、場合によっては潜在的な回避策となることもあります。 |
問題を解決するには、考えられる原因を展開することが必要です。
展開 | 説明 |
---|---|
知識と経験 | 知識と経験を使用して、考えられる原因を認識できます。
|
差異と変更 | 差異と変更のリストを作成して、原因を絞り込むことができます。
|
各症状と比較の調査 | それぞれの事実を考慮し、事実どうしが関連していること、および競合していないことを確認します。 |
考えられる各原因を詳述書に対してテストします。
考えられる各原因は、詳述書のすべてのアイテムと合致している必要があります。
原因なしという結果になった場合は、戻ってプロセスを調整します。
原因は、「である」と「でないが、かもしれない」の両方を説明している必要があります。
最も可能性の高い原因を特定します。
合致する原因は無視しないでください。
この項では、システムの問題の調査とトラブルシューティングに使用できるツールおよびプロセスに関する情報を示します。
表27-1に、問題のトラブルシューティングに使用できる汎用ツールとOAAM固有のツールを示します。
表27-1 トラブルシューティング・ツール
カテゴリ | 説明 |
---|---|
汎用ツール |
|
OAAM固有のツール |
|
表27-2に、システムをトラブルシューティングする際に確認するアイテムを示します。
表27-2 トラブルシューティングのヒント
ヒント | 理由 |
---|---|
オペレーティング・システムの確認 |
プラットフォームに固有の問題もあります。たとえば、IBM以外のプラットフォームで作成されたJavaキーストアはIBMプラットフォームでは動作しません。 |
WebLogic Server・バージョンの確認 |
OAAMが11gで動作保証済のWebLogic Serverにインストールされていることを確認します |
JDK (SunまたはJRockit)の確認 |
JDKがIdentity Management 11g Suiteで動作保証されていることを確認します。 |
Oracle Enterprise Manager Fusion Middleware Controlを使用したロギング構成の変更 |
トレースおよびデバッグの前に、ログ・レベルが適切に変更されていることを確認します。 |
Oracle Enterprise Manager Fusion Middleware Controlを使用したログ・メッセージの検索 |
スクリプトの実行方法に関して知っておくと役立つまたは重要と思われるログ・メッセージ・レコード情報。 |
実行コンテキストIDを使用したログ・メッセージの検索 |
ECIDは、個々のイベントを同じリクエスト実行フローの一部として相互に関連付けるために使用される一意の識別子です。 |
Oracle WebLogic管理コンソールを使用したデータベース接続プールの監視 |
Oracle WebLogic管理コンソールを使用して、接続プールの状態を確認します。 |
表27-3に、問題およびそのトラブルシューティングと解決のために実行できるチェックをまとめます。
表27-3 問題およびヒント
問題 | 実行できるチェック |
---|---|
一般的なトラブルシューティング・ユース・ケース |
|
ほとんどの操作が遅い |
|
サーバーでメモリー不足の例外がスローされる |
|
接続プール・エラー |
|
アップグレード後の管理対象サーバーの起動中のエラー |
|
OAAM CLIスクリプトの問題 |
|
SOAPコールの問題 |
|
ネイティブ統合の問題 |
|
構成可能なアクションのテスト環境から本番環境への移行
質問/問題: テスト環境でカスタムの構成可能なアクションを定義しましたが、今度はカスタム・アクション・テンプレートをテストから本番へと移行したいと思います。
回答/解決策: そのためには、次の手順を実行します。
Oracle Adaptive Access Manager拡張共有ライブラリを使用して、JARファイルをパッケージ化します。
JARファイルをoaam-extensions\WEB-INF\lib
フォルダに追加します。
oracle.oaam.extensions.war
を再パッケージ化します。
JARファイルをデプロイします。
詳細は、第7章「OAAM拡張共有ライブラリの使用によるOAAMのカスタマイズ」を参照してください。
失効したCookie
質問/問題: Flash CookieとセキュアなCookieが失効した場合、OAAMではどのように処理されますか。
回答/解決策: 『Oracle Adaptive Access Managerの管理』を参照してください。
永続化されているCookieが無効化された場合
Oracle Adaptive Access Managerでは、あるマシンに関する様々な情報を使用して、デバイス・フィンガープリントを生成します。永続化されているCookieが無効化された場合でも、Oracle Adaptive Access Managerでは、マシンの識別にその他の情報を使用できます。
それぞれの機能自体は、セッションのセキュリティを確保するうえで不十分ですが、デバイス・フィンガープリント、IP、位置情報、時間、動作分析、過去の動作に関連付けた動作分析などを組み合せればセキュリティを確保できます。
セキュアなCookieが削除された場合
Oracle Adaptive Access Managerのフィンガープリント処理テクノロジは、1つの要素にのみ依存しているわけではありません。Oracle Adaptive Access Managerでは、数多くの属性を使用して、通常ログインに使用されるデバイスの認識とフィンガープリント処理を行うことによって、機関のカスタマ基盤の対応範囲を拡大します。セキュアなCookieが欠落したり無効化されている場合、Oracle Adaptive Access Managerでは、デバイスの識別にFlashオブジェクトやHTTPヘッダーなどの、他の要素を使用します。
Flashが有効化されていない場合
Oracle Adaptive Access Managerのフィンガープリント処理テクノロジは、1つの要素にのみ依存しているわけではありません。Oracle Adaptive Access Managerでは、数多くの属性を使用して、通常ログインに使用されるデバイスの認識とフィンガープリント処理を行うことによって、機関のカスタマ基盤の対応範囲を拡大します。Flashが有効化されていない場合、Oracle Adaptive Access Managerでは、デバイスの識別にセキュアなCookieやHTTPヘッダーなどの、他の要素を使用します。
デバイス登録
質問/問題: ユーザーは、チャレンジ質問登録ページで次のオプションを選択してデバイスを登録できます。
「現在、安全なデバイスとして使用しているデバイスの登録を確認します」
登録フロー中にユーザーがこれをスキップした場合、その後「ユーザー・プリファレンス」ページにオプションが表示されません。これを有効にする方法はありますか。
回答/解決策: デバイス登録は、登録中とチャレンジ中にユーザーにデバイスの登録を求めるように設定されています。
これを有効にするには、ユーザー・プリファレンスの「質問の登録」ページで次のように設定します。
bharosa.uio.default.userpreferences.questions.registerdevice.enabled=true
現在、中央のユーザー・プリファレンスのページでのみデバイスを登録解除できます。
ユーザーは登録中にデバイスを登録できますが、チャレンジを受けているときにデバイスを登録することもできます。
質問/問題: 登録フローでデバイスの登録が表示されません。デバイスIDポリシーはOAAM管理にインポートされています。
回答/解決策: デバイス登録はデフォルトでは有効になっていません。デバイス登録を有効にするには、bharosa.uio.default.registerdevice.enabled
をtrue
に設定する必要があります。
失敗カウンタの自動増分が機能するには、updateAuthStatusのクライアント・タイプを9に設定する必要があります(質問/回答)。
2つのチャレンジ質問の回答をユーザーに求める
質問/問題: ユーザーが新しいデバイスからのログオンを試みるときに、2つのチャレンジ質問への回答をユーザーに求めたいと思います。これは、どうすれば可能ですか。質問はランダムに選択されるため、同じ質問が2回提示される可能性はないでしょうか。
回答/解決策: OAAMでは、意図的に「一度に1つの質問」フローが採用されています。1つの質問を提示し、ユーザーがチャレンジ質問に正しく答えた場合にのみ次の質問を表示する手法は、2つの質問を提示するよりも優れたセキュリティ手法です。これにより、フィッシングのために質問が収集される事態を防げます。また、OAAMでは、ユーザーが質問の回答を何度も試みることが許可されており、ユーザーが何回間違った回答を入力したかも記録しておく必要があります。複数の質問が一度に表示された場合、この記録を維持するのは困難になり、エンド・ユーザーにとってわかりにくいものになるでしょう。複数の質問でユーザーにチャレンジするときは、それらの質問を順番に表示された別個の画面で提示する必要があります。OAAMでは、複数の質問を一度に使用した認証がサポートされていません。
仮想デバイスのカスタマイズとローカライズ
質問/問題: カスタマイズを生成して、仮想認証デバイスをローカライズできますか。
回答/解決策: 仮想認証デバイスは使用を選択できるサンプルとして提供されています。これらのサンプルは、英語のみで提供されています。ソース画像とドキュメントは、ユーザーが独自のカスタム仮想認証デバイスのフレーム、キー、パーソナライズされたイメージおよびフレーズを開発するために提供されています。ローカライゼーションは、これらのカスタマイズに含まれます。カスタム開発はサポートされていません。KeyPadのローカライゼーションでは、問題が発生する可能性があります。すべての言語で同じ文字数が存在するわけではないからです。たとえば、ポルトガル語には英語にはない特殊文字があります。これらの文字キーを追加すると、キー・レイアウトは少々異なる可能性があります。レイアウトにキーを追加する際には、ジッターが機能するための十分な空白をキーの周りに確保しておくことが重要です。一般的なベスト・プラクティスは、キーをジッター領域の中心に配置したとして、そのキーの周縁部を単一のキーで囲んだ分の空白を確保することです。ソース画像には、この領域のピクセル・サイズを示すメモが含まれます。
これらのサンプルの変更は、カスタム開発と見なされます。
パッドのフレームとキー・イメージ
フレームとキーのサンプルは、英語のみで提供されています。仮想認証デバイスのフレームとキーのマスター・ファイル、また各部の説明は、必要に応じて提供されています。独自のカスタム・フレームとキー・イメージを作成して、本番ドキュメントに従ってデプロイできます。これらのイメージや対応するプロパティに対する変更は、カスタム開発とみなされます。特に注意を要するのは、テキスト、ホット・スポットおよびキー・サイズに関する問題です。これらは、提供サンプルよりもサイズを小さくしないでください。
バックグラウンド・イメージおよびフレーズ・テキスト
Oracle Adaptive Access Managerには、一連のサンプル・イメージが同梱されています。これらのイメージは、仮想認証デバイスのみでの使用を目的としています。セキュリティ上の理由から、仮想認証デバイスのコンテキスト以外でエンド・ユーザーに使用可能にしないでください。あらゆるユーザーを対象にした迅速なダウンロードを可能にするために、その内容、ファイル・サイズおよびその他の属性が最適化されています。パッケージでは、各サポート言語用のサンプル・フレーズ・テキストが提供されています。これらのイメージやテキストに対する変更は、カスタム開発とみなされます。イメージを編集するときには、そのイメージの物理的寸法を拡大したり、サンプル・イメージのアスペクト率を変更したりしないでください。そのイメージがゆがんでしまうからです。また、デプロイメントで使用されている仮想認証デバイスごとに同じ名前のイメージが存在している必要があります。
登録時に表示されるイメージ
質問/問題: ユーザー登録前に表示されるページの各イメージが、ロケール言語ではなく英語で表示されます。
回答/解決策: グローバル化された仮想認証デバイスのイメージ・ファイル(認証登録フローを含む)が提供されていません。デプロイメント・チームによる開発が必要です。
質問/問題: SMSを介したOTPを使用する際に、モバイル・トランザクション認証番号を使用して各トランザクションに署名しています。SMSのコストは高くつきます。Oracle Adaptive Access Managerはどのように役立ちますか。また、Man-in-the-Middle (MiTM)攻撃やMan-in-the-Browser (MiTB)攻撃に対する保護を提供するソリューションも必要としています。
回答/解決策:
Oracle Adaptive Access Managerを使用してリスクを評価し、mTANなどのセカンダリ認証をリスクが高いトランザクションのみで使用します。そうすることで、SMSはすべてのトランザクションに送信されずに、中から高リスクのトランザクションにのみ送信されるようになります。
MiTMやMiTBから保護するための最善の方法の1つに、トランザクション・リスク分析の実行があります。たとえば、ユーザーが特定の口座を以前に使用したことがあるかどうか、またはそのユーザーが指定の金額を超える送金を行ったことがあるかどうかが検証されます。本日のトランザクションの分析をリアルタイムで実行するには、Webアプリケーションとのネイティブ統合が必要です。
対象となる口座番号の入力にはPinPadを使用してください。これにより、セッションがハイジャックされた場合でも、ユーザーが入力した口座番号は容易には変更できなくなります。口座番号は通信回線に送信されないので、MiTMまたはMiTBは容易には変更できません。
HTTPSを介した通信には、KeyPadやPinPadなどの仮想認証デバイスを必ず使用することをお薦めします。仮想認証デバイスでは、エンド・ユーザーのマシンで生成された一度かぎりのランダム・データ(マウス・クリックの座標で識別される)がサーバーに送信されます(ここで、デコードされる)。HTTPSでは、従来の暗号化による保護も提供されます。セキュリティ上の脅威となり得るクライアント・ソフトウェアやロジックは、エンド・ユーザーのマシンに存在しません。
Oracle Adaptive Access Managerを使用すると、非常に危険性の高い送金を完全にブロックできます。危険性の高い送金をブロックすることで、使用する認証方式に関係なく、不正行為の発生を減らすことができます。
数字や英数字およびプラガブルなランダム・アルゴリズムがサポートされているかどうか
質問/問題: OTPでは、数字や英数字およびプラガブルなランダム・アルゴリズムがサポートされていますか。
回答/解決策: OTPは、次の2種類のプロパティで構成できます。
# OTP pin generation config bharosa.uio.default.otp.generate.code.length = 5 bharosa.uio.default.otp.generate.code.characters = 1234567890
インテグレータはベース・クラス(AbstractOTPChallengeProcessor)のPIN生成メソッドを使用して、generateCodeメソッドをオーバーライドできます。
UIO ISAプロキシ
OAAM UIOプロキシのWeb公開における問題をトラブルシューティングする手順は次のとおりです。
.NET2.0フレームワークがインストールおよび有効化されており、BharosaプロキシのDLLを正常に登録できる状態にあることを確認します。
フラッド攻撃やワームの伝播を防止するフラッドの防止設定が有効化されている場合、信頼できるIP(ルーターIPなど)に対してIP例外を定義します。
デフォルトのインバウンド・ルールとアウトバウンド・ルールで、HTTPまたはHTTPSトラフィックのOAAMサーバーへの転送(またはOAAMサーバーからの転送)が許可されていることを確認します。
ルールの順序(優先順位)を調べ、デフォルトのルールdenyの優先順位が高くないことを確認します。優先順位が高い場合は、すべてのルールがブロックされてしまいます。このルールの優先順位が一番低い場合、すべてのルールが実行されます。
OAAMサーバー・ルールでは、次のことを確認してください。
外部IPまたは外部名が内部IPまたは内部名にマップされていること。
外部ポートが、OAAMサーバーがリスニングしている内部ポートにマップされていること。
OAAMサーバー・パスが公開されていること。
UIOプロキシの構成時の問題をトラブルシューティングするには、ファイルに対するトレースを有効化し、トレース・レベルを0x8008fに設定します。そうすることで、詳細なインターセプタ評価と実行情報がログ・ファイルに出力されます。
UIO Apacheプロキシ
この項では、UIO Apacheプロキシの問題をトラブルシューティングするためのヒントについて説明します。
httpdの起動時に、mod_uio.so
のロード・エラーが発生します。mod_uio.so
とすべてのライブラリが適切なディレクトリにあることを確認します。Linuxでは、ldd
コマンドを使用して、mod_uio.so
が依存先のすべての動的ライブラリをロードできることを確認します。Windowsでは、Dependency Walkerを使用して、欠落しているDLLを見つけます。場合によっては、MicrosoftのWebサイトからMicrosoft Visual C++ 2005再頒布可能パッケージをインストールする必要があります(これらのライブラリがサーバーでインストール済でない場合)。
すべてがうまくいかない場合は(ログが存在しないなど)、httpdユーザーにuioディレクトリに対する読取り権限が与えられていることを確認します。通常、httpdはデーモン・ユーザーとして実行します。そのデーモン・ユーザーに、ログ・ディレクトリに対する書込み権限が与えられていることを確認します。
UIO_Settings.xml
または構成XMLに解析エラーが含まれる場合、httpdのログ・ディレクトリにUIO_Settings.xml.log
という名前のエラー・ログが作成されます。
エラーについては、uio.log
を参照してください。本番用の使用ではエラーのログ・レベルを使用します。また、詳細情報はinfoを、デバッグの問題はdebugを、冗長ログはtraceを使用して取得できます。
構成XMLと設定XMLがRNGデータベース・スキーマに準拠することを確認します。任意のXMLエディタでUIO_Settings.rng
とUIO_Config.rng
を開いて、UIO_Settings.xml
ファイルおよびアプリケーション構成XMLファイルを編集できます。
Apacheのhttpdログ・レベルをテスト用のデバッグに変更したり情報提供用にとどめることで、ログ・ファイルのサイズを削減できます。Apacheのhttpdログは、UIO Apacheのプロキシ・ログとは別のものです。
UIO Apacheプロキシで使用するISAの構成XMLを移行するには、次の手順を実行します。
使用するXMLファイルのヘッダーを変更します。
<?xml version="1.0" encoding="utf-8"?><UIO_Settings xmlns="http://bharosa.com/">
libxml2のxmllintユーティリティを使用して、構成XMLファイルを実行します。
Windowsの場合、次のサイトから最新のlibxml2-2.x.x.win32.zip
ファイルをダウンロードします。
http://www.zlatkovic.com/libxml.en.html
解凍します。
Linuxの場合、libxml2がインストール済であればxmllint
コマンドを使用できるはずです。Linuxシステムの管理者に問い合せてください。
UIO Apacheプロキシ・ディストリビューションからUIO_Config.rng
ファイルをコピーして、次のコマンドを実行します。
xmllint --noout --relaxng UIO_Config.rng your_config_xml_file
報告されるエラーがあれば修正します。
UIO Apacheプロキシが動作していない場合やリクエストをインターセプトしている場合
問題: 次のエラーが表示されます。
Failed to create session in memcached, err = 70015(Could not find specified socket in poll list.) proxy - Failed to create session, cannot process this request distsessions - memcache server localhost create failed 111
考えられる解決策:
memcacheのインストールと構成が済んでいることを確認してください。
セッションの作成前にmemcacheプロセスが起動しており実行中であることを確認してください。
Oracle Adaptive Access Managerデバッグ・モード
デバッグ・モードでは、どの変数の値(ユーザー名、パスワードおよびその他の情報)も表示されません。取得モードでは、HTTPトラフィックが表示されます。そのため、本番では取得モードを使用しないでください。
セッション中/トランザクション分析
UIOプロキシは、ログイン・セキュリティのみの解決策です。セッション中の機能はサポートしていません。考えられる要件に応じて、次のオプションが用意されています。
パッケージ化アプリケーションを使用していて、UIOプロキシまたはOracle Access Management Access Managerを変更したり、それらに統合する権限がない場合は、リアルタイムまたはインラインのユースケースを対象にしたオプションがあります。たとえば、マルウェアやフィッシング防止の機能、ログイン・フローにおけるリスクベース認証などがあります。
アプリケーションへの統合が可能で、セッション中またはトランザクションのユースケースが必要な場合は、ネイティブ統合の導入を検討してください。この場合、これが最も柔軟なオプションです。
セッション中またはトランザクションのユースケースが必要でも、アプリケーションへの統合が不可能な場合は、Oracle Adaptive Access Managerオフライン10gまたはリスナー付きのOracle Adaptive Access Managerを使用することで、カスタム・オプションが利用可能になることがあります。
11gのプロキシに変更はない
質問/問題: 10gと11gの間にUIOプロキシの変更はありますか。
回答/解決策: 10gと11gの間にプロキシの変更はありません。OHSへの依存性はありません。ユーザーは、Apache 2.2.8のみを使用する必要があります。
HTTPヘッダーへのappidの追加
質問/問題: TestConfig.xml
では、PSFT URLと/asa/
URLの両方のHTTPヘッダーでappid
を追加する必要があるでしょうか。
回答/解決策: いいえ、/asa/
URLのみに追加してください。app-id
はPSFT
URLでは必要ないため、/asa/
URLのみに追加する必要があります。
「次を含む」一致
質問/問題: 完全一致の場合、「次を含む」の条件は一致しますか。
回答/解決策: はい。
リクエストURL
質問/問題: リクエストURLは部分URLとして指定できますか。(URLの最初の部分のみを指定するなど)
回答/解決策: いいえ。URLはそのまま記述する必要があり、問合せパラメータ(?に続く文字列など)はURLの一部とはみなされません。そのため、これらのパラメータは条件の一部として指定して、URLの一部には含めないでください。
OAAM 11gのカスタマイズ機能のヒントおよびトラブルシューティング手順
第8章「OAAMサーバーWebアプリケーション・ページのカスタマイズ」のガイドラインは次のとおりです。
質問/問題: プロパティ・ファイルに次のエントリを追加することにより、registerQuestionのかわりにregisterQuestionHTMLを使用しようと思います。oaam_custom.propertiesファイルとclient_resource.propertiesファイルの両方に追加しましたが、値が有効なようには見えません。bharosa.uio.default.RegisterQuestions.authenticator.device = DeviceHTMLControl bharosa.uio.default.ChallengeQuestion.authenticator.device=DeviceHTMLControl。
回答/解決策: 前述のプロパティは、プロパティ・ファイルに記述されているとおり、AuthentiPadチェックポイントがオフにされた場合にのみ使用されます。Authentipadチェックポイントのプロパティは、bharosa.uio.default.use.authentipad.checkpoint=trueです。または(推奨)、Authentipadチェックポイントのポリシーを変更して、ページ上に期待されるデバイス結果を表示できます。
ヒント: ユーザー表示の文字列はすべて、client_resource.propertiesまたはそのロケール固有のバリエーション(client_resource_es.propertiesなど)でカスタマイズする必要があります。
ヒント: カスタム・ユーザー・インタフェース文字列はWEB-INF/classes/client_resource.propertiesに配置します。カスタム・フレーム・ファイル・イメージをWEB-INF/classes/bharosa_properties/pad_imagesに配置します(クラスパス上に存在する必要があるため)。フレーム・ファイルのプロパティをWEB-INF/classes/client_resource.propertiesに配置し、フレーム・ファイルの値を更新します(pad_images/authenticator_pad.pngなど)。
ヒント: カスタムJSPのキャッシュの問題: Oracle WeblogicではカスタムJSPがキャッシュされるようです。そのため、JSPと一緒にWARファイルがデプロイされると、追加された変更を確認するのは困難です。この問題を回避するための実証された方法として、ファイル名(およびプロパティ値)の変更と、Oracle Weblogicで使用されているデプロイメント・ディレクトリの消去があります。(DefaultDomain/servers/DefaultServer/tmpおよびo.j2ee/drs)。
OAAM認証パッドの無効化
質問: カスタム拡張WARファイルが使用されている場合、OAAM認証パッドを無効にする方法はありますか。
OAAMサーバーには次の 2 つのオプションがあります。
認証パッド・ポリシーを変更し、常に「OAAM HTML Pad」を返すようにします。
OAAMサーバーの次のプロパティを設定します。
bharosa.uio.default.use.authentipad.checkpoint=false bharosa.uio.default.Password.authenticator.device=DeviceHTMLControl bharosa.uio.default.Password.authenticator.device.upgraded=DeviceHTMLControl bharosa.uio.default.ChallengeQuestion.authenticator.device=DeviceHTMLControl bharosa.uio.default.RegisterQuestions.authenticator.device=DeviceHTMLControl bharosa.uio.default.ChallengeSMS.authenticator.device=DeviceHTMLControl bharosa.uio.default.ChallengeEmail.authenticator.device=DeviceHTMLControl
別の方法として、11.1.2では、次のプロパティを使用してログイン・ページを1つのページに統合できます。
注意: チャレンジを有効にするには、前述のオプションのいずれかを実行する必要があります。 |
bharosa.uio.default.login.auth.enabled=true bharosa.uio.default.credentials.enum.password.enabled=true bharosa.uio.default.signon.links.enum.wherepassword.enabled=false
ログイン・ページでの無効な文字チェックの変更
質問: ログイン・ページでチェックする追加の無効な文字は、どのように追加すればよいでしょうか。
回答: 文字を次のプロパティに追加してください。
bharosa.uio.default.signon.loginid.regexp=/[^\\s\\\\\\<\\>]/gi
この値はリソース・バンドル内にあるため、これをオーバーライドするには、client_resource_
locale
.properties
ファイルに追加して、OAAM拡張ライブラリのjarファイルに追加する必要があります。
仮想認証デバイスのアクセス可能なバージョン
質問/問題: アシスティブ・テクノロジを使用してアクセスするユーザーは、仮想認証デバイスのアクセシビリティ対応バージョンを使用する必要があります。これらのバージョンはどのように有効化すればよいでしょうか。
回答/解決策: デフォルトでは、TextPad、QuestionPad、KeyPadおよびPinPadのアクセシビリティ対応バージョンは有効化されていません。デプロイメントでアクセシビリティ対応バージョンが必要な場合は、OAAM管理のプロパティ・エディタを使用するか、Oracle Adaptive Access Manager拡張共有ライブラリを使用して有効化できます。
アクセシビリティ対応バージョンの仮想認証デバイスには、スクリーン・リーダーおよびその他のアシスティブ・テクノロジを使用したナビゲーションで必要なタブ、使用方法およびALTテキストが含まれます。
oaam_custom.properties
を変更する必要があります。
これらのバージョンを有効にするには、is ADA compliant
フラグをtrueに設定します。
ネイティブ統合では、次のプロパティで仮想認証デバイスを制御します。
desertref.authentipad.isADACompliant
Oracle Adaptive Access Managerの即時利用可能な機能では、次のプロパティで仮想認証デバイスを制御します。
bharosa.uio.default.authentipad.is_ada_compliant
表示されるテキスト入力またはパスワード(非表示)の入力設定
質問/問題: チャレンジ回答を非表示のテキストとして入力できるようにQuestionPadを構成するにはどうすればよいでしょうか。
回答/解決策: 次のプロパティをoaam_custom.properties
に追加します。このプロパティにより、QuestionPadに表示されるテキスト入力が設定されるか、それともパスワード(非表示)入力が設定されるかが決定されます。
bharosa.authentipad.questionpad.datafield.input.type
有効な値はtextおよびpasswordです。
ユーザーが使用するデバイスの数をOAAMで制限できるかどうか
質問/問題: ユーザーが使用するデバイスの数をいくつか(たとえば、5つか6つ)に制限するように構成し、その特定のユーザーに対して構成したデバイス・リストにないデバイスからのアクセスをブロックする方法はありますか。
回答/解決策: ユーザビリティとセキュリティ上の理由から、OAAMでは、ユーザーからのアクセスを特定の数のデバイスに制限する機能はサポートされていません。また、適切なセキュリティを実装するうえで、この動作は不要です。OAAMでは、使用するデバイスを含め、ユーザーの動作がプロファイリングされるためです。デバイス数の合計は、リスク測定における適切な測定値であるとはいえません。一部のエンド・ユーザーは、通常の動作の一環として多くのデバイスを使用するからです。OAAMでは、かわりにユーザーが特定のデバイスをどれだけ頻繁に使用するかを追跡します。また、その同一デバイスを過去に使用した他のユーザーとその使用頻度も追跡します。これらは、アクセス・リクエストに付随するリスク・レベルを把握するうえでより効果的な評価値です。
KBAチャレンジにKeyPadまたはPinPadを使用できるかどうか
質問/問題: KBAチャレンジにKeyPadまたはPinPadを使用できますか。
回答/解決策: KBAは、QuestionPadまたはプレーンHTMLでの使用を目的に設計されています。KeyPadまたはPinPadは使用しないでください。それらの利用シナリオに、KBA質問は含まれていないからです。
仮想認証デバイスがユーザーをスクリーン・キャプチャ・マルウェアから保護する方法
質問/問題: 仮想認証デバイスは、ユーザーをスクリーン・キャプチャ・マルウェアからどのように保護しますか。
回答/解決策: この攻撃に対しては、現在手動による対応が必要です。各ユーザーは、キャプチャされたビデオやイメージを参照して、PINやパスワードを判別する必要があります。仮想デバイスは主に、数多くのカスタマに影響を与える自動化された攻撃の回避を目的としています。トロイの木馬にOCRテクノロジが採用されている場合でも、KeyPadやPinPadでクリックされた文字の判別はその他の画面キーボード・タイプでの判別よりも困難になります。Oracle Adaptive Access Managerのキーは半透明であるため、バックグラウンド・イメージが透けて見えるからです。また、セッションごとにキーの形状をランダムに変化させる機能も存在します。
また、ジッターにより、判別作業がさらに困難になります。仮想認証デバイスは、大規模なデプロイメントにおいてセキュリティとユーザビリティのバランスをとるためのよい方法です。すでに使用されている認証を保持しながら、その上層にセキュリティ・レイヤーを配置できるからです。パスワードの解読が可能なマルウェアが開発されたとしても、不正行為が発生するとはかぎりません。仮想認証デバイスは、完全なソリューションのうちの1つのコンポーネントにすぎません。不正者がPINやパスワードを知っていたとしても、リアルタイムの動作、イベント、トランザクションからなる分析や、セカンダリ認証を通過する必要があります。Oracle Adaptive Access Managerでは、このような認証とは別に、ユーザー、デバイス、位置の活動がリアルタイムに追跡、プロファイリングおよび評価されます。Oracle Adaptive Access Managerでは、高リスクの状況を検知した場合に、不正行為を防止するためのプロアクティブなアクションがとられます。このように、アプリケーションから標準形式(パスワードやPINまたはその他の方法の)の認証が排除された場合でも、不正行為を防止できます。
カスタム・バックグラウンド・イメージの作成
仮想認証デバイスに対してカスタム・バックグラウンド・イメージを作成するには、次の手順を実行する必要があります。
使用するパッドごとに、イメージを正しい解像度に処理します。
次に、仮想認証デバイスごとにイメージを正しいディレクトリに追加する必要があります。TextPadイメージはTextPadディレクトリに、のように配置する必要があります。ディレクトリは、bharosa.image.dirlist= {oracle.oaam.home}/oaam_images
という形式になります。これは、"/Oracle/Middleware/Oracle_IDM1/oaam/oaam_images"
に解決されます。このディレクトリ内には、keypad、questionpad、textpadという3つのサブディレクトリがあります。
.Net内のAuthentipadイメージに表示される日時スタンプの無効化
日時スタンプを無効化するには、次の行をコメントアウトします。
CreateAuthentiPad API AuthPad.TimeStampText = DateTime.Now.ToString(); CreateQuestionPad API TimeStampText = DateTime.Now.ToString();
タイムスタンプを表示します。
例1 (ユーザー定義文字列を表示):
ret.AuthPad.TimeStampText = "monster"; ret.TimeStampText = "muppet";
例2 (現在の時刻を表示):
AuthPad.TimeStampText = DateTime.Now.ToString(); TimeStampText = DateTime.Now.ToString();
パスワードの文字制限の変更
OAAMサーバーに入力するパスワードの文字制限を変更するには、oaam_cli.properties
ファイル内の次のプロパティの値を更新してください。
bharosa.authentipad.textpad.datafield.maxLength
Access ManagerとOAAMの既存の統合デプロイメントの場合、このプロパティの値は、OAAM管理コンソールまたは共有ライブラリを使用して更新できます。
KeyPadのトラブルシューティング
質問/問題: KeyPadで問題が発生しています。この問題をトラブルシューティングするためにはどうすればよいでしょうか。
回答/解決策: 次のリストを参照してください。
KeyPadが表示されない。
oaam_custom.properties
の次のプロパティを確認します。
bharosa.authentipad.image.url=kbimage?action=kbimage&
クライアント・アプリケーションが正しいサーバー・アプリケーションを指し示していることを確認します。
ボタンのジッターが停止する。
他のユーザーがKeyPad設定を変更しました。サーバーの担当者にプロパティを変更していないか確認してください。
すべてのユーザーに同じイメージが表示される。
プロパティ・ファイルを調べて、バックグラウンド・フォルダ設定が正しいことを確認します。
パッドの背景にイメージが表示されない。
ブラウザで、ユーザーがイメージを無効化した可能性があります。
ユーザーのイメージがバックグラウンド・フォルダから削除された可能性があります。
プロパティ・ファイルを調べて、バックグラウンド・フォルダ設定が正しいことを確認します。
システムでパーソナライズ用のイメージの割当てが構成されていることを確認します。
.Net APIが、ログイン・フローの一環としてカスタム・ロケールを使用するブラウザ・フィンガープリントの生成に使用される場合、エラーが発生します: カルチャID 4096 (0x1000)はサポートされていないカルチャです。\r\nパラメータ名: culture。この問題は、ロケールがMicrosoft .NET Frameworkに登録されているためアプリケーションがカスタム・カルチャを使用している場合に発生し、OAAM .NET APIクラスがHttpSessionに取得されたLCIDからCultureInfoを構築しようとしている場合は、Microsoft .NET Frameworkによって例外がスローされます。回避策として、oaam/src/dotNET/Bharosa/vCrypt/Common/Util/HttpUtil.cs
の行162をCultureInfo ci = new CultureInfo(context.Session.LCID);
からCultureInfo ci = new CultureInfo(context.Current.Request.UserLanguages[0]);
に変更します
これにより、.NETは、LCIDでなく、ロケールの名前でロケールを検索するようになります。
Webサービスをコールする際にタイムアウトの特定のエラー・コードをクライアントに渡すことができます。
メソッドhandleException()
は、ビジネスの要求に基づいて含めるエラー・コードを増やせるように、オーバーライドできるクラスVCryptSOAPGenericImpl
を含みます。現在、これはsoaptimeoutエラーで設定されています。
protected String handleException(String requestName, Exception ex, String resultXml) {
ヘッダー・ベースのIPアドレスはデフォルトでは受け入れられないため、OAAMセッションは、デフォルトではヘッダー・ベースのIPアドレスに対して記録されません。ヘッダーからのIPアドレスの読取りを有効にするには、vcrypt.tracker.ip.detectProxiedIP
をtrue
に設定します。これにより、"X-Forwarded-For" IPを使用できるようになります。ヘッダーのIPアドレスを使用可能にする場合、有効なIPアドレスのみを使用します。ヘッダーに無効なIPアドレスが含まれると、実際のリクエストIPアドレスが使用されます。
LBRおよびSNATを有効にしたOAAMを使用する場合は、クライアントIPアドレスを保持する必要があります。OAAMはポリシーを評価する際にクライアントIPアドレスに依存するため、これは重要です。
OAAMプロパティが次のように設定されていることを確認します。
vcrypt.tracker.ip.detectProxiedIP=true bharosa.ip.header.name=X-Forwarded-For
クライアントIPアドレスを保持するロード・バランサの詳細は、『Oracle Identity Managementエンタープライズ・デプロイメント・ガイド』の「エンタープライズ・デプロイメントのためのネットワークの準備」の章を参照してください。