プライマリ・コンテンツに移動
Oracle® Audit Vault and Database Firewall監査者ガイド
リリース12.2
E70391-18
目次へ移動
目次
索引へ移動
索引

前
次

8 アラートの作成

ここでのトピック

8.1 アラートについて

ここでのトピック

8.1.1 概要

セキュア・ターゲットや、Oracle Audit Vault and Database Firewall SDKを使用して開発されたサード・パーティ・プラグインについて、イベントのアラートを作成および構成できます。このようなイベントは、Audit Vault AgentまたはDatabase Firewallで収集できます。アラートは、監査ポリシーまたはファイアウォール・ポリシーとは無関係です。

アラートはルールに基づいて設定します。つまり、ルール定義(たとえば、ユーザーAが3回試行した後にクライアント・ホストBのログインに失敗)が一致すると、アラートが生成されます。1つのアラートを複数のセキュア・ターゲット(4つのOracleデータベースなど)に適用できます。アラート・ルールは、様々なセキュア・ターゲットの複数のイベントを含むことができます。たとえば、ユーザーAがセキュア・ターゲットXでログイン失敗し、ユーザーAがセキュア・ターゲットYでもログイン失敗するなどです。

アラートの重大度を指定し、Active Directoryを介してアラートと監査イベントを関連付けることができます。また、セキュア・ターゲットがDatabase Firewallによって監視される場合、ファイアウォール・ポリシーに指定されるアラートに加えて、ファイアウォールによって送信される監査レコードに基づいてアラートを構成できます。

アラートを構成すると、電子メールをユーザー(セキュリティ担当者など)または配信リストに自動的に送信するように設定できます。電子メールのアラート通知に使用するテンプレートを構成することもできます。

アラートが生成されるのは、監査データがAudit Vault Serverデータベースに到達したときであり、アラートを生成させるアクションが発生したときではありません。イベントの発生からアラートの生成までの時間差は、監査証跡の取得頻度などの様々な要因で変化します。アラート・イベントのタイムスタンプは、イベントが発生した時刻(例: ユーザーAがログインしようとした時刻)を示します。アラートのタイムスタンプは、アラートが生成された時刻を示します。

8.1.2 有用なアラートの定義

意味のある明確なアラートを定義するために、まずOracle Audit Vault and Database Firewallでアクティビティ・レポートを参照することをお薦めします。アクティビティ・レポートには様々な監査イベント・データが含まれるため、これらを参照することは、監査レコード内で特に必要となるキー・フィールドを特定するのに役立ちます。監査レコードのフィールドとは、アクティビティ・レポートの列です。

アラートを受け取る監査イベントに的を絞ったアラートを作成する際に、最初に必要なレポートの列およびそれらの列の値を参照することをお薦めします。その後、アラートをトリガーする特定の監査レコードのフィールドと値を定義する条件(ルール)を使用して、アラートを作成できます。

たとえば、特定のデータベース・オブジェクトのスキーマの変更に対してアラートを受け取るとします。「データベース・スキーマ変更」レポートを参照することで開始できます。図8-1に、このレポートのサンプルを示します。

図8-1 アクティビティ・レポート: データベース・スキーマ変更



このレポートでは、様々なデータベース・ターゲット・オブジェクト、ユーザー、クライアント・プログラム名、およびOracle Audit Vault and Database Firewallによって取得されたスキーマ変更監査イベントに関連するその他のデータを参照できます。ここで、アラートを発生するターゲット・オブジェクトを決定できます。その後、アラートを特定のユーザー、クライアント・プログラムなどに絞り込むことができます。

8.2 アラートの作成およびアラート条件の作成

ここでのトピック

8.2.1 アラートの作成または変更

Oracle Audit Vault and Database Firewallでアラートを作成するときは、アラートをトリガーする条件を定義し、送信する通知のタイプと送信先を指定します。たとえば、ユーザーXが表Yを変更しようとするたびに生成されるアラートを作成し、そのアラートを特定の電子メール通知テンプレートを使用して管理者Zに通知できます。

Oracle Audit Vault and Database Firewallには、Database Firewallポリシーのアラート設定に基づいてトリガーされる事前構成済アラートがあります。作成するアラートは、Database Firewallと関連付けられていない監査および他のイベントのものです。

