ポリシー偏差計算のしくみ
目次
cminder12901jp
目次
拡張ポリシー管理では、(ポリシー デプロイの結果として)エンドポイントにデプロイする必要があるアクセス ルールと、同じエンドポイントに正常にデプロイされている実際のルールとの違いを確認できます。 また、ポリシー オブジェクトに対して行われたプロパティの追加や変更についても解決します。 これにより、ポリシーのデプロイに関する問題を解決できます。
エンドポイント上でポリシー偏差計算を実行すると、以下のアクションが実行されます。
- エンドポイントにデプロイされるルールのリストをローカル ホストから取得します。これらは、デプロイされる各ポリシーに指定されたルールです。デプロイされる各ポリシーの POLICY オブジェクトに関連付けられたローカルの RULESET オブジェクトに指定されています。
- これらの各ルールがエンドポイントに適用されるかどうかをチェックします。重要:偏差計算では、ネイティブ ルールが適用されるかどうかはチェックされません。 データベースからオブジェクト(ユーザまたはオブジェクト属性、ユーザまたはリソース権限、あるいは実際のユーザまたはリソース)を削除するルールも無視されます。 たとえば、偏差計算では、「/etc/passwd」のルールが適用されるかどうかは確認できません。
- (オプション)ローカルのポリシー オブジェクトと DMS のポリシー オブジェクトを比較します。通常、偏差計算機能はローカル ホスト上でのみ偏差をチェックします。-strictオプションを指定すると、偏差計算機能はローカルの HNODE オブジェクトに関連付けられたポリシーと DMS で HNODE オブジェクトに関連付けられたポリシーも比較します。 このツールでは以下の比較を実行します。
- ローカル ホストを表す HNODE オブジェクトに関連付けられたポリシーのリスト
- HNODE オブジェクトに関連付けられた各 POLICY オブジェクトのポリシーのステータス
- HNODE オブジェクトに関連付けられた各 POLICY オブジェクトのポリシーのシグネチャ
- 以下の 2 ファイルが出力されます。
- ACInstallDir/data/devcalc/deviation.log最後の偏差計算で収集されたログとエラー メッセージ。
- ACInstallDir/data/devcalc/deviation.datポリシーとその偏差のリスト。 このファイルの内容は、エンドポイントで selang コマンドget devcalcを使用することで取得できます。
注:Privileged Identity Managerにより監査イベントも送信されます。監査イベントはseaudit -aを使用して表示できます。 seaudit ユーティリティの詳細については、「リファレンス ガイド」を参照してください。 - 検出された偏差を DMS に通知します。通知は、ローカルのPrivileged Identity Managerデータベースに指定された DH 経由で DMS に送信されます。
偏差計算機能のトリガ
DMS にポリシー偏差ステータスの最近の情報が含まれるように、偏差計算機能を定期的に実行する必要があります。 エンドポイント上で拡張ポリシー管理を有効にすると、各ハートビート送信後に policyfetcher によって偏差計算機能がトリガされます。
注:
デフォルトで実行される偏差計算は、エンドポイントに追加された項目を考慮しません。 これらの項目を参照するには、devcalc_command 環境設定を変更し、厳密な
モードで偏差計算が実行されるようにします。ポリシー偏差計算機能がユーザ要件をサポートする間隔で実行されるように policyfetcher 設定を変更することをお勧めします。
ポリシーの偏差ログおよびエラー ファイル
ポリシー偏差計算では、各偏差計算の実行時に新しいログが作成されます。 このログは、エラー メッセージも含み、
ACInstallDir
/data/devcalc/deviation.log に格納されます。このログは、レポートに示された(DMS から取得した)偏差が、最後に偏差計算が実行された時点から収集されていない場合に使用します。 このログで、偏差計算結果が DMS に送信されなかった理由を診断できます。
例: 偏差ログおよびエラー ファイル
偏差ログおよびエラー ファイルの例を以下に示します。
start time: Mon Jan 23 13:04:48 2006 WARNING,\"failed to retrieve DH host name, deviation will be stored locally\" found deviation(s) for policy 'iis8#02' end time: Mon Jan 23 13:05:04 2006
ポリシー偏差データ ファイル
ポリシー偏差計算では、ポリシーとその偏差のリストを含むデータ ファイルが作成されます。 このデータ ファイルは、
ACInstallDir
/data/devcalc/deviation.dat に格納されます。注:
データ ファイルに含まれるポリシーのリストは、偏差が計算されるポリシーに応じて異なります(デフォルトでは、すべてのポリシーと、エンドポイントのすべてのポリシー バージョン)。重要:
偏差計算では、ネイティブ ルールが適用されるかどうかはチェックされません。 データベースからオブジェクト(ユーザまたはオブジェクト属性、ユーザまたはリソース権限、あるいは実際のユーザまたはリソース)を削除するルールも無視されます。 たとえば、偏差計算では、「/etc/passwd」のルールが適用されるかどうかは確認できません。偏差ステータスは(偏差があってもなくても)DMS に送信されますが、実際の偏差はローカルに保存されます。 レポートの作成時に、実際の偏差結果をこのファイルから取得してレポートに追加できます。
ポリシー偏差データ ファイルに以下の行が表示されることがあります。
- 日付偏差計算のタイムスタンプを表示します。 日付行は常に偏差レポートの最初の行となります。形式:DATE,DDD MMM DD hh:mm:ss YYYY
- Strict偏差計算が -strict オプションを指定して実行されたことを示します。形式:STRICT,DMS@hostname,policy_name#xx, [1|0]ここで、[1|0] は、ローカルの HNODE オブジェクトに関連付けられたポリシーと、DMS@hostname(使用可能な最初の DMS)の HNODE オブジェクトに関連付けられたポリシーとの間に偏差が検出されたか(1)されなかったか(0)を意味します。
- ポリシーの開始このポリシー バージョンの偏差を定義するポリシー ブロックを開始します。形式:POLICYSTART,policy_name#xx
- 違い検出されたポリシーの偏差を示します。 偏差に対応するポリシーの名前は、この行の上の直近のポリシー行にあります。偏差には 7 つのタイプがあります。そのうち 4 つは不在要素を示し、残りの 3 つは追加された要素を示します。これらを次の表に示します。
偏差のタイプ | 形式 |
クラスが見つからない | DIFF, -( class_name ), (*), (*), (*) |
オブジェクトが見つからない | DIFF, ( class_name ), -(object_name ), (*), (*) |
オブジェクトが追加された | DIFF, ( class_name ), +(object_name ), (*), (*) |
プロパティが見つからない | DIFF, ( class_name ), (object_name ), -(property_name ), (*) |
プロパティが追加された | DIFF, ( class_name ), (object_name ), +(property_name ), (*) |
プロパティ値が存在しない | DIFF, ( class_name ), (object_name ), (property_name ), -(expected_value ) |
プロパティ値が追加された | DIFF, ( class_name ), (object_name ), (property_name ), +(value ) |
注:
偏差計算は不在クラスを検出すると、不在のオブジェクト、プロパティ、および値のすべてに対して偏差行を作成します。- ポリシーの終了このポリシーの偏差を定義するポリシー ブロックの終了です。形式:POLICYEND,policy_name#xx, [1|0]ここで、[1|0] は、偏差が検出されたか(1)されなかったか(0)を意味します。
- 警告警告を示します。形式:WARNING, "warning_text"
例: 偏差データ ファイル
以下の例は、偏差データ ファイルからの抜粋です。
Date, Sun Mar 19 08:30:00 2006 WARNING, "failed to retrieve DH host name, deviation will be stored locally" POLICYSTART, iis8#02 DIFF, (USER), (iispers), (*), (*) POLICYEND, iis8#02, 1
不在要素を示す偏差
偏差計算機能は、不在要素と新規要素の追加を区別します。 不在要素とは、指定されたポリシーでは明示的に定義されているが、ローカル ホストには存在しない
Privileged Identity Manager
要素のことです。 このような不在要素になる可能性があるのは、クラス、オブジェクト、プロパティ、および値です。不在要素の組み合わせにより、階層要件が定義されます。 たとえば、Policy1 で以下のルールが定義されているとします。
eu mytestuser2 operator
この場合、以下の暗黙的な要件が満たされていることが偏差計算機能の前提になります。
- USER クラスが存在する必要があるこのルールでは、USER クラスに属するユーザが指定されています。
- USER オブジェクト mytestuser2 が存在する必要があるこのルールでは、USER クラスの mytestuser2 オブジェクトが明示的に参照されています。
- プロパティ OBJ_TYPE が存在する必要があるこのルールでは、operator パラメータを使用して USER オブジェクトの OBJ_TYPE パラメータを設定します。
- Operator 値が OBJ_TYPE プロパティに割り当てられているこのルールでは、この値を明示的に設定します。
追加要素を示す偏差
偏差計算機能は、不在要素と新規要素の追加を区別します。 追加要素とは、ローカルには定義されているが、指定されたポリシーには存在しない
Privileged Identity Manager
要素のことです。 このような追加要素になる可能性があるのは、オブジェクト、プロパティ、および値です。ローカル例外で以下のような追加が行われた場合、追加の偏差が取り込まれます。
- ポリシー内に記述されたオブジェクトのプロパティへの新しい値の追加
- ポリシー内に記述されたオブジェクトへの新しいプロパティの追加
注:
どのポリシーにも記述されていない新規のオブジェクトは、追加と見なされません。この規則は、新規のクラスにも適用されます。変更された要素を示す偏差
偏差データ ファイル中の偏差線行が 1 行も変更を示していない場合、変更された要素を示す偏差が発生します。 変更を識別するには、同じ要素に適用される連続した削除行および追加行を探す必要があります。 たとえば、偏差データ ファイルからの以下の抽出結果では、Operator 値を持っていた mytestuser が Auditor 値および Administrator 値の両方を持つように変更されています。
DIFF, (USER), (mytestuser2), (OBJ_TYPE), -(Operator) DIFF, (USER), (mytestuser2), (OBJ_TYPE), +(Auditor) DIFF, (USER), (mytestuser2), (OBJ_TYPE), +(Administrator)