16 一般的なOARMのユース・ケース
OARMは管理者を対象とした合理的で堅牢なインタフェースで、アクセス・リクエストのリスクの積極的な判断、不正や誤用を防ぐ適切な結果の構成を可能にします。
トピック
OARMのすぐに利用可能な機能を使用して、様々なタスクを実行できます。この項では、OARMで構成できるユース・ケースを次に示す例で説明します:
OARMでのカスタム・アクティビティの使用方法の詳細は、チュートリアルOracle Adaptive Risk Managementでのカスタム・アクティビティを構成するユース・ケースを参照してください。
16.1 リスクのあるIPを構成するユース・ケース
IPアドレスは、管理者が分析する最も重要なデータ・ポイントの1つで、不正なユーザー・アクティビティを防ぐための迅速な対応を可能にします。
このユース・ケースを構成するには、次のステップを実行します:
ノート:
ファクタの構成方法の詳細は、「ユーザー・プリファレンスUIでのファクタの管理」を参照してください。16.2 地理および速度をベースとして構成するユース・ケース
OARMでは、地理および速度をルールとして構成することで、セキュリティを強化し、その結果として、組織の保護レベルを高めることができます。
地理および速度は、1時間当たりの最大マイル数として計算されるのが一般的です。このため、特定の期間内に正常にサインインするには、ユーザーがある場所から別の場所までどのくらいの時間で移動する必要があるかを判断できます。
地理および速度のユースケースを実装するための前提条件は、ジオロケーション・データがあることです。ジオロケーション機能を使用すると、ユーザーの物理的な場所を識別できます。これは通常、ユーザーがログインの試行に使用するデバイスのIPアドレスを取得することで把握します。このデータはその後、連続する2回のログイン試行時の距離の計算に使用されます。
ユーザーが、あるデバイスからアプリケーションにログインし、別の国に飛行機で移動した後、再び同じデバイスで同じアプリケーションにログインする可能性はあります。ただし、計算された速度が構成した速度を超えている場合は、適切なアクションとアラートがトリガーされます。ユーザーが午前9時(IST)にインドからログインし、2時間後の午前11時(IST)に再びオーストラリアからログインを試行する場合について考えてみます。一番速い移動手段であったとしても、ユーザーがこの距離を2時間で移動することはできません。2人の異なるユーザーがログインしようとしていることは明らかです。これは不正なユーザー・アクティビティであるため、適切なアクションが必要です。
すぐに使用可能なデバイスの最大速度に基づくチャレンジ・ルールを使用すれば、管理者はこのような不正なユーザー・アクティビティを検出し、アラートをトリガーして、ユーザーがサインインできないようチャレンジできます。これは、ジオロケーション・データと組み合せることで実現します。管理者は、「ユーザー・セッションの監視」ダッシュボードで、これらのアラート、アクション、ルールおよびその他のユーザー関連情報を監視および表示できます。
ルールの仕組み
デバイス最大速度ルールには管理者が構成できる値が2つあり、これを使用して、ルールのトリガー前に地理および速度が計算されます。これらの値フィールドは、「時間内の最終ログイン」(秒)および「次を超える1時間当たりのマイル」と呼ばれます。これら2つのフィールド値を使用して、アラートがトリガーされずに、物理デバイスが移動できる地理および速度をカスタマイズできます。
デバイスの最大速度を設定する際は、前述のどちらの値も、もう一方の値の更新の必要性を考慮せずに変更はできないということに注意してください。つまり、「次を超える1時間当たりのマイル」の値を適切に調整せずに、「時間内の最終ログイン」(秒)の値のみを設定することはできません。これら2つの値は、デバイスの速度を計算するために連携して機能します。これら2つの設定の関係はANDです。
ルールの仕組みを見てみましょう。
- ルールはまず、時間内の正常な最終ログイン(秒)を取得します。
- 次に、ルールでは、最終ログインの都市と現在のログインの都市を取得し、都市の間の距離を計算します。
- ログイン時間の時間差で割って計算された2つの都市間の距離が、速度の計算に使用されます。
- 計算された速度が構成した速度を超える場合は、ルールがトリガーされます。
ノート:
次の前提を満たしている場合にこのルールを実装します:- ジオロケーション・データがOARMサーバーにロードされている必要があります。「ジオロケーション・データのロード」を参照してください。
- ユーザーは同じデバイスからログインする必要があります。
- 前回のログイン(N秒前)でのユーザーの認証ステータスが「成功」であること。
ノート:
このユース・ケースのステップは、チュートリアルOracle Adaptive Risk Managementでの地理および速度をベースとして構成するユース・ケースにも示されています。ノート:
ファクタの構成方法の詳細は、「ユーザー・プリファレンスUIでのファクタの管理」を参照してください。16.3 ジオロケーション・データのロード
OARMでは、ジオロケーション・データを利用して、不正なユーザー・アクティビティやレポートを検出します。
OARMでは、次のプロバイダのIPジオロケーション・データがサポートされています:
- Neustarバージョン7
- Neustar (旧Quova)
- Maxmind
OAA管理コンテナは、通常、IPジオロケーション・データをOARMデータベース・スキーマにロードするために使用します。ただし、OAA管理コンテナの外部からジオロケーション・データをロードすることも可能です。
前提条件: ジオロケーション・データをロードするステップを実行する前に、OARMがインストールされ実行中であることを確認する必要があります。
ノート:
- ジオロケーション・データのロードには時間がかかる場合がありますが、サービスが動作を続けている間はバックグラウンドで行われます。
- アーカイブ・ログを有効にしている場合は、定期的に(少なくとも30分に1回は)バックアップし、バックアップしたログがパージされていることを確認してください。
OAA管理コンテナ内からのジオロケーション・データのロード
次のステップを実行します。
- ジオロケーション・データを、選択した作業ディレクトリにダウンロードします(例:
$WORKDIR/geoData
)。 - ジオロケーション・データをNFSボリューム
<NFS_VAULT_PATH>
にコピーして、OAA管理コンテナからアクセスできるようにします。$ cd <NFS_VAULT_PATH> $ mkdir -p geoData $ sudo cp $WORKDIR/geoData/*.* <NFS_VAULT_PATH>/geoData
ノート:
データ・ファイルは<NFS_VAULT_PATH>内の任意の場所にコピーできます。「geoData」フォルダの直下に配置しなくてもかまいません。 - ファイル権限を次のように設定します:
$ cd <NFS_VAULT_PATH>/geoData $ chmod 444 *.*
- OAA管理ポッドのBashシェルの中に入ります(まだ入っていない場合):
kubectl exec -n <namespace> -ti <oaamgmt-pod> -- /bin/bash
- ジオロケーション・ファイルが管理コンテナ内に表示されることを確認します:
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
- コンテナ内の
/u01/oracle/oaa_cli/bharosa_properties
ディレクトリに移動します。cd /u01/oracle/oaa_cli/bharosa_properties
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
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管理コンテナの外部からのジオロケーション・データのロード
次のステップを実行します。
- OAA管理コンテナの
<BHCLI_HOME>
フォルダにあるすべてのファイルおよびフォルダを、ジオロケーション・ロード・スクリプトを実行するターゲット・コンピュート・ノード上の新しい場所に再帰的にコピーします。ノート:
環境変数<BHCLI_HOME>
は、ローダー・ホーム・フォルダを示すように設定されます。この値のデフォルトは、/u01/oracle/oaa_cli
です。 - ロードするデータ・ファイルが、
<BHCLI_HOME>/bharosa_properties/bharosa_location.properties
に指定されたパスに存在することを確認します。必要に応じて、プロパティ・ファイルを更新します。
- 目的の場所に次の環境変数を設定して、ログ・ファイルを作成します。
LOGS_DIR=/public/geoDatLogs/logs
- 外部コンピュートにJavaをインストールし、
JAVA_HOME
環境変数を管理コンテナのJavaバージョンに変更します。ノート:
管理コンテナのinstallOAA.properties
ファイルが参照可能であるか、外部コンピュートにコピーされていることを確認する必要があります。必要に応じてパラメータを指定し、ロードを実行します。 loadIPLocationData.sh
スクリプトを実行してデータをロードします。