アラートを作成または変更するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。

  2. 「ポリシー」タブをクリックします。

  3. 左側の「アラートメニューで「アラート定義」を選択します。

    「アラート定義」ページに、既存アラートのリストが表示されます。既存のアラートの定義を表示または変更するには、「アラート名」フィールドで名前をクリックします。

  4. 新しいアラートの場合は、「作成」をクリックします。それ以外の場合は、変更するアラートの名前をクリックします。

    「アラートの作成」または「アラートの変更」ページが表示されます。

  5. アラートの名前を「名前」フィールド、説明(オプション)を「説明」フィールドに入力します。

  6. 次の情報を指定します。

    • 名前: アラートの名前を入力します。

    • セキュア・ターゲット・タイプ: セキュア・ターゲット・タイプ(例: Oracle Database)を選択します。

    • 重大度: 「警告」または「クリティカル」を選択します。

    • しきい値: アラートが生成されるまでに、アラート条件を満たすべき回数を入力します。

    • 期間: しきい値として1よりも大きい値を入力した場合は期間(分)を入力します。この期間中に、このアラート条件がしきい値と一致していると評価される必要があります。たとえば、しきい値として3、期間として5を入力した場合、5分以内に条件が3回満たされるとアラートが生成されます。

    • グループ化(フィールド): リストからフィールドを選択し、このアラートに対してこの列によってイベントをグループ化します。

    • 説明: このアラートの説明を入力します(オプション)。

    • 条件: このアラートがトリガーされるためのブール条件を入力します。

      右側にリストされている任意の「条件 - 使用可能なフィールド」をクリックして、アラート条件の一部として入力できます。これらのフィールドは、次の形式での条件の作成に使用できる監査レコードのフィールドです。

      :condition_field operator expression

      使用可能なフィールドで任意の有効なSQL WHERE句を使用して、そのフィールドの前にコロン(:)を含めることができます。たとえば、条件は次のようになります。

      upper(:EVENT_STATUS)='FAILURE'

  7. 必要であれば、「通知」領域で次の操作を実行します。

    1. 次の情報を指定します。

      • テンプレート: このアラートで使用する通知テンプレートを選択します。(アラート・テンプレートを作成する場合。)

      • 配信リスト: このアラートについて通知される電子メール配信リストを選択します。

      • 宛先: 通知を受信する電子メール・アドレスをカンマで区切って入力します。

      • CC: 通知の複製を送信する電子メール・アドレスをカンマで区切って入力します。

    2. 「リストに追加」をクリックし、「宛先」フィールドと「CC」フィールドに入力した電子メール受信者を記録します。

  8. 「保存」をクリックします。

    新しいアラートが「アラート定義」ページに表示されます。

Audit Vault Serverコンソールの「ホーム」ページで、ダッシュボードからアラート・アクティビティを監視できます。

8.2.2 アラート条件の作成

ここでのトピック

8.2.2.1 アラート条件について

アラートの作成ページの「条件」フィールドで、監査イベントを評価するブール条件を作成できます。ブール条件がTRUEに評価されると、Oracle Audit Vault and Database Firewallによってアラートが生成されて、指定したユーザーに通知されます。一般的なガイドラインとして、アラート条件は単純にすることをお薦めします。条件が複雑すぎるとAudit Vault Serverデータベースのパフォーマンスが低下することがあります。

8.2.2.2 アラート条件の作成

ここでのトピック

アラート条件の構文

アラート条件の構文は次のとおりです。

:condition_field operator expression

次に例を示します。

:event_status='FAILURE' and upper(:event_name)=upper('LOGON')

アラート条件は、SELECT文のWHERE句にコロン(:)を追加したものに似ています。たとえば、前述の条件は、次のSELECT文のWHERE句のようになります。

SELECT user_name, event_status, event_name from avsys.event_log
   WHERE event_status='FAILURE' and upper(event_name)=upper('LOGON');

前述のWHERE句はavsys.event_log表のイベントを取得します(イベントはLOGONでイベント・ステータスはFAILURE)。このWHERE句をアラート条件に変換すると、ログインが失敗するたびにアラートがトリガーされます。アラートで、指定期間内に何回ログインに失敗するとアラートがトリガーされるかを指定できます。

