システム監査イベントについて
システム監査イベントについて
システム監査イベントとは、既定で監査することが可能な事前定義イベントです。これらのイベントに関する一般的な情報は、[システム監査イベント] ページ ([システム管理] > [セキュリティ] > [監査] > [システムイベントを構成]) のテーブルに表示されます。このテーブルには以下の列があります。
-
イベント名 — Event Source (必ず %SYSTEM)、Event Type、および Event をスラッシュ (“/”) で連結した文字列です。
-
有効 — イベントが監査の対象となっているかどうかを示します。
-
合計 — Caché が前回起動した時点以降に発生したこのタイプのイベントの件数です。
-
書き込み — Caché が前回起動した時点以降に監査ログに書き込まれたこのタイプのイベントの件数です。この数は、イベントの発生総件数とは異なることもあります。
-
リセット — このイベントの監査ログをクリアし、そのカウンタをゼロにリセットします。カウンタの詳細は、“カウンタについて” を参照してください。
-
状態の変更 — イベントを有効または無効にできます。
システム監査イベントとは Caché システム内で発生する以下のようなイベントで、その EventSource の値は %SYSTEM なので他のイベントと区別できます。
イベント・タイプおよびイベント | 発生するタイミング | EventData の内容 | 既定の状態 |
---|---|---|---|
%DirectMode/ DirectMode |
ダイレクト・モードでコマンドが実行されたとき。 | コマンドのテキスト | オフ |
%Login/ Login |
ユーザが正常にログインしたとき。 | オフ | |
%Login/ LoginFailure |
ログインに失敗したとき。 | ユーザ名 | 不定* |
%Login/ Logout |
ユーザがログアウトしたとき。 | オフ | |
%Login/ Terminate |
プロセスが異常終了したとき。 | Description フィールドの内容と同様に変化します。下記を参照してください。 | オフ |
%SMPExplorer/ Change |
ポータルを使用して (クラスまたはテーブルの作成、編集、削除、コンパイル、ドロップ、置換、パージなどによって) データが変更されたとき。 | Description フィールドの内容と同様に、実行されるアクションに応じて変化します。関連するコンテンツ (コンパイル・フラグやドロップされるスキーマとテーブルなど) を含みます。 | オフ |
%SMPExplorer/ ExecuteQuery |
ポータルの SQL ページを使用してクエリが実行されたとき。 | 実行されたクエリの構文。 | オフ |
%SMPExplorer/ Export |
ポータルを使用してデータがエクスポートされたとき。 | データのエクスポート時に選択されたオプション。 | オフ |
%SMPExplorer/ Import |
ポータルを使用してデータがインポートされたとき。 | データのインポート時に選択されたオプション。 | オフ |
%SMPExplorer/ ViewContents |
ポータルを使用してデータが表示されたとき。 | 表示されるデータを決定したフィルタ。Description フィールドによって、表示内容 (クラスのリスト、個々のグローバル、プロセス情報など) が指定されます。 | オフ |
%SQL/ DynamicStatement |
動的 SQL 呼び出しが実行されます。 | 文テキストとホスト変数引数の値が渡されます。文と文のパラメータの合計長が 3,632,952 文字を超える場合、イベント・データは切り詰められます。 | オフ |
%SQL/ EmbeddedStatement |
埋め込み SQL 呼び出しが実行されます。 | 文テキストとホスト変数引数の値が渡されます。文と文のパラメータの合計長が 3,632,952 文字を超える場合、イベント・データは切り詰められます。 | オフ |
%SQL/ XDBCStatement |
ODBC または JDBC を使用して、リモート SQL 呼び出しが実行されます。 | 文テキストとホスト変数引数の値が渡されます。文と文のパラメータの合計長が 3,632,952 文字を超える場合、イベント・データは切り詰められます。 | オフ |
%Security/ ApplicationChange |
アプリケーションの定義が作成、変更、または削除されたとき。 | アクションの内容 (新規作成、変更、または削除)、新旧のアプリケーション・データ | オン |
%Security/ AuditChange |
監査が停止または開始したとき、エントリが消去または削除されたとき、あるいは監査対象イベントのリストが変更されたとき。 | アクションの内容 (停止、開始、消去、削除、または指定)、新旧の監査設定 | オン |
%Security/ AuditReport |
任意の標準監査レポートが実行されたとき。 | 監査レポートの識別情報 | オン |
%Security/ DBEncChange |
データベースまたはデータ要素の暗号化に関連する変更があったとき。 | Description フィールドの内容と同様に変化します。下記を参照してください。 | オン |
%Security/ DomainChange |
ドメイン定義が作成、変更、または削除されたとき。 | アクションの内容 (新規、変更、または削除)、新旧のドメイン・データ | オン |
%Security/ LoginRuleChange |
このイベントは現在使用されていません。有効 (オン) になっている場合でも、監査ログには表示されません。 | オン | |
%Security/ Protect |
プロセスによってセキュリティ保護エラーが生成されたとき。 | エラー | オフ |
%Security/ ResourceChange |
リソース定義が作成、変更、または削除されたとき。 | アクションの内容 (新規、変更、または削除)、新旧のリソース・データ | オン |
%Security/ RoleChange |
ロール定義が作成、変更、または削除されたとき。 | アクションの内容 (新規作成、変更、または削除)、新旧のロール・データ | オン |
%Security/ SSLConfigChange |
SSL/TLS 構成の設定が変更されたとき。 | 新旧の値を持つ変更後のフィールド | オン |
%Security/ ServiceChange |
サービスのセキュリティ設定が変更されたとき。 | 新旧のサービス・セキュリティ設定 | オン |
%Security/ SystemChange |
システムのセキュリティ設定が変更されたとき。 | 新旧のセキュリティ設定 | オン |
%Security/ UserChange |
ユーザ定義が作成、変更、または削除されたとき。 | アクションの内容 (新規作成、変更、または削除)、新旧のユーザ・データ | オン |
%System/ AuditRecordLost |
監査システムに影響するリソース上の制限 (ディスクやデータベースに空き領域がないなど) のために、監査エントリが監査データベースに追加されていないとき。 | なし | オン |
%System/ ConfigurationChange |
Caché が前回の起動時とは異なる構成で正常に起動したとき、Caché の実行中に新しい構成がアクティブになったとき、またはポータルあるいは ^LOCKTAB ユーティリティを通してロックが削除されたとき。 | 変更を実行したユーザの名前、変更された要素の新旧の値。ロックが削除された場合は、どのロックが削除されたかに関する情報。 | オン |
%System/ DatabaseChange |
データベース・プロパティへの変更があります。下記を参照してください。 | 特定の変更に関する詳細。下記を参照してください。 | オン |
%System/ JournalChange |
データベースまたはプロセスに対するジャーナリングが開始したとき、または停止したとき。 | ジャーナリングが開始したときはデータベースの名前およびその最大サイズ、ジャーナリングが停止したときはなし。 | オン |
%System/ OSCommand |
$ZF(-100) 関数の呼び出しなどによって、オペレーティング・システム・コマンドがシステム内から発行されます。 | 呼び出されたオペレーティング・システム・コマンド、呼び出し元のディレクトリ、および コマンドに関連付けられたフラグ。 | オン |
%System/ RoutineChange |
ローカル・インスタンスでメソッドまたはルーチンがコンパイルまたは削除されたとき。詳細は、下記を参照してください。 | なし。ただし、Description フィールドは変更そのものによって変化します。下記を参照してください。 | オフ |
%System/ Start |
システムが起動したとき。 | リカバリが実行されたかどうかを示す情報 | オン |
%System/ Stop |
Caché が終了したとき。 | オン | |
%System/ SuspendResume |
プロセスが一時停止または再開したとき。 | プロセスのプロセス ID。 | オフ |
%System/ UserEventOverflow |
定義されていないイベントを、アプリケーションからログに記録しようとしたとき。 | アプリケーションから記録しようとしたイベントの名前 | オン |
* LoginFailure イベントの既定値は、最小セキュリティ・インストールでは [無効]、通常のインストールおよびロックダウン・インストールでは [有効] です。
監査を有効にすると、有効にしたすべてのイベントが監査されます。
%System/%Login/Logout イベントおよび %System/%Login/Terminate イベントについて
次のいずれかの原因でプロセスが終了すると、%System/%Login/Logout イベントが生成されます。
-
HALT コマンドの実行
-
QUIT コマンドの実行によるアプリケーション・モードの終了
-
プロセスを終了するための SYS.ProcessOpens in a new tab クラスの TerminateOpens in a new tab メソッドの実行 (HALT の実行と同じ)
上記以外の原因でプロセスが終了すると、%System/%Login/Terminate イベントが生成されます。この原因の例として次のものがあります。
-
ユーザがターミナル・ウィンドウを閉じた結果、ターミナルの接続が切断された場合。プロセスがアプリケーション・モードで動作している場合は、監査レコードの Description フィールドに “^routinename client disconnect” というメッセージが記述されます (routinename はプロセスで実行した最初のルーチンです)。また、プロセスがプログラマ・モードで動作している場合は、Description フィールドに “Programmer mode disconnect” というメッセージが記述されます。
-
^RESJOB や ^JOBEXAM などの別のプロセス、または管理ポータルで発生したアクションによってターミナル・セッションが終了した場合。プロセスがアプリケーション・モードで動作している場合は、監査レコードの Description フィールドに “^routinename client disconnect” というメッセージが記述されます (routinename はプロセスで実行した最初のルーチンです)。また、プロセスがプログラマ・モードで動作している場合は、Description フィールドに “Programmer mode disconnect” というメッセージが記述されます。イベント・データには、対象のプロセスを終了させたプロセスの PID が記述されています。
-
コア・ダンプまたはプロセス例外が発生した場合。プロセスでコア・ダンプまたは例外が発生すると、その時点で既に監査ファイルへの書き込みはできなくなっています。したがって、クリーンアップ・デーモンの実行によってプロセスの状態がクリーンアップされると、“Pid <process nunber> Cleaned” という説明を添えた監査レコードがログに書き込まれます。
-
TCP クライアントが切断された場合。クライアントが切断されたことがプロセスで検出されると、監査レコードの Description フィールドには、“<client application> client disconnect” のように、切断された実行可能プログラムの名前を示すメッセージが記述されます。
%System/%Security/DBEncChange イベントについて
プロセスで次のいずれかが発生すると、%System/%Security/DBEncChange イベントが生成されます。
-
暗号化キーの有効化
-
暗号化キーの無効化
-
暗号化キーおよびキー・ファイルの作成
-
暗号化キー・ファイルの変更
-
暗号化設定の変更
暗号化キーの ID やキー・ファイルがイベントに関連している場合は、EventData にこれらが含まれています。
%System/%System/DatabaseChange イベントについて
プロセスは、以下に示すデータベースへの変更のいずれかによって、%System/%System/DatabaseChange を生成します。
-
作成
-
変更
-
マウント
-
ディスマウント
-
圧縮
-
削除
-
グローバル圧縮
-
デフラグ
作成と変更の場合、以下のプロパティへの変更により監査イベントが発生します (このイベントは、イベント・データに含まれます)。
-
BlockSize (作成のみ)
-
ClusterMountMode (クラスタ・システムのみ)
-
ExpansionSize
-
GlobalJournalState
-
MaxSize
-
NewGlobalCollation
-
NewGlobalGrowthBlock
-
NewGlobalIsKeep
-
NewGlobalPointerBlock
-
ReadOnly
-
ResourceName
-
Size
マウントとディスマウントの場合、イベント・データにはマウントまたはディスマウントされたデータベースが記録されます。圧縮、削除、グローバル圧縮、およびデフラグの場合、イベント・データにはユーザが選択したパラメータが含まれます。
%System/%System/RoutineChange イベントについて
プロセスでルーチンがコンパイルまたは削除されると、%System/%System/RoutineChange イベントが生成されます。このイベントを有効にしておくと、ルーチンまたはクラスをコンパイルしたときに監査ログにレコードが書き込まれます。監査レコードの Description フィールドには、変更が発生したデータベース・ディレクトリ、および変更されたルーチンまたはクラスの名前が記述され、ルーチンが削除されている場合は “Deleted” という語が追記されます。
Caché はローカル・サーバのイベントを監査しますが、関連インスタンスのイベントは監査しません。例えば、Caché のあるインスタンスがデータベース・サーバである別のインスタンスに関連付けられたアプリケーション・サーバである場合、そのアプリケーション・サーバに新しいルーチンを作成してコンパイルするイベントは、RoutineChange 監査イベントがデータベース・サーバで有効になっていても、データベース・サーバでは監査されません。すべての関連インスタンスのすべての変更の包括的なリストを作成するには、すべてのインスタンスの関連イベントを有効にし、それらの監査ログを結合します。