Oracle Audit Vault and Database Firewallソフトウェア(Oracle AVDF)および収集プラグインについて学習します。
Oracle Audit Vault and Database Firewallのコンポーネントおよび各コンポーネントの機能について学習します。
Oracle Audit Vault and Database Firewallは、複数の分散された異機種システムの監査データを収集、統合、保護および分析するソフトウェア・システムです。次のコンポーネントで構成されます。
Oracle Audit Vault Server: Oracle Audit Vault and Database Firewallのアクティビティを管理する埋込みのOracle Databaseおよび他のソフトウェア・コンポーネントを含むサーバー。
Oracle Audit Vault Agent: リモート・ホストで実行され、Audit Vaultサーバーのコマンドに基づいて監査情報の収集を管理するJavaコンポーネント。エージェントは制御下の収集プラグインとやりとりして監査レコードを収集し、Audit Vault Serverに送信します。
Oracle Database Firewall: Database Firewallは、Database Firewallソフトウェアを実行する専用サーバーです。各Database Firewallは、データベース・クライアントからセキュア・ターゲット・データベースへのネットワーク上のSQLトラフィックを監視します。次に、Database Firewallは、各種レポートで分析するために、SQLデータをAudit Vault Serverに送信します。
Oracle Audit Vault and Database Firewallは事前にパッケージ化された複数の収集プラグインとともに出荷されます。収集プラグインは、様々なタイプのセキュア・ターゲット・システムの監査データにアクセスして解釈する方法を認識するソフトウェア・プログラムです。収集プラグインは、セキュア・ターゲット・システムで生成された監査証跡の監査データを収集し、Audit Vault Serverリポジトリに格納します。各収集プラグインは、特定タイプのセキュア・ターゲットの特定タイプの証跡に固有です。これらの収集プラグインにより、Oracle、SQL Server、Sybase ASE、DB2などのデータベースからデータが収集されます。
関連項目:
『Oracle Audit Vault and Database Firewall管理者ガイド』
監査収集プラグインは、連続した監査レコードである監査証跡の形式で監査データを取得します。監査証跡は、データベース表やXML監査レコードなどの異なるセキュア・ターゲット・タイプごとに生成されます。
セキュア・ターゲットは、1つ以上の監査証跡を書き込むことができます。各監査証跡は個別の場所に格納され、固有の書式を持つことができます。
次の用語について補足します。
セキュア・ターゲット
セキュア・ターゲットは、特定の機能を実行するソフトウェアまたはハードウェア・システムです。この機能の実行の一部として、セキュア・ターゲット・システムは監査証跡を生成します。セキュア・ターゲットは、セキュア・ターゲット・タイプのインスタンスで、接続資格証明や証跡タイプなどの特定のプロパティを持ちます。
セキュア・ターゲット・タイプ
セキュア・ターゲット・タイプは、同じタイプの監査データを生成する、特定タイプのセキュア・ターゲットのコレクションを表します。たとえば、Oracle Databaseは、多数のインスタンスを持つことができるセキュア・ターゲット・タイプです。ただし、すべてのOracle Databaseは、同じ監査データを生成し、同じフィールドを記録します。
監査証跡
監査証跡は、監査データが存在する場所および書式を識別します。各監査証跡は、それぞれ1つのセキュア・ターゲットのみによって生成されます。監査証跡の例は次のとおりです。
データをファイルに書き込むセキュア・ターゲットの場合、その証跡はディレクトリ・パスとファイル・マスクです。
監査データをデータベース表に書き込むセキュア・ターゲットの場合、セキュア・ターゲットの証跡は表の名前です。SYS.AUD$
は、Oracleデータベースのデータベース表の監査証跡の例です。
監査証跡に格納されている監査データを取得するには、カスタム監査収集プラグインを作成します。
収集プラグインは、監査証跡に格納される監査データを取得することで、Oracle Audit Vault and Database Firewallとともに出荷される事前にパッケージ化された各種収集プラグインと同様の機能を提供します。
Oracle Audit Vault and Database Firewallにより、開発者およびサード・パーティ・ベンダーはカスタム収集プラグインを作成できます。これらのカスタム・プラグインは次のとおりです。
Oracle Audit Vault and Database Firewallでは初めてです。
新しいセキュア・ターゲット・タイプから監査データを収集できます。
データベース表およびXMLファイルに格納された監査証跡を収集するか、別の方法でアクセスできる収集プラグインを書き込むことができます。
リレーショナル・データベース、オペレーティング・システム、中間層システム、エンタープライズ・アプリケーションなどのセキュア・ターゲットをサポートできます。
個別の監査データを取得するために、カスタム収集プラグインを作成して、既存のOracle Audit Vault and Database Firewallインストールにデプロイできます。
2つのタイプの収集プラグインを作成できます。作成する必要がある実際のタイプは、収集する監査証跡のプロパティによって異なります。
収集プラグインは、作成するマッパー・ファイルと呼ばれるXMLファイルを使用して、収集する監査データを指定します。Audit Vault Serverは、このファイルを使用して、収集する監査レコードにアクセスして解釈します。このタイプのプラグインのコードを記述する必要はありません。
Java APIを使用する、Javaベース・タイプの収集プラグインもあります。これは、設計することも、Audit Vault and Database Firewallで事前にパッケージ化されているものを使用することもできます。
この項では、2つのタイプの収集プラグインと、各タイプを使用するために必要なプロパティについて説明します。
収集する監査証跡が次のいずれかに格納される場合、マッパー・ファイル(テンプレート)および収集プラグインを簡単に定義できます。
データベース表: 特定の制約に準拠するデータベース表に格納されます
XMLファイル: Audit Vault XML監査ファイル形式に基づいたXMLファイルに格納されます
親トピック: 監査収集プラグインのタイプ
収集する監査証跡の書式が収集プラグインで簡単に読み取れる書式ではない場合、Javaベースの収集プラグインをJavaコードで記述します。
提供されるJava APIを使用すると、より複雑なこれらの監査証跡を収集してAudit Vault Serverリポジトリに送信するコードを記述できます。
親トピック: 監査収集プラグインのタイプ
Oracle Audit Vault and Database Firewallサーバーのイベント、サーバー・フィールドおよび監査レコードについて学習します。
セキュア・ターゲット・システムで発生するアクティビティのイベントの動向の監視は、Oracle Audit Vault and Database Firewallで最も重要な点です。これらのイベントは、フィールドで説明されます。セキュア・ターゲット・システムで発生した1つのイベントを説明するフィールドのコレクションが、監査レコードです。
Oracle Audit Vault and Database Firewallには次が適用されます。
各セキュア・ターゲットは、そのセキュア・ターゲットで発生する監査イベントとしてイベントを記録します。監査レコードは監査イベントの情報を取得します。
通常、監査レコードは、対象となるオブジェクト・タイプに発生した内容を説明するセキュア・ターゲット・タイプのイベント名を持ちます。発生したアクションのターゲットも含まれます。また、アクションが発生した時間、件名またはアクションを発生させた実行者は必ず含まれますが、その他のデータも含まれる場合があります。
Audit Vault Serverでは、監査レコードのフィールドは、コア・フィールド、拡張フィールド、ラージ・フィールドおよびマーカー・フィールドのグループに分類されます。
コア・フィールドはイベントを説明する基本フィールドで、ほとんどの監査レコードはこのフィールドの一部またはすべてを含みます。ただし、すべてのコア・フィールドが各監査レコードで必要なわけではありません。
Oracle Audit Vault and Database Firewallリリース12.1.1以降で、発生したアクションを説明するコア・フィールドは次のとおりです。
CommandClass
フィールド: 監査レコードの生成の原因となったアクション。
UserName
およびOsUserName
フィールド: 件名またはアクションを実行したユーザー。
EventTime
フィールド: アクションが発生した時間。
ClientHostName
、ClientIp
および他の関連フィールド: アクションの発生場所。
Target
Type
、Target
Owner
およびTarget
Object
フィールド: アクションのオブジェクト・タイプ、オブジェクト所有者またはターゲット。
関連項目:
コア・フィールドの完全なリストは、「コア・フィールド」を参照してください。
CommandClass
およびTarget
Type
フィールドには、データベースやオペレーティング・システムなどの様々なドメインに属するセキュア・ターゲットで発生する一連の汎用イベントを示す周知の値が含まれます。
CommandClass
の例としては、Logon
、Select
、Update
およびShutdown
などがあります。
これらは「Audit Vault Serverのフィールド」、「アクションおよびターゲット・タイプ」にリストされています。
親トピック: コア・フィールド
コア・フィールド以外に、Audit Vault Serverは次のカテゴリを認識します。
拡張フィールドは、意味的に等しいAudit Vaultフィールドがなく、コアまたはラージ・フィールドにマップされないセキュア・ターゲット・フィールドを使用可能にする方法を提供します。
開発者は、フィールドの格納に使用される書式を判断します。
関連項目:
親トピック: 他のAudit Vaultフィールド
マーカー・フィールドは、証跡のレコードの一意識別子です。監査レコードの1つ以上のフィールドから作成されます。
関連項目:
親トピック: 他のAudit Vaultフィールド
プラグイン開発者として、セキュア・ターゲット内で発生する様々なイベントをAudit Vaultで許可された様々なフィールドにマップする必要があります。
監査レコードのフィールドをAudit Vaultの名前付きフィールドのいずれか(コア、ラージまたはマーカー・フィールド)にマップする場合は、そのままマップしてください。
監査レコードのフィールドを名前付きフィールドのいずれかにマップしない場合は、選択した拡張フィールドにマップできます。
Action
およびTargetType
Audit Vault Serverフィールドについては、フィールド値のリストを参照してください。監査レコードをこれらの値のいずれかに意味的にマップする場合、その該当する値を使用することを強くお薦めします。付録にリストされていない値も使用できます。
Audit Vaultに値を格納する場合、次の基本ガイドラインに従うことを強くお薦めします。
セキュア・ターゲット・データベースのオブジェクトを参照するIDを格納しないでください。Audit Vaultはこれらのオブジェクトにアクセスできませんが、格納された値は意味がありません。監査者が認識できるように、かわりにオブジェクトのリテラル名を格納してください。
定義されたAudit Vault表記規則に従ってください。たとえば、Audit VaultのすべてのACTION
フィールドおよびTARGET TYPE
フィールドは大文字の値を使用します。使用するセキュア・ターゲット・タイプに適用できず、Audit Vaultに格納されたデータが正しく解釈されない場合を除いて、この表記規則に従ってください。
可能な場合は、値にマップします。たとえば、TABLE
がTarget
Type
としてリストに存在する場合、DATABASE
TABLE
のTarget
Type
を使用して監査レコードを追加しないでください。
最後に、セキュア・ターゲットの監査レコードのフィールドをコア・フィールドにする利点がある場合、モデルに適切に追加できるようOracleに連絡してください。
関連項目:
Oracle Audit Vaultの収集プロセスの動作を学習します。
開発者は、収集プラグインを作成して、ユーザーに提供します。
ユーザーはプラグインをAudit Vault Serverにデプロイします。プラグインをサーバーにデプロイすると、新しいバージョンのAudit Vault Agentが作成されます。この新しいエージェントには、収集プラグインのコレクタ・コードが含まれます。
次に、ユーザーは、実行する必要があるホストに新しいエージェントをデプロイします。
これでユーザーは、コレクタ・コードによってサポートされる監査証跡の収集を開始できます。
ユーザーは、コレクタ・コードによってサポートされる監査証跡の収集を開始します。
次の項では、ユーザーが収集を開始した後に収集プラグイン内で発生する内容について説明します。
親トピック: 収集プロセス
Oracle Audit Vault and Database Firewallの収集プラグインを開発すると、収集プラグインは監査証跡を収集する際に、このフローに従います。
収集プラグインは監査証跡にアクセスし、監査証跡から監査レコードとその関連フィールドを抽出します。次に、監査レコードをOracle Audit Vaultイベントにマップし、すべてのフィールドをOracle Audit Vaultフィールドにマップします。次に、収集プラグインは、Oracle Audit VaultイベントとフィールドをAudit Vault Agentに渡して、情報をOracle Audit Vault Serverに送信します。
収集のフロー
コレクタに監査証跡の追加の監査レコードを要求します。
コレクタは、追加の監査レコードをマッパー・ファイルで指定された監査レコードの形式に(マップによって)変換し、収集APIを通じて収集フレームワークに渡します。
エージェントは、収集プラグインから受け取ったチェックポイント情報およびその他のメトリック・データをAudit Vault Serverに送信します。Audit Vault Serverはこの情報をチェックポイント表に格納します。
STOP
コマンドを受け取ると、コレクタにレコードの送信を停止するよう通知します。次に、収集スレッドを終了し、自身を停止します。親トピック: 収集プロセス
Oracle Audit Vaultを使用するには、基本的なOracle Audit Valut基本概念を確認します。
親トピック: 収集プロセス
エージェントは収集のスレッドを開始します。各スレッド内で、Audit Vault収集フレームワークは、収集プラグインで指定されたコードを実行します。収集フレームワークは、収集プラグインがやりとりする収集APIを公開するランタイム・インフラストラクチャです。収集プラグインは、必要に応じてユーティリティAPIS(非表示)も使用します。
親トピック: 収集の概念
収集フェーズ中に、収集プラグインは、監査証跡にアクセスして新しいレコードを抽出します。監査証跡へのアクセス方法の正確なメカニズムは、監査証跡によって異なります。セキュア・ターゲットの監査レコードが証跡から取得された後、収集プラグインはAudit Vault Serverに送信可能な監査レコードに変換(マップ)できる必要があります。
収集プラグインは、セキュア・ターゲット・レコードの文字セット、使用されるエンコーディングおよびタイム・スタンプに関連する問題の情報も取得して、Audit Vault Serverサーバー要件と一致させる必要があります。
必要なマッピングは、セキュア・ターゲット・レコードによって異なります。
次のタイプのマッピングが必要です。
イベント・マッピング: セキュア・ターゲット固有のイベントをAudit Vaultイベントにマップします。
フィールド・マッピング: セキュア・ターゲット・レコードの様々なフィールドをAudit Vaultフィールドにマップします。
値マッピング: 収集された様々なフィールド値を各フィールドの一連の正規化された値にマップします(たとえば、0
および1
は特定のフィールドのFALSE
およびTRUE
にマップされる可能性があります)。
複雑なマッピング: セキュア・ターゲット・フィールドからAudit Vaultフィールド、またはセキュア・ターゲット監査イベントからAudit Vaultイベントへのマッピングが単純ではない場合、複雑なマッピングが使用されます。
複雑なマッピングには、セキュア・ターゲットからの追加のデータ、または収集プラグインに追加のプログラミング・コードが必要になる場合があります。
親トピック: 収集の概念
チェックポイントまたは証跡のチェックポイントは、監査レコードがOracle Audit Vault Serverにコミットされた最後のポイントです。
収集プラグインは、再起動時に最後のチェックポイントから再開できるようにチェックポイントを定期的に設定します。
親トピック: 収集の概念
Oracle Audit Vaultが、チェックポイントおよびリカバリ・メカニズムによって監査レコードのリカバリを管理する方法を学習します。
Oracle Audit Vaultでは、各監査レコードがOracle Audit Vault Serverに1回のみアーカイブされることを意味する、1回のみの保証を提供しています。そのために、Oracle Audit Vaultでは、チェックポイントおよびリカバリ・メカニズムが実装されています。
データ収集のリカバリ・フェーズでは、収集プラグインが停止および再起動して、収集を再開します。収集プラグインは、以前に停止したチェックポイントから収集を再開します。
収集プラグインが監査証跡からレコードを収集していない場合、チェックポイントは最初のレコードの前になります。収集プラグインがレコードの収集を開始して停止した場合、チェックポイントは収集した最後のレコードの直後になります。
チェックポイントの直後で収集を再開すると、収集プラグインが任意のレコードを確実に検出します。リカバリ中に重複するレコードの収集を回避するため、収集プラグインは各レコードのマーカー・フィールドを確認します。
収集プラグインは、最後のチェックポイントの前に発生したレコードを収集してエージェントに渡しません。ただし、エージェントは、最後のチェックポイントの後にコミットされ、収集プラグインの再起動時に再収集されたレコードを自動的にフィルタ処理します。このSDKを使用して作成された収集プラグインは、EventTimeUTC
フィールドを拡張子.atc
のファイルに書き込みます。スクリプトは後でこのファイルを読み取り、必要に応じて監査レコードを削除できます。
関連トピック
親トピック: 収集の概念
監査証跡のクリーンアップは、アーカイブされた後に監査レコードをクリーンアップするために一部のセキュア・ターゲットが提供する機能です。このタイプの機能がセキュア・ターゲットに存在する場合、Audit Vault収集プラグインが統合して、セキュア・ターゲットに監査証跡がアーカイブされた範囲を通知できます。これにより、セキュア・ターゲットはそのポイントまでの監査証跡をクリーンアップ(元の監査データを削除)でき、これを認識しているとデータを損失しません。収集プラグインは、データが収集された最後のポイントのチェックポイントに関するクリーンアップ・ユーティリティ情報を提供します。
収集プラグインは、機能の適切なインタフェースを起動して、セキュア・ターゲット・システムのクリーンアップ機能を通知できます。たとえば、システムは、ファイルシステムのファイルのタイムスタンプを読み取り、そのタイムスタンプまでの監査証跡をクリーンアップする場合があります。その場合、プラグインはそのファイルを定期的に書き込むことができます。
たとえば、Oracle Databaseセキュア・ターゲットではDMBS_AUDIT_MGMT
パッケージでこのタイプのユーティリティが提供され、Oracle Databaseに事前にパッケージ化された収集プラグインがそれを統合します。
親トピック: 収集の概念