アラート条件を作成するためのルール

表8-1に、アラート条件を作成するためのルールとその例をいくつか示します。

表8-1 アラート条件を作成するためのルール

使用可能な監査レコードのフィールドの使用 「アラートの作成」ページには、コピーしてアラート条件の作成に使用できるフィールドのリストがあります。次を参照してください。

有効なSQL関数の使用

ユーザー定義関数を含め、すべての有効なSQL関数を使用できます。ただし、副問合せ文は使用できません。たとえば、次のコマンドを使用して変更できます。

  • upper()

  • lower()

  • to_char()

有効なSQL演算子の使用

たとえば、次のコマンドを使用して変更できます。

  • not

  • like

  • <

  • >

  • in

  • and

  • null

演算子は次のガイドラインに従って使用します。

  • Oracle Audit Vault and Database Firewallでは、受信する監査レコードごとにアラート条件が評価されることに注意してください。

  • 条件で問合せをネストすることはできません(例: not in SELECT...)。

ワイルドカードの使用

次のワイルドカードを使用できます。

  • % (0または1つ以上の文字に相当)

  • _ (1つの文字に相当)

条件の構成要素のグループ化

丸カッコを使用して条件の構成要素をグループ化することができます。次に例を示します。

(((A > B) and (B > C)) or C > D)

例1

Oracle Databaseセキュア・ターゲットに対するログイン試行が5分以内に3回失敗した場合に、アラートが通知されるようにしたいと考えています。

このアラートの条件を作成するには、EVENT_STATUSとEVENT_NAMEを使用可能なフィールドのリストからコピーできます。これらのフィールドを使用して次のような条件を作成します。

upper(:EVENT_STATUS)='FAILURE' and upper(:EVENT_NAME)='LOGON'

次の図は、このアラートがAudit Vault Serverコンソールの「アラートの作成」ページにどのように表示されるかを示します。

ヒント: この条件で、しきい値を3 (3回)、期間を5 (5分未満)に設定します。「Oracle Database監査イベント」から「Active Directory監査イベント」で、監査イベント名と属性を調べることができます。

例2

データベースの外部で使用されているアプリケーション共有スキーマ・アカウントを監視します。このシナリオの例では、データベース・ユーザーはAPPS、クライアントIDはNULLに設定されています。

このアラートの条件を作成するには、EVENT_NAMEフィールドとUSER_NAMEフィールドを使用可能なフィールド・リストからコピーできます。これらのフィールドを使用して次のような条件を作成します。

:EVENT_NAME='LOGON' and :USER_NAME='apps' and :CLIENT_IP=NULL

この条件では、元従業員がデータベースにログインしようとするとアラートが生成されます。

ヒント: 「Oracle Database監査イベント」から「Active Directory監査イベント」で、監査イベント名と属性を調べることができます。

Audit Vault Serverコンソールでのアラートの例1

次の図は、前述の例1のアラートが、Audit Vault Serverコンソールの「アラートの作成」ページにどのように表示されるかを示しています。

このアラートは、「Oracle Databaseセキュア・ターゲットに対するログイン試行が5分以内に3回失敗した場合、アラートを生成する」というものです。

このアラート条件は、「アラートの作成」ページの右側にある2つの「条件 - 使用可能なフィールド」を使用しています。

このアラートが生成される場合、「重大度」「警告」に設定されます。アラート通知テンプレートを使用して、ユーザーavdf_auditor@samplecompany.comに電子メールも送信されます。

レポートでは、このアラートのインスタンスはクライアント・アプリケーションIDでグループ化されます。

アラート条件に使用できる監査レコードのフィールド

表8-2に、アラート条件で使用できる監査レコードのフィールドを示します。これらのフィールドは「アラートの作成」ページ(前述の図を参照)に表示されているため、必要に応じてアラート条件にカット・アンド・ペーストできます。

重要: 条件で使用する場合は、これらのフィールドの前にコロン(:)を付ける必要があります(:USER_NAMEなど)。

表8-2 アラート条件に使用できるフィールド

条件フィールド 説明

ACTION_TAKEN

(ファイアウォール・アラート)Database Firewallによって実行されたアクション(例: BLOCKWARNまたはPASS)

AV_TIME

Oracle Audit Vault and Database Firewallによってアラートが生成された時刻

CLIENT_HOST_NAME

アラートを引き起こしたイベントのソースであるクライアント・アプリケーションのホスト名

CLIENT_ID

アラートを引き起こしたイベントのソースであるクライアント・アプリケーションのID

CLIENT_IP

アラートを引き起こしたイベントのソースであるクライアント・アプリケーションのIPアドレス

CLUSTER_TYPE

(ファイアウォール・アラート)アラートを引き起こしたSQL文のクラスタ・タイプ。次の値を使用できます。

Data Manipulation
Data Definition
Data Control
Procedural
Transaction
Composite
Composite with Transaction

COMMAND_CLASS

Oracle Audit Vault and Database Firewallコマンド・クラス。

ヒント: 「Oracle Database監査イベント」から「Active Directory監査イベント」で、監査イベント名と属性を調べることができます。

ERROR_CODE

セキュア・ターゲットのエラー・コード

ERROR_MESSAGE

セキュア・ターゲットのエラー・メッセージ

EVENT_NAME

セキュア・ターゲットの監査イベント名。

ヒント: 「Oracle Database監査イベント」から「Active Directory監査イベント」で、監査イベント名と属性を調べることができます。

EVENT_STATUS

イベントのステータス: SuccessまたはFailure

EVENT_TIME

HAイベントが発生した時刻

LOCATION

監査証跡がある場所を示します。有効な値は次のとおりです。

Audit File
Audit Table
Transaction Log
Event Log
Syslog
Network
Custom

NETWORK_CONNECTION

セキュア・ターゲット・データベースとデータベース・クライアントの間の接続の説明。形式は次のとおりです。

client_ip:client_port,database_ip:database_port

次に例を示します。

198.51.100.1:5760,203.0.113.1:1521

POLICY_NAME

Database Firewallポリシーの名前

OSUSER_NAME

セキュア・ターゲットのOSユーザーの名前

SECURED_TARGET_CLASS

セキュア・ターゲットは次のクラスに含まれます。

Database
OS
Directory Service
Filesystem

SECURED_TARGET_NAME

Oracle Audit Vault and Database Firewallのセキュア・ターゲットの名前。

TARGET_OBJECT

セキュア・ターゲットでのオブジェクトの名前(例: 表名、ファイル名またはディレクトリ名)。大文字にする必要があります(ALERT_TABLEなど)。

TARGET_OWNER

セキュア・ターゲットでのオブジェクトの所有者

TARGET_TYPE

セキュア・ターゲットでのオブジェクトのタイプ(例: TABLEまたはDIRECTORY)

TERMINAL

アラートを引き起こしたイベントのソースであるUNIX端末(/dev/1など)

THREAT_SEVERITY

(ファイアウォール・アラート)Database Firewallポリシーで定義されている、アラートをトリガーするSQL文の脅威の重大度。UnassignedInsignificantMinorModerateMajorまたはCatastrophicの各値を使用できます。

USER_NAME

セキュア・ターゲット・ユーザーのユーザー名

8.2.3 アラートの無効化、有効化または削除

アラートを無効にする場合に、そのアラートを将来再び有効にできるようにアラート定義を保存しておくことができます。

アラートを無効化または有効化するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 「アラートメニューで「アラート定義」を選択します。

    アラート・リストが表示されます。リスト表示は「アクション」メニューで調整できます。

  4. 必要なアラートのチェック・ボックスを選択して、「無効」「有効」または「削除」をクリックします。

8.3 アラートの監視

Oracle AVDFは、データが単一の監査レコード内のアラート・ルール条件に一致するか、期間としきい値の設定で複数のイベントに一致するときにアラートを生成します。監査者は、Audit Vault Serverコンソールの「ホーム」ページのダッシュボードで最近生成されたアラートを確認できます。アラートは、生成された時刻およびアラートの重大度レベル(警告またはクリティカル)によってグループ化されます。ここで、レポートにドリルダウンできます。

Audit Vault Serverの「レポート」タブからアラート・レポートをスケジュールすることもできます。

8.4 アラートへの対応

アラートを作成した後は、アラートが生成されたときに監査者がアラートに対応します。アラートのステータスを変更したり(クローズにするなど)、他のユーザーにアラートを通知したりすることができます。

アラートに対応するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 次の方法のいずれかを使用して、アラートにアクセスします。
    • 「ダッシュボード」ページで、「最近発生したアラート」リストからアラートを選択します。

    • 「レポート」タブで、「アラート・レポート」セクションを展開し、「すべてのアラート」「クリティカル・アラート」または「警告アラート」を選択します。

  3. 対応するアラートのチェック・ボックスを選択します。
  4. 次のいずれかのアクションを実行します。
    • 他の監査者にアラートを通知します。「通知」ボタンをクリックします。「手動アラート通知」ページで、通知テンプレートを選択します。次に、配信リストを選択するか、「宛先」または「Cc」フィールドに電子メール・アドレスを入力する必要があります(両方を設定することもできます)。複数の電子メール・アドレスはカンマで区切ります。「リストに追加」ボタンをクリックしてリストをまとめ、「通知」ボタンをクリックして通知を送信します。

    • 詳細。レポートの「詳細」列を選択して、「ノート」領域の下にアラートのステータスを更新するためのノートを入力します。

    • アラート・ステータスを設定します。「ステータスの設定」リストで「新規」または「クローズ」、あるいはユーザー定義ステータス値(ある場合)を選択し、「適用」ボタンをクリックします。アラートが最初に生成されたときは、「新規」に設定されます。

8.5 カスタム・アラート・ステータス値の作成

アラートの存続中に、アラート・ステータス値を作成してアラートに割り当てることができます。Oracle Audit Vault and Database Firewallでは、NewClosedの2つのステータス値が指定されます。必要に応じて、Pendingなど追加の値を作成できます。

アラート・ステータス値を作成するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします
  3. 左側の「アラート」メニューで「アラート・ステータスの管理」をクリックします。

    「アラート・ステータスの管理」ページが表示されます。ここで、既存のユーザー定義ステータス値を編集または削除できます。

  4. 新しいアラート・ステータスを作成するには、「作成」をクリックします。
  5. 「アラート・ステータス値の作成」ページで、次の設定を入力します。
    • ステータス値: ステータス値の名前(例: Pending)を入力します。

    • 説明: 必要に応じて、ステータス値の説明を入力します。

  6. 「保存」をクリックします。

    新しいアラート・ステータスが「アラート・ステータスの管理」ページに表示されます。

    関連項目:

8.6 Syslogへのアラートの転送

レポートにアラートを表示し、アラート構成に示されている通知でアラートを受信する以外に、すべてのアラート・メッセージをSyslogに転送することもできます。

アラートをsyslogに転送する前提条件として、Oracle Audit Vault and Database Firewall管理者はAudit Vault Serverでsyslog送信先を構成し、syslogカテゴリとして「アラート」を選択する必要があります。手順は、『Oracle Audit Vault and Database Firewall管理者ガイド』を参照してください。

すべてのアラートをsyslogに転送するには:

  1. Audit Vault Serverコンソールにスーパー監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 左側のメニューから「アラート」をクリックし、「Syslogへのアラートの転送」をクリックします。

    定義済のすべてのアラートがsyslogに転送されます。

例8-1 Oracle Audit Vault and Database Firewallのsyslogアラート・メッセージ形式

Oracle Audit Vault and Database Firewallアラートは、次のような形式でsyslogに表示されます。

[AVDFAlert@111 name="alert_name" severity="alert_severity" 
url="auditor_console_URL_for_alert" time="alert_generated_time" target="secured_target" user="username" desc="alert_description"]

userおよびtargetパラメータは、このアラートに関連するユーザーまたはターゲットを0または1つ以上リストします。

例:

Apr 16 23:22:31 avs08002707d652 logger: [AVDFAlert@111 name="w_1" severity="Warning" url="https://192.0.2.10/console/f?p=7700..." time="2014-04-16T22:55:30.462332Z" target="cpc_itself" user="JDOE" desc=" "]