16 一般的なOARMのユース・ケース

OARMは管理者を対象とした合理的で堅牢なインタフェースで、アクセス・リクエストのリスクの積極的な判断、不正や誤用を防ぐ適切な結果の構成を可能にします。

トピック

OARMのすぐに利用可能な機能を使用して、様々なタスクを実行できます。この項では、OARMで構成できるユース・ケースを次に示す例で説明します:

OARMでのカスタム・アクティビティの使用方法の詳細は、チュートリアルOracle Adaptive Risk Managementでのカスタム・アクティビティを構成するユース・ケースを参照してください。

16.1 リスクのあるIPを構成するユース・ケース

IPアドレスは、管理者が分析する最も重要なデータ・ポイントの1つで、不正なユーザー・アクティビティを防ぐための迅速な対応を可能にします。

このユース・ケースでは、管理者が構成する必要があるIPアドレスが、組織にとってリスクがあるとみなされる場合のシナリオについて考えます。このユース・ケースは、すぐに利用可能なルールであるリスクのあるIPを基にしたチャレンジを使用して構成します。このルールを構成すると、ユーザーにリスクを基にしたチャレンジが提示され、リスクがあるとみなされるIPアドレスからのログインによるユーザー・アクティビティに対してアラートが生成されます。管理者は、「ユーザー・セッション」ダッシュボードから、アラート、アクション、ルールおよびその他のユーザー関連情報をモニターできます。このユース・ケースのステップは、チュートリアルOracle Adaptive Risk ManagementでのリスクのあるIPを構成するユース・ケースにも示されています。

このユース・ケースを構成するには、次のステップを実行します:

  1. OARM管理コンソールにログインします。
  2. 「アプリケーション・ナビゲーション」アイコンをクリックして左側のペインを表示し、「Adaptive Risk Management」をクリックします。
    「ユーザー・アクティビティ」ダッシュボードが表示されます。
  3. 「ユーザー認証」タイルで、「ルール」リンクをクリックします。
    ユーザー・アクティビティ・ルールが表示されたページが開きます。
  4. 検索ペインに関連するテキスト(risky ipなど)を入力して、リスクのあるIPの構成にすぐに利用可能なすべてのルールをフィルタします。
    このユース・ケースの構成に必要なリスクのあるIPを基にしたチャレンジ・ルールが表示されます。
  5. リスクのあるIPを基にしたチャレンジ・ルールの「編集」アイコンをクリックします。

    ノート:

    すぐに利用可能なルールであるリスクのあるIPを基にしたチャレンジには、リスクのあるIPアドレスを評価する条件が関連付けられています。
  6. 「アクションの選択」および「アラートの選択」リストで、それぞれに「チャレンジ」「リスクのあるIP」オプションが事前に選択されていることを確認します。

    ノート:

    アクションとアラートは、要件に従って構成できます。たとえば、アクセス・リクエストがリスクがあるとみなされるIPアドレスからのもので、そのユーザーをブロックする場合は、アクションを「ブロック」に構成できます。
  7. リスクのあるIPアドレスを1つのグループに追加します。管理者が使いやすいよう、リスクのあるIPグループはすぐに使用できるようになっています。
  8. 「IPグループ」で、「リスクのあるIP」オプションがリストで選択された状態で、リスクのあるIPの編集リンクをクリックして、リスクがあるとみなされるIPアドレスを追加します。
  9. 「保存して続行」をクリックします。
    「グループの編集」ページが表示されます。
  10. 次のステップを実行して、リスクのあるIPグループを構成します:
    1. 「IPの追加」をクリックします。
    2. 「値」フィールドに、IPアドレスを入力します。たとえば、192.0.2.1です。
    3. 「追加」をクリックします。
    4. ステップ10aから10cを繰り返して、リスクのあるIPアドレスのリストをグループに追加します。
  11. 「保存」をクリックして、グループを保存します。
    「ルールの編集」ページにリダイレクトされます。
  12. 「保存」をクリックしてルールを保存します。
    「ユーザー・アクティビティ」ルール・ページにリダイレクトされます。
これで、認証フロー中にこのルールが実行されると、リスクのあるIPのすぐに利用可能なルールに関連付けられた条件が評価されます。この条件がTrueに評価されると、ルールがトリガーされます。また、ユーザーには、構成されたファクタに基づいてチャレンジが提示されます。

ノート:

ファクタの構成方法の詳細は、「ユーザー・プリファレンスUIでのファクタの管理」を参照してください。

16.2 地理および速度をベースとして構成するユース・ケース

OARMでは、地理および速度をルールとして構成することで、セキュリティを強化し、その結果として、組織の保護レベルを高めることができます。

地理および速度ルールを使用すると、現在の場所と前回ログインした場所との距離と時間差に基づいてユーザーを認証できます。この情報は、保護されたリソースへのアクセス権を付与する基準として利用できます。

地理および速度は、1時間当たりの最大マイル数として計算されるのが一般的です。このため、特定の期間内に正常にサインインするには、ユーザーがある場所から別の場所までどのくらいの時間で移動する必要があるかを判断できます。

地理および速度のユースケースを実装するための前提条件は、ジオロケーション・データがあることです。ジオロケーション機能を使用すると、ユーザーの物理的な場所を識別できます。これは通常、ユーザーがログインの試行に使用するデバイスのIPアドレスを取得することで把握します。このデータはその後、連続する2回のログイン試行時の距離の計算に使用されます。

ユーザーが、あるデバイスからアプリケーションにログインし、別の国に飛行機で移動した後、再び同じデバイスで同じアプリケーションにログインする可能性はあります。ただし、計算された速度が構成した速度を超えている場合は、適切なアクションとアラートがトリガーされます。ユーザーが午前9時(IST)にインドからログインし、2時間後の午前11時(IST)に再びオーストラリアからログインを試行する場合について考えてみます。一番速い移動手段であったとしても、ユーザーがこの距離を2時間で移動することはできません。2人の異なるユーザーがログインしようとしていることは明らかです。これは不正なユーザー・アクティビティであるため、適切なアクションが必要です。

すぐに使用可能なデバイスの最大速度に基づくチャレンジ・ルールを使用すれば、管理者はこのような不正なユーザー・アクティビティを検出し、アラートをトリガーして、ユーザーがサインインできないようチャレンジできます。これは、ジオロケーション・データと組み合せることで実現します。管理者は、「ユーザー・セッションの監視」ダッシュボードで、これらのアラート、アクション、ルールおよびその他のユーザー関連情報を監視および表示できます。

ルールの仕組み

デバイス最大速度ルールには管理者が構成できる値が2つあり、これを使用して、ルールのトリガー前に地理および速度が計算されます。これらの値フィールドは、「時間内の最終ログイン」(秒)および「次を超える1時間当たりのマイル」と呼ばれます。これら2つのフィールド値を使用して、アラートがトリガーされずに、物理デバイスが移動できる地理および速度をカスタマイズできます。

デバイスの最大速度を設定する際は、前述のどちらの値も、もう一方の値の更新の必要性を考慮せずに変更はできないということに注意してください。つまり、「次を超える1時間当たりのマイル」の値を適切に調整せずに、「時間内の最終ログイン」(秒)の値のみを設定することはできません。これら2つの値は、デバイスの速度を計算するために連携して機能します。これら2つの設定の関係はANDです。

ルールの仕組みを見てみましょう。

  1. ルールはまず、時間内の正常な最終ログイン(秒)を取得します。
  2. 次に、ルールでは、最終ログインの都市と現在のログインの都市を取得し、都市の間の距離を計算します。
  3. ログイン時間の時間差で割って計算された2つの都市間の距離が、速度の計算に使用されます。
  4. 計算された速度が構成した速度を超える場合は、ルールがトリガーされます。

ノート:

次の前提を満たしている場合にこのルールを実装します:
  • ジオロケーション・データがOARMサーバーにロードされている必要があります。「ジオロケーション・データのロード」を参照してください。
  • ユーザーは同じデバイスからログインする必要があります。
  • 前回のログイン(N秒前)でのユーザーの認証ステータスが「成功」であること。
このユース・ケースを構成するには、次のステップを実行します:

ノート:

このユース・ケースのステップは、チュートリアルOracle Adaptive Risk Managementでの地理および速度をベースとして構成するユース・ケースにも示されています。
  1. OARM管理コンソールにログインします。
  2. 「アプリケーション・ナビゲーション」アイコンをクリックして左側のペインを表示し、「Adaptive Risk Management」をクリックします。
    「ユーザー・アクティビティ」ダッシュボードが表示されます。
  3. 「ユーザー認証」タイルで、「ルール」リンクをクリックします。
    ユーザー・アクティビティ・ルールが表示されたページが開きます。
  4. 検索ペインに関連するテキストを入力して、すぐに利用可能なすべてのルールをフィルタし、地理および速度を構成します。
    このユース・ケースの構成に必要なデバイスの最大速度に基づくチャレンジ・ルールが表示されます。
  5. デバイスの最大速度に基づくチャレンジ・ルールの「編集」アイコンをクリックします。

    ノート:

    すぐに利用可能なデバイスの最大速度に基づくチャレンジ・ルールには、指定された時間におけるデバイスの最大速度を評価する条件が関連付けられています。
  6. 「アクションの選択」および「アラートの選択」リストで、それぞれに「チャレンジ」「デバイス最大速度」オプションが事前に選択されていることを確認します。

    ノート:

    アクションとアラートは、要件に従って構成できます。
  7. 「時間内の最終ログイン」(秒)および「次を超える1時間当たりのマイル」フィールドに、それぞれ72000600が事前に入力されていることを確認します。

    ノート:

    前述のフィールドは、要件に従って構成できます。
  8. 「デバイス最大速度」ルールで無視するIPアドレスを追加します。管理者が使いやすいよう、無視するIPグループはすぐに使用できるようになっています。

    ノート:

    このパラメータを使用して、無視するIPのリストを指定できます。ユーザーのIPがそのリストに含まれる場合、この条件は常にfalseと評価されます。ユーザーのIPがリストに含まれない場合、またはリストがnullや空である場合、条件は、最後のログインからのユーザーまたはデバイスの速度を評価し、速度が構成値を超えている場合はtrueと評価されます。
  9. 「無視するIPグループ」で、「無視するIPグループ」オプションがリストで選択された状態で、無視するIPグループの編集リンクをクリックして、このルールで無視するIPアドレスを追加します。
  10. 「保存して続行」をクリックします。
    無視するIPグループの編集ページが表示されます。
  11. 次のステップを実行して、グループを構成します:
    1. 「IPの追加」をクリックします。
    2. 「値」フィールドに、IPアドレスを入力します。たとえば、192.0.2.1です。
    3. 「追加」をクリックします。
    4. ステップ11 aから11 cを繰り返して、無視するIPアドレスのリストをグループに追加します。
  12. 「保存」をクリックして、グループを保存します。
    「ルールの編集」ページにリダイレクトされます。
  13. 「保存」をクリックしてルールを保存します。
    「ユーザー・アクティビティ」ルール・ページにリダイレクトされます。
これで、認証フロー中にこのルールが実行されると、すぐに利用可能な「デバイス最大速度」ルールに関連付けられた条件が評価されます。この条件がTrueに評価されると、ルールがトリガーされます。また、ユーザーには、構成されたファクタに基づいてチャレンジが提示されます。

ノート:

ファクタの構成方法の詳細は、「ユーザー・プリファレンスUIでのファクタの管理」を参照してください。

16.3 ジオロケーション・データのロード

OARMでは、ジオロケーション・データを利用して、不正なユーザー・アクティビティやレポートを検出します。

ジオロケーション・データを使用すると、ユーザーの物理的な場所を識別できます。ジオロケーション・データは、ユーザーのIPアドレスを取得して、ロケーション情報を示します。その結果、不正ユーザー・アクティビティが行われた場所を検出して、すぐにアクションを実行できます。

OARMでは、次のプロバイダのIPジオロケーション・データがサポートされています:

  • Neustarバージョン7
  • Neustar (旧Quova)
  • Maxmind

OAA管理コンテナは、通常、IPジオロケーション・データをOARMデータベース・スキーマにロードするために使用します。ただし、OAA管理コンテナの外部からジオロケーション・データをロードすることも可能です。

前提条件: ジオロケーション・データをロードするステップを実行する前に、OARMがインストールされ実行中であることを確認する必要があります。

ノート:

  • ジオロケーション・データのロードには時間がかかる場合がありますが、サービスが動作を続けている間はバックグラウンドで行われます。
  • アーカイブ・ログを有効にしている場合は、定期的に(少なくとも30分に1回は)バックアップし、バックアップしたログがパージされていることを確認してください。

OAA管理コンテナ内からのジオロケーション・データのロード

次のステップを実行します。

  1. ジオロケーション・データを、選択した作業ディレクトリにダウンロードします(例: $WORKDIR/geoData)。
  2. ジオロケーション・データをNFSボリューム<NFS_VAULT_PATH>にコピーして、OAA管理コンテナからアクセスできるようにします。
    $ cd <NFS_VAULT_PATH>
    $ mkdir -p geoData
    $ sudo cp $WORKDIR/geoData/*.* <NFS_VAULT_PATH>/geoData

    ノート:

    データ・ファイルは<NFS_VAULT_PATH>内の任意の場所にコピーできます。「geoData」フォルダの直下に配置しなくてもかまいません。
  3. ファイル権限を次のように設定します:
    $ cd <NFS_VAULT_PATH>/geoData
    $ chmod 444 *.*
  4. OAA管理ポッドのBashシェルの中に入ります(まだ入っていない場合):
    kubectl exec -n <namespace> -ti <oaamgmt-pod> -- /bin/bash
  5. ジオロケーション・ファイルが管理コンテナ内に表示されることを確認します:
    ls -l /u01/oracle/service/store/oaa/geoData

    たとえば、Neustarバージョン7の場合、ファイルは次のようになります:

    
    --r--r--r-- 1 oracle staff 3673477337 Jan 26 15:22 oracletest_cgp_v1133.csv.gz
  6. コンテナ内の/u01/oracle/oaa_cli/bharosa_propertiesディレクトリに移動します。
    cd /u01/oracle/oaa_cli/bharosa_properties
  7. bharosa_location.propertiesファイルを編集して、ロケーション・データ・プロバイダとデータ・ファイルの場所を反映します。

    Neustarの場合、IPロケーション・ローダーに関連するプロパティはここで定義します:

    
    ### IP location loader specific properties go here
    
    ### Specify the data provider:  neustarV7 or maxmind or quova(for quova legacy format)
    location.data.provider=neustarV7
    
    ### Specify the data file, for neustarV7 or maxmind or quova(for quova legacy format)
    location.data.file=/u01/oracle/service/store/oaa/geoData/test_cgp_v1114.csv.gz
    
    ### Specify the reference file for quova (for data provided by quova/neustar in legacy format).For NeustarV7, this property can be commented (optional).
    location.data.ref.file=/u01/oracle/service/store/oaa/geoData/test_08132006.ref.gz
    
    ### Specify the anonymizer data file for quova (for data provided by quova/neustar in legacy format).For NeustarV7, this property can be commented (optional).
    location.data.anonymizer.file=/u01/oracle/service/store/oaa/geoData/test_anonymizer.dat.gz

    Maxmindの場合、IPロケーション・ローダーに関連するプロパティはここで定義します:

    ### Specify the data provider: maxmind or quova (for data provided by neustar)
    location.data.provider=maxmind
    
    ### Specify the location data file, for maxmind
    location.data.location.file=/u01/oracle/service/store/oaa/geoData/GeoIP2-Enterprise-Locations-en.CSV
    
    ### Specify the blocks data file, for maxmind
    location.data.blocks.file=/u01/oracle/service/store/oaa/geoData/GeoIP2-Enterprise-Blocks-IPv4.CSV
    
    ### Specify the country code data file, for maxmind
    location.data.country.code.file=/u01/oracle/service/store/oaa/geoData/ISO_3166_CountryCode.csv
    
    ### Specify the sub country code data file, for maxmind
    location.data.sub.country.code.file=/u01/oracle/service/store/oaa/geoData/FIPS_10_4_SubCountryCode.csv

    ノート:

    NeustarかMaxmindのどちらを使用しているかにかかわらず、すべての値をコメント解除したままにしてください。たとえば、Neustarを使用してNeustarプロパティを適切に設定した場合、Maxmindプロパティは使用されていなくてもコメントを解除しておく必要があります。

    その他のパラメータにはデフォルト値を使用することをお薦めします:

    ### Specify the number of database threads
    location.loader.database.pool.size=16
    
    ### Specify the maximum number of location records to batch before issuing a database commit
    location.loader.database.commit.batch.size=100
    
    ### Specify the maximum time to hold an uncommitted batch
    location.loader.database.commit.batch.seconds=30
    
    ### Specify the maximum number of location records to be kept in queue for database threads
    location.loader.dbqueue.maxsize=5000
    
    ### Specify the maximum number of location records to be kept in cache
    location.loader.cache.location.maxcount=5000
    
    ### Specify the maximum number of location split records to be kept in cache
    location.loader.cache.split.maxcount=5000
    
    ### Specify the maximum number of anonymizer records to be kept in cache
    location.loader.cache.anonymizer.maxcount=5000
    
    ### Specify the maximum number of ISP records to be kept in cache
    location.loader.cache.isp.maxcount=5000
  8. loadIPLocationData.shスクリプトを実行してデータをロードします。
    cd /u01/oracle/oaa_cli
    ./loadIPLocationData.sh

    ノート:

    このスクリプトを実行すると、次のようにして、プロパティ・ファイルをオプションのパラメータとして渡すことができます:
    cd /u01/oracle/oaa_cli
    ./loadIPLocationData.sh -f ./../scripts/settings/installOAA.properties

    前述のファイル・パラメータ(-f)はオプションです。この値を指定しない場合、プロパティ・ファイルのデフォルト値は、/u01/oracle/scripts/settings/installOAA.propertiesからフェッチされます。

    このファイル値をオーバーライドするには、setCliEnv.shに、環境変数INSTALL_PROP_FILEを設定します。このファイルは、次の情報を含む必要があります。

    • database.host=<データベース・ホスト名>
    • database.port=<データベース・ポート番号>
    • database.schema=<データベース・ユーザー名>
    • database.schemapassword=<データベース・スキーマ・パスワード>: このプロパティはオプションです。
    • database.svc=<データベース・サービス名>
    • database.name=<データベース名>

    database.svcまたはdatabase.nameの2つのオプションのいずれかが存在する必要があることに注意してください。ファイルにどちらも存在する場合は、database.svc値が優先されます。

    ノート:

    必要な場合は、スキーマにパスワードを入力します。

    データのロードには、数時間かかる場合があります。

OAA管理コンテナの外部からのジオロケーション・データのロード

次のステップを実行します。

  1. OAA管理コンテナの<BHCLI_HOME>フォルダにあるすべてのファイルおよびフォルダを、ジオロケーション・ロード・スクリプトを実行するターゲット・コンピュート・ノード上の新しい場所に再帰的にコピーします。

    ノート:

    環境変数<BHCLI_HOME>は、ローダー・ホーム・フォルダを示すように設定されます。この値のデフォルトは、/u01/oracle/oaa_cliです。
  2. ロードするデータ・ファイルが、<BHCLI_HOME>/bharosa_properties/bharosa_location.propertiesに指定されたパスに存在することを確認します。

    必要に応じて、プロパティ・ファイルを更新します。

  3. 目的の場所に次の環境変数を設定して、ログ・ファイルを作成します。
    LOGS_DIR=/public/geoDatLogs/logs
  4. 外部コンピュートにJavaをインストールし、JAVA_HOME環境変数を管理コンテナのJavaバージョンに変更します。

    ノート:

    管理コンテナのinstallOAA.propertiesファイルが参照可能であるか、外部コンピュートにコピーされていることを確認する必要があります。必要に応じてパラメータを指定し、ロードを実行します。
  5. loadIPLocationData.shスクリプトを実行してデータをロードします。