6 Oracleデータベースの監査ポリシーの作成

Oracle Databaseの監査構成を取得およびプロビジョニングできます。

6.1 監査ポリシーについて

Audit Vault Serverコンソールを使用すると、Oracleデータベース・ターゲットから監査ポリシーを取得できます。

その後、ポリシーを変更するか新しいポリシーを作成して、Oracleデータベースにプロビジョニングできます。次のタイプのOracleデータベース監査ポリシーを取得および変更できます。

  • 統合監査ポリシー
  • SQL文
  • スキーマ・オブジェクト
  • 権限
  • ファイングレイン監査

6.2 Oracleデータベースの監査ポリシー作成の一般的なステップ

Oracleデータベースの監査ポリシーを作成するには、ターゲットOracleデータベースの監査ポリシー設定を取得し、それらを変更して、ポリシーをプロビジョニングします。

実行する一般的なステップは次のとおりです。
  1. ターゲットOracleデータベースから現在の監査ポリシー設定を取得し、現在の設定の中で必要なものを指定します。
  2. 必要であれば、必要な設定に追加する監査設定を定義します。
  3. 統合監査については、必要な統合監査ポリシーを選択します。
  4. 監査ポリシーをターゲット・データベースにプロビジョニングします。必要に応じて指定したポリシー設定と作成した新しい設定が、データベースで使用されるポリシーになります。

6.3 Oracleデータベースの監査ポリシーの取得および変更

Oracleデータベースから監査ポリシーを取得できます。

6.3.1 「監査ポリシー」タブの列の理解

ターゲットOracleデータベースから監査ポリシーを取得すると、その時点におけるデータベース監査ポリシーの状態が表示されます。

Audit Vault Serverコンソールで「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで表示されます。このページには、Oracleデータベース・ターゲットのリストが含まれています。また、監査ポリシーが最後にプロビジョニングおよび取得された時刻もリストされます。

表6-1では、「監査ポリシー」ページに表示される列について説明します。

表6-1 「監査ポリシー」タブのフィールド

説明

ターゲット

ターゲットの名前。

最終取得

選択したデータベースの監査情報が最後に取得された時刻

最終プロビジョニング

監査設定がOracle Audit Vault and Database Firewallからデータベースに最後にプロビジョニングされた時刻。

6.3.2 複数のOracleデータベースからの監査ポリシーの取得

複数のOracleデータベース・ターゲットから監査ポリシーを一度に取得できます。個々のターゲットについて監査設定の取得をスケジュールできます。

Oracle AVDF 20.12へのパッチ適用後、次のことが必要になります
  1. Oracle権限スクリプトを再実行して、コンテナ・データベース・ターゲットの監査ポリシーの取得を成功させます。詳細は、「Oracle Databaseの設定スクリプト」を参照してください。
  2. 監査ポリシーをプロビジョニングまたは表示する前に、監査ポリシーを取得します。詳細は、「Oracle Databaseの監査ポリシーの取得および変更」を参照してください
前提条件:
  • 監査ポリシー管理のための十分な権限がターゲット・ユーザーに付与されていることを確認します。管理者は、Oracle Database設定スクリプトを使用してこれらを付与できます。
  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。

    このページには、すべてのターゲットについてこの時点における監査ポリシーのサマリーがそれらのステータスとともにリストされます。

  3. 「ターゲット」列で、監査ポリシーを取得するターゲット・データベースのチェック・ボックスを選択します。アクセス権があるOracleデータベース・ターゲットのみが表示されます。

    ノート:

    • 従来型監査は、Oracle AVDF 20でサポートされるすべてのバージョンのOracle Databaseでサポートされています。
    • 統合監査は、12.2.0.1以降のOracle Databaseバージョンについてサポートされています。
  4. 「取得」ボタンをクリックします。

    取得のステータスを確認するには、「設定」タブをクリックします。次に、左側のナビゲーション・メニューで「ジョブ」タブをクリックします。監査ポリシーの取得が完了すると、このページの「ジョブ・タイプ」列の下に「監査設定」が表示されます。

6.3.3 Oracle Databaseの監査設定取得のスケジューリング

Oracle Databaseの監査ポリシー設定を取得するには、ターゲットの監査ポリシー取得ジョブをスケジュールします。

Oracle AVDF 20.12へのパッチ適用後、次のことが必要になります
  1. Oracle権限スクリプトを再実行して、コンテナ・データベース・ターゲットの監査ポリシーの取得を成功させます。詳細は、「Oracle Databaseの設定スクリプト」を参照してください。
  2. 監査ポリシーをプロビジョニングまたは表示する前に、監査ポリシーを取得します。詳細は、「Oracle Databaseの監査ポリシーの取得および変更」を参照してください
  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ターゲット」タブをクリックします。
  3. ターゲットの「取得ジョブのスケジュール」アイコンをクリックします。
  4. 「取得ジョブのスケジュール」ページの「監査ポリシー」で、次のいずれかのオプションを選択します。

    • すぐにジョブを実行するには、「即時取得」を選択します。
    • ジョブをスケジュールする場合や既存のスケジュールを変更する場合は、次のステップを実行します。

      1. 「スケジュールの作成/更新」を選択します。
      2. 「有効」をクリックします。
      3. 開始日時と繰返し頻度を入力します。
  5. 「保存」をクリックします。

6.4 統合監査ポリシーのプロビジョニング

統合監査ポリシーのプロビジョニングについて学習します。

Oracle AVDF 20.12へのパッチ適用後、次のことが必要になります
  1. Oracle権限スクリプトを再実行して、コンテナ・データベース・ターゲットの監査ポリシーの取得を成功させます。詳細は、「Oracle Databaseの設定スクリプト」を参照してください。
  2. 監査ポリシーをプロビジョニングまたは表示する前に、監査ポリシーを取得します。詳細は、「Oracle Databaseの監査ポリシーの取得および変更」を参照してください

6.4.1 基本監査

基本監査について学習します。ログオン・イベント、クリティカルなアクティビティおよびスキーマの変更が取得されます。

基本監査ポリシーのクリティカルなデータベース・アクティビティは次のように定義され、すべてのデータベース・ユーザーについて有効です。


CREATE AUDIT POLICY ORA_AV$_CRITICAL_DB_ACTIVITY
PRIVILEGES EXEMPT ACCESS POLICY,EXEMPT REDACTION POLICY,
    ADMINISTER KEY MANAGEMENT,EXPORT FULL DATABASE,IMPORT FULL DATABASE,
    CREATE PUBLIC DATABASE LINK, ALTER PUBLIC DATABASE LINK, DROP PUBLIC DATABASE LINK,
    CREATE PUBLIC SYNONYM, DROP PUBLIC SYNONYM,
    SELECT ANY DICTIONARY, ADMINISTER DATABASE TRIGGER,
    PURGE DBA_RECYCLEBIN, LOGMINING
ACTIONS CREATE USER, ALTER USER, DROP USER,
        CREATE ROLE, DROP ROLE, ALTER ROLE, SET ROLE, GRANT, REVOKE,
        CREATE PROFILE, ALTER PROFILE, DROP PROFILE,
        CREATE PLUGGABLE DATABASE, DROP PLUGGABLE DATABASE, ALTER PLUGGABLE DATABASE,
        CREATE LOCKDOWN PROFILE, ALTER LOCKDOWN PROFILE, DROP LOCKDOWN PROFILE,
        ALTER DATABASE, ALTER SYSTEM,
        CREATE TABLESPACE, ALTER TABLESPACE, DROP TABLESPACE,
        CREATE ROLLBACK SEGMENT, ALTER ROLLBACK SEGMENT, DROP ROLLBACK SEGMENT,
        CREATE DIRECTORY, DROP DIRECTORY,
        CREATE DISK GROUP,ALTER DISK GROUP,DROP DISK GROUP,
        CREATE PFILE,CREATE SPFILE
ACTIONS COMPONENT = datapump EXPORT,IMPORT
ACTIONS COMPONENT = DIRECT_LOAD LOAD;
 
AUDIT POLICY ORA_AV$_CRITICAL_DB_ACTIVITY;
-- enabled for all users

基本監査ポリシーのログオン/ログオフ・イベントでは、リストで指定したユーザーを除くデータベース・ユーザーのログオンおよびログオフ・アクティビティが監査されるとともに、失敗したすべてのログオンおよびログオフが監査されます。

次のポリシーがログオン・イベント・カテゴリについてターゲット・データベースでプロビジョニングされます。


CREATE AUDIT POLICY ORA_AV$_LOGON_EVENTS ACTIONS LOGON,LOGOFF;
CREATE AUDIT POLICY ORA_AV$_LOGON_FAILURE ACTIONS LOGON,LOGOFF;

AUDIT POLICY ORA_AV$_LOGON_EVENTS EXCEPT <comma separated user list>;
AUDIT POLICY ORA_AVS$_LOGON_FAILURE whenever not successful;

基本監査ポリシーの「データベース・スキーマ」は次のように定義され、すべてのデータベース・ユーザーについて有効です。


CREATE AUDIT POLICY ORA_AV$_DB_SCHEMA_CHANGES
PRIVILEGES
        CREATE EXTERNAL JOB, CREATE JOB, CREATE ANY JOB
ACTIONS CREATE PROCEDURE, DROP PROCEDURE, ALTER PROCEDURE,
        CREATE PACKAGE, ALTER PACKAGE, DROP PACKAGE, CREATE PACKAGE BODY, ALTER PACKAGE BODY, DROP PACKAGE BODY,
        CREATE FUNCTION, DROP FUNCTION, ALTER FUNCTION,
        CREATE TRIGGER, ALTER TRIGGER, DROP TRIGGER,
        CREATE LIBRARY, ALTER LIBRARY, DROP LIBRARY,
        CREATE SYNONYM, DROP SYNONYM,
        CREATE TABLE, ALTER TABLE, DROP TABLE, TRUNCATE TABLE,
        CREATE DATABASE LINK, ALTER DATABASE LINK, DROP DATABASE LINK,
        CREATE INDEX, ALTER INDEX, DROP INDEX,
        CREATE OUTLINE, ALTER OUTLINE,DROP OUTLINE,
        CREATE CONTEXT, DROP CONTEXT,
        CREATE ATTRIBUTE DIMENSION,ALTER ATTRIBUTE DIMENSION,DROP ATTRIBUTE DIMENSION,
        CREATE DIMENSION,ALTER DIMENSION,DROP DIMENSION,
        CREATE INDEXTYPE,ALTER INDEXTYPE,DROP INDEXTYPE,
        CREATE OPERATOR,ALTER OPERATOR,DROP OPERATOR,
        CREATE JAVA,ALTER JAVA,DROP JAVA,
        CREATE MINING MODEL,ALTER MINING MODEL,DROP MINING MODEL,
        CREATE TYPE BODY,ALTER TYPE BODY,DROP TYPE BODY,
        CREATE TYPE,ALTER TYPE,DROP TYPE,
        CREATE MATERIALIZED VIEW,ALTER MATERIALIZED VIEW,DROP MATERIALIZED VIEW ,
        CREATE MATERIALIZED VIEW LOG, ALTER MATERIALIZED VIEW LOG,DROP MATERIALIZED VIEW LOG,
        CREATE MATERIALIZED ZONEMAP, ALTER MATERIALIZED ZONEMAP,DROP MATERIALIZED ZONEMAP,
        CREATE VIEW, ALTER VIEW, DROP VIEW,CREATE ANALYTIC VIEW, ALTER ANALYTIC VIEW, DROP ANALYTIC VIEW,
        CREATE SEQUENCE, ALTER SEQUENCE, DROP SEQUENCE,
        CREATE CLUSTER, ALTER CLUSTER, DROP CLUSTER,TRUNCATE CLUSTER;
 
AUDIT POLICY ORA_AV$_DB_SCHEMA_CHANGES;
-- enabled for all users

6.4.2 管理者アクティビティ監査ポリシー

管理者アクティビティ監査ポリシーのプロビジョニングについて学習します。

管理者アクティビティ監査ポリシーを使用すると、特権を持つ管理者によるすべてのアクティビティを監査できます。このような管理者は、より広範なシステムに重要な変更を加えることができます。データベース管理者(DBA)は、レルムで保護されていない機密データへのアクセスが可能であり、盗み出すこともできます。管理者アクティビティ監査ポリシーでは、次のいずれかの権限またはロールを持つ非Oracle管理ユーザーのすべてのアクティビティが監査されます。

  • 管理者権限:

    SYSOPERSYSDGSYSKMSYSRACおよびSYSBACKUP
  • ロール:

    DBADATAPUMP_EXP_FULL_DATABASEDATAPUMP_IMP_FULL_DATABASEEXP_FULL_DATABASEIMP_FULL_DATABASE

ノート:

  • 非Oracle管理ユーザーは、oracle_maintainedフラグがNに設定されたdba_usersグループのユーザーのサブセットです。

  • Oracle管理ユーザーは、oracle_maintainedフラグがYに設定されたdba_usersグループのユーザーのサブセットです。

  • RDBMSパッチ21493004をダウンロードしてターゲットOracle Databaseに適用する場合は、My Oracle Supportを参照してください。統合監査でトップ・レベル文のみを監査するには、パッチを適用します。このパッチは、Oracle Databaseターゲット(バージョン12.2)に適用する必要があります。Oracle Databaseターゲット(18cより前のバージョン)にもパッチを適用します。このパッチが適用されていないときに、All Admin Activityポリシーをプロビジョニングしようとすると、次のエラー・メッセージがAudit Vault Serverコンソールに表示されます。

    Unable to provision All Admin Activity audit policy on the target database. Refer to Admin Activity Audit Policy section in Auditor's Guide for details.

    My Oracle Supportでパッチを検索する手順は、My Oracle Supportでパッチを検索する方法に関する項を参照してください

次の監査ポリシーがターゲット・データベース(バージョン12.2.0.1以上)でプロビジョニングされます。


CREATE AUDIT POLICY ORA_AV$_ADMIN_USER_ACTIVITY ACTIONS ALL
WHEN SYS_CONTEXT('USERENV','CURRENT_USER') NOT IN
(<list of oracle maintained users>) EVALUATE PER STATEMENT

AUDIT POLICY ORA_AV$_ADMIN_USER_ACTIVITY BY USERS WITH GRANTED ROLES DBA,
DATAPUMP_EXP_FULL_DATABASE, DATAPUMP_IMP_FULL_DATABASE, EXP_FULL_DATABASE, 
IMP_FULL_DATABASE;

AUDIT POLICY ORA_AV$_ADMIN_USER_ACTIVITY BY PUBLIC, SYSDG, SYSKM, SYSRAC, SYSBACKUP;

ノート:

Oracle管理ユーザーのリストを取得するには、次の問合せを実行します。

SELECT username from dba_users where oracle_maintained = 'Y'

Oracle Database 19c以上では、次のように、SYSのすべての最上位アクティビティを監視する追加の監査ポリシーがプロビジョニングされます。

CREATE AUDIT POLICY ORA_AV$_SYS_TOP_ACTIVITY ACTIONS ALL ONLY TOPLEVEL;
AUDIT POLICY ORA_AV$_SYS_TOP_ACTIVITY by SYS;

Oracle AVDFリリース20.3以降では、次の監査ポリシーがターゲット・データベースにプロビジョニングされます。

CREATE AUDIT POLICY ORA_AV$_ADMIN_USER_ACTIVITY ACTIONS ALL WHEN
SYS_CONTEXT('USERENV','CURRENT_USER') NOT IN(<list of oracle maintained
users>) EVALUATE PER STATEMENT ONLY TOPLEVEL;

Oracle AVDFリリース20.1または20.2から20.3にアップグレードした後で、次のステップを統合監査ポリシーのプロビジョニング前に実行します。また、統合監査でトップレベルの文のみを監査するために、Oracle Databaseターゲット(18cより前のバージョン)にもパッチを適用します。RDBMSパッチ21493004をダウンロードしてターゲットOracle Databaseに適用する場合は、My Oracle Supportを参照してください。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。
  4. 特定のターゲットをクリックします。
  5. 「ポリシーの詳細」ページが表示されます。Admin User Activityカテゴリを無効にします。
  6. ターゲット・ユーザーとしてターゲット・データベースにログインして、次のコマンドを実行します。

    DROP AUDIT POLICY ORA_AV$_ADMIN_USER_ACTIVITY;
    DROP AUDIT POLICY ORA_AV$_SYS_TOP_ACTIVITY;
  7. Audit Vault Serverコンソールの「監査ポリシー」タブに戻ります。
  8. 特定のポリシーを選択して、右上隅にある「取得」ボタンをクリックします。
  9. Admin User Activityカテゴリを有効にします。

6.4.3 ユーザー・アクティビティ監査ポリシー

ユーザー・アクティビティ監査ポリシーのプロビジョニングについて学習します。

ユーザー・アクティビティ監査ポリシーでは、機密データにアクセスできる可能性があるユーザーや監視下のユーザーによるすべてのアクティビティが追跡されます。このようなユーザーは、「管理者ではないが特権を持つ」ユーザーである場合があります。インタフェースでこのポリシーを有効にする場合は、監査する非Oracle管理ユーザーを指定する必要があります。

次の監査ポリシーがターゲット・データベースでプロビジョニングされます。


CREATE AUDIT POLICY ORA_AV$_USER_ACTIVITY ACTIONS ALL
WHEN SYS_CONTEXT('USERENV','CURRENT_USER') NOT IN
(<list of oracle maintained users>) EVALUATE PER STATEMENT

AUDIT POLICY ORA_AV$_USER_ACTIVITY BY <comma-separated non-Oracle maintained user list>

6.4.4 監査コンプライアンス標準

Oracle AVDFでサポートされている監査コンプライアンス標準について学習します。

6.4.4.1 Center for Internet Security Recommendationsで推奨される統合監査ポリシー

Center for Internet Security Recommendations (CIS)統合監査ポリシーのプロビジョニングについて学習します。

Center for Internet Security Recommendations (CIS)統合監査ポリシーは、CISが推奨する監査を実行するために特別に設計された、Oracle Databaseの事前定義済ポリシー(ORA_CIS_RECOMMENDATIONS)です。

このポリシーは、Oracle Audit Vault and Database Firewallで提供されている他のポリシーとともに有効または無効にすることができます。このポリシーでは多くのアクティビティが追跡され、データベースのコンプライアンス要件に準拠しているかどうかを評価するのに役立ちます。たとえば、ユーザー、データベース・リンク、プロファイルまたはプロシージャがいつ作成、変更または削除されたかを追跡できます。

CISは、組織のサイバー・セキュリティ対策の評価と強化を支援するためのコンセンサスベースのベスト・プラクティスを提供する、世界的に著名な組織です。構成アセスメント・ツール、セキュアな構成のベンチマーク、セキュリティ・メトリック、証明などのリソースを提供しています。この組織の主な目的の1つは、企業がセキュリティのために行う必要があることに優先順位を付けるのを支援することであり、専門的でない簡単な用語で推奨事項を提示するよう努めています。

6.4.4.2 セキュリティ技術導入ガイドライン(STIG)

セキュリティ技術導入ガイドライン(STIG)統合監査ポリシーの有効化について学習します。

Oracle AVDF 20.5以降、セキュリティ技術導入ガイドライン(STIG)統合監査ポリシーがプロビジョニングに使用できます。この機能は、セキュリティ技術導入ガイドライン(STIG)の監査要件を実装するために、Oracle Databaseターゲットで有効にできます。セキュリティ技術導入ガイドライン(STIG)は、バージョン21以降のOracle Databaseターゲットで有効にできます。

セキュリティ技術導入ガイドライン(STIG)がプロビジョニングされると、ターゲット・データベースで次の統合ポリシーが有効になります。

事前定義済監査ポリシー名 ユーザーに対して有効にできます イベント条件

ORA_STIG_RECOMMENDATIONS

すべてのユーザー

  • 成功
  • 失敗

ORA_LOGON_LOGOFF

すべてのユーザー

  • 成功
  • 失敗

ORA_ALL_TOPLEVEL_ACTIONS

特権ユーザー

  • 成功
  • 失敗

ユーザー権限ジョブによって識別される特権ユーザー・リストをフェッチするか、独自のリストを指定できます。このポリシーは、Oracle AVDFで提供されている他のポリシーとともに、有効または無効にできます。このポリシーでは多くのアクティビティが追跡され、STIGコンプライアンス要件に準拠しているかどうかを評価するのに役立ちます。

STIG監査ポリシーを有効にするには、次のステップに従います。これらのオプションは、ORA_ALL_TOPLEVEL_ACTIONS監査ポリシーにのみ適用できます。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。

    ノート:

    「最終取得」タイムスタンプが2時間を超える場合は、最初に監査取得を実行します。
  3. 監査ポリシーをプロビジョニングするOracle Databaseターゲットの名前をクリックします。

    デフォルトでは、メイン・ページ内の「統合監査」サブタブが選択されます。

  4. 「コンプライアンス標準の監査」で、「セキュリティ技術導入ガイドライン(STIG)」のチェック・ボックスをクリックしてこの機能を有効にします。
  5. 「Oracle事前定義済ポリシー」の下のORA_ALL_TOPLEVEL_ACTIONSが特定のユーザーまたはロールのセットに対してすでに適用されている場合は、確認ダイアログがメッセージとともに表示されます。
    ORA_ALL_TOP_LEVEL_ACTIONS policy is enabled on the target database for specific users/roles. Enabling STIG Compliance will override those changes. Do you want to continue?
  6. 「OK」または「取消」をクリックします。「取消」をクリックすると、セキュリティ技術導入ガイドライン(STIG)のチェック・ボックスの選択が解除され、STIGを有効にできなくなります。
  7. 「セキュリティ技術導入ガイドライン(STIG)」のチェック・ボックスが選択されている場合は、変更できます。その横に編集アイコンが表示されます。編集アイコンをクリックします。「STIGの構成」ダイアログが表示されます。
  8. 次のいずれかまたは両方のオプションを使用して、ポリシーを有効にするための特権ユーザーを指定できます。
    • ユーザー権限で識別される特権ユーザー
    • 特権ユーザーを含める

    ノート:

    • ユーザー権限で識別される特権ユーザーを選択した場合、ORA_ALL_TOPLEVEL_ACTIONSポリシーが、ユーザー権限ジョブによって識別されるすべての特権ユーザーに対して有効になります。「最終取得」タイムスタンプには、最後に取得されたユーザー権限ジョブの時刻が表示されます。最終取得時刻が1日よりも長い場合は、セキュリティ技術導入ガイドライン(STIG)をプロビジョニングする前にユーザー権限の取得を再度実行し、権限のあるユーザーの最新リストを取得することをお薦めします。
    • 最終取得時間がnullの場合、ユーザー権限が取得されなかったことを意味します。セキュリティ技術導入ガイドライン(STIG)をプロビジョニングする前に、ユーザー権限を取得する必要があります。詳細は、Oracle Databaseターゲットのユーザー権限データの取得を参照してください。
    • ユーザー権限で識別される特権ユーザーを選択した場合、権限付きユーザーの最新リストにSTIGポリシーを自動的に適用できます。特権ユーザーの変更時にORA_ALL_TOPLEVEL_ACTIONSを自動的に更新するのチェック・ボックスを選択します。このオプションが選択されている場合、ユーザー権限ジョブが実行され、権限のあるユーザーが変更された場合、ORA_ALL_TOPLEVEL_ACTIONS監査ポリシーが権限付きユーザーの最新リストに対して再度有効になります。すべての特権ユーザーに対してSTIGを有効にするように、ユーザー資格ジョブをスケジュールできます。
    • 特権ユーザーを含めるオプションを選択した場合は、特権ユーザーのリストを手動で入力します。
  9. 「保存」をクリックします。
  10. 右上隅にある「統合ポリシーのプロビジョニング」ボタンをクリックして、ポリシーをプロビジョニングします。
  11. プロビジョニング・ステータスを確認するには、「設定」タブをクリックします。次に、左側のナビゲーション・メニューで「ジョブ」タブをクリックします。ジョブが正常に送信されると、ページの「ジョブ・タイプ」列の下に「統合監査ポリシー」ジョブが表示されます。

6.4.5 ユーザー定義およびOracle事前定義済統合ポリシー

カスタムおよびOracle事前シード済統合ポリシーのプロビジョニングについて学習します。

Oracle事前定義済ポリシーか、Oracle Audit Vault and Database Firewallを使用してターゲット・データベースで作成したユーザー定義ポリシーを有効にできます。Oracle事前定義済ポリシーを次に示します。

  • ORA_ACCOUNT_MGMT
  • ORA_DATABASE_PARAMETER
  • ORA_SECURECONFIG
  • ORA_DV_AUDPOL
  • ORA_DV_AUDPOL2 (Oracle Database 12.2.0.1以上)
  • ORA_RAS_POLICY_MGMT
  • ORA_RAS_SESSION_MGMT
  • ORA_LOGON_FAILURES

Oracle AVDF 20.4以降では、ユーザー定義およびOracle事前定義済統合ポリシーをユーザー、ロールおよび特定のイベント条件(成功、失敗またはその両方)に対して適用できます。

ノート:

最後の取得の後にターゲット・データベースからポリシーを直接有効化または無効化した場合は、再度取得する必要があります。これは、ターゲット・データベース上で有効化または無効化された統合監査ポリシーの更新後のリストをフェッチするために行います。

ユーザーまたはロールの監査ポリシーを編集するには、次のステップを実行します。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。
  3. 監査ポリシーをプロビジョニングする特定のOracle Databaseターゲットの名前をクリックします。
  4. デフォルトでは、メイン・ページ内の「統合監査」サブタブが選択されます。
  5. 事前定義ポリシーまたはユーザー定義ポリシーに対するチェック・ボックスが選択されている場合は、変更できます。その横に編集アイコンが表示されます。
  6. 編集アイコンをクリックします。「ポリシーの構成」ダイアログが表示されます。
  7. ユーザーに基づいて、次の対象に監査ポリシーを有効にできます。

    • すべてのユーザー
    • 特定の一連のユーザーまたはロール(あるいはその両方)のみ
    • 特定の一連のユーザーを除くすべてのユーザー
  8. イベント・ステータスに基づいて、次の対象に監査ポリシーを有効にできます。

    • 成功したイベント
    • 失敗したイベント
    • 成功したイベントと失敗したイベントの両方
  9. 特定の一連のユーザーまたはロール(あるいはその両方)のみに対して変更または有効化を選択した場合は、表が表示されます。この表には2つの列があります。さらにユーザーおよびイベント・ステータスの詳細を追加できます。既存のエントリを削除することもできます。
  10. すべてのユーザーに対して変更または有効化し、特定の一連のユーザーのみを除外することを選択した場合は、表コンポーネントが表示されます。特定のユーザーを除外するには、ユーザーを「使用可能」列から「除外」列に移動します。表の下にあるイベント・ステータス(成功、失敗、両方)を選択することもできます。
  11. ダイアログでの指定内容に従って値を選択または編集します。
  12. 「保存」をクリックします。
  13. 「統合ポリシーのプロビジョニング」をクリックしてポリシーをプロビジョニングします。
  14. 「ジョブ」セクションでステータスを確認します。

ノート:

ロールのリストを表示するには、「Oracle Databaseターゲットのユーザー権限データの取得」のステップに従います。

6.4.6 Audit Vault Serverからの統合監査ポリシーのプロビジョニング

Audit Vault ServerからOracle Databaseターゲットに統合監査ポリシーをプロビジョニングできます。

これにより、データベース管理者が操作を行うことなく、ターゲットの監査ポリシーが更新されます。ただし、データベース管理者は、これらの監査ポリシーを変更または削除したり、新しいものを追加できます。このため、最新の監査ポリシーを保持するには定期的に設定を取得する必要があります。
  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。

    「監査設定」ページが表示され、アクセス権があるOracleデータベース・ターゲットが示されます。

  3. ターゲット・データベースの名前をクリックします。
  4. メイン・ページの「統合監査」サブタブをクリックします。
  5. 1つ以上のチェック・ボックスを選択して、ポリシーを有効または無効にします。
  6. 右上隅にある「統合ポリシーのプロビジョニング」ボタンをクリックします。

    プロビジョニング・ステータスを確認するには、「設定」タブをクリックします。次に、左側のナビゲーション・メニューで「ジョブ」タブをクリックします。ジョブが正常に送信されると、ページの「ジョブ・タイプ」列の下に「統合監査ポリシー」ジョブが表示されます。

    ノート:

    監査ポリシー管理のための十分な権限がターゲット・ユーザーに付与されていることを確認します。そのために、Oracle Database設定スクリプトを実行します。

    CDBとPDBの統合監査ポリシーの取得およびプロビジョニングについては、それぞれのPDBを独立したターゲットとして処理することにより、監査ポリシーをプロビジョニングまたは取得できます。監査ポリシー管理用にCDBを登録できます。CDBのプロビジョニング中には、CDBのみ、またはCDBとすべてのPDBについて監査ポリシーを含めることができます。CDBとすべてのPDBを選択した場合は、すべてのPDBインスタンスのポリシーが伝播されます。Audit Vault Serverコンソールにログインし、「ポリシー」タブをクリックします。左側のナビゲーション・メニューで、「監査ポリシー」を選択します。メイン・ページの「統合監査」サブタブにあるコア・ポリシー・セクションの下部に、次の2つのラジオ・ボタンがあります。

    1. コンテナおよびすべてのプラガブル・データベース
    2. コンテナ・データベースのみ

    これらのオプションを適宜選択し、監査ポリシーのプロビジョニングを完了します。CDBターゲットの監査ポリシーが正常にプロビジョニングされると、これらのボタンは無効になり、再度選択することはできません。

6.5 従来の監査ポリシーのプロビジョニング

従来の監査ポリシーは、SQL文、スキーマ・オブジェクト、権限およびファイングレイン監査の監視に使用されます。

Oracle AVDF 20.12へのパッチ適用後、次のことが必要になります
  1. Oracle権限スクリプトを再実行して、コンテナ・データベース・ターゲットの監査ポリシーの取得を成功させます。詳細は、「Oracle Databaseの設定スクリプト」を参照してください。
  2. 監査ポリシーをプロビジョニングまたは表示する前に、監査ポリシーを取得します。詳細は、「Oracle Databaseの監査ポリシーの取得および変更」を参照してください

6.5.1 監査ポリシー設定の作成について

ターゲットOracleデータベースから監査ポリシー設定を取得し、必要な設定を選択したら、Oracleデータベースの新しいポリシー設定を作成できます。

注意:

  • Audit Vault Serverコンソールで「必要」と指定されていない監査設定は、ターゲットではオフになります。必要な監査ポリシーの指定を参照してください。

  • ターゲットOracleデータベースの監査ポリシーを更新または作成した(あるいはその両方を行った)後で、監査ポリシーの変更をそのデータベースにプロビジョニングできます。

6.5.2 必要な監査ポリシーの指定

ターゲットOracleデータベースから監査ポリシーを取得したら、それらを表示し、必要に応じて変更できます。

取得した時点で使用中の監査ポリシーを変更することに注意してください。変更された可能性がある場合は、再び取得する必要があります。

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

  2. 「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。

  3. 監査ポリシーを変更する特定のOracleデータベース・ターゲットの名前をクリックします。

  4. ターゲットの概要ページに次の2つのセクションが表示されます。

    • 統合監査
    • 従来の監査
  5. 「従来の監査」をクリックします。次の監査タイプについて使用中の監査ポリシーおよび必要とマークされた監査ポリシーが表示されます。

    • オブジェクト

    • 権限

    • FGA

  6. 設定を更新する特定の監査タイプのリンクをクリックします。たとえば、「オブジェクト」をクリックします。

    特定のターゲットのオブジェクト監査ポリシーがページに表示されます。これは現在の監査ポリシーです。2番目の列には、ターゲット・データベースでの設定とOracle Audit Vault and Database Firewallの設定に違いがある場合に問題アイコンが表示されます。

  7. 必要と判断したそれぞれの監査設定のチェック・ボックスを選択し、右上隅にある「必要として設定」ボタンをクリックします。

  8. 監査ポリシーを削除するには、削除する監査ポリシーのチェック・ボックスを選択し、「不要として設定」をクリックします。

  9. 監査タイプの新しい監査ポリシーを作成するには、「作成」をクリックします。

6.5.3 SQL文用の監査ポリシーの作成

監査者は、SQL文用の監査ポリシーを作成および管理できます。

6.5.3.1 SQL文監査について

文監査は、文が作用する特定のスキーマ・オブジェクトではなく、文の種類によってSQL文を監査します。

文監査は、対象を広げることも絞ることもでき、たとえば、全データベース・ユーザーのアクティビティや、ユーザーの選択リストのみのアクティビティを監査できます。一般的な範囲の広い文監査では、オプションごとに関連する複数のタイプのアクションの使用を監査します。これらの文は、次のカテゴリに分類されます。

  • データ定義文(DDL)。たとえば、AUDIT TABLEはすべてのCREATE TABLE文とDROP TABLE文を監査します。AUDIT TABLEは、文の発行対象の表に関係なく、複数のDDL文を追跡します。また、選択したユーザーまたはデータベースのすべてのユーザーを監査するように文監査を設定することもできます。

  • データ操作文(DML)。たとえば、AUDIT SELECT TABLEは、表かビューかに関係なくすべてのSELECT ... FROM TABLE文またはSELECT ... FROM VIEW文を監査します。

6.5.3.2 SQL文監査設定の定義

監査者は、SQL文監査ポリシーを定義できます。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 必要であれば、現在の監査設定を取得して更新します。
  3. 「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。
  4. 特定のOracleデータベース・ターゲットをクリックします。
  5. ターゲットの概要ページに次の2つのセクションが表示されます。
    • 統合監査
    • 従来の監査
  6. 「従来の監査」をクリックします。列「監査タイプ」「文」をクリックします。

    特定のターゲットの文監査設定が表示されます。

  7. 作成」ボタンをクリックします。
  8. このページで、次のように監査ポリシーを定義します。
    • 監査の実行者 - 監査するユーザーを選択します。

      • 両方: プロキシ・ユーザーを含め、すべてのユーザーを監査します。

      • プロキシ: データベースのプロキシ・ユーザーを監査します。このオプションを選択すると、「プロキシ・ユーザー」フィールドが表示されます。ここに少なくとも1人のユーザーを指定する必要があります。

      • ユーザー: この設定が適用されるユーザーを監査します。このオプションを選択した場合は、「ユーザー」ドロップダウン・リストからユーザーを選択する必要があります。

    • 実行条件 - 次のいずれか1つを選択します。

      • 両方: 成功した文と失敗した文の両方を監査します。

      • 成功時: 成功した場合に文を監査します。

      • 失敗時: 失敗した場合に文を監査します。

    • DML監査粒度 - DML文の監査粒度を選択します。

      • アクセス: 操作が発生するたびに監査レコードを作成します。

      • セッション: 現行セッションで操作が初めて発生したときに監査レコードを作成します。

      DDL文は、アクセス時に常に監査されます。

    • 文の監査タイプ - 文のタイプをダブルクリックして右側のボックスに移動することで、監査するSQL文を選択します。二重矢印を使用すると、すべての文を右または左に移動できます。

  9. 「保存」をクリックします。
6.5.3.3 文監査設定の理解

「文監査設定」ページには、文が監査されるかどうかや、文監査ポリシーがアクティブかどうかといったステータス情報が表示されます。

表6-2に、「文」ページで使用される列を示します。

表6-2 「文監査設定」の列

説明

(左端の列)

監査設定を選択するためのチェック・ボックス

(問題アイコン)

感嘆符のアイコンは、次のいずれかの状態を示します。

  • 設定がOracle Audit Vault and Database Firewallで必要とマークされていますが、ターゲット・データベースで使用中になっていません。

  • 設定がターゲット・データベースで使用中になっていますが、Oracle Audit Vault and Database Firewallで必要とマークされていません。

設定

監査対象の文です。

使用中

緑色のチェック・マークは、設定がターゲット・データベースでアクティブであることを示します。赤色のクロス・マークは、プロビジョニングされていないか、アクティブでないことを示します。

必要

緑色のチェック・マークは、監査設定がOracle Audit Vault and Database Firewallで必要とマークされていることを示します。赤色のクロス・マークは、監査設定が不要とマークされていることを示します。

使用中でない監査設定を必要として設定すると、プロビジョニング後に緑色のチェック・マークが「使用中」列に表示されます。使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。

監査 粒度

監査の粒度: ACCESSまたはSESSION

実行条件

監査対象の実行条件: SUCCESSFAILUREまたはBOTH

プロキシ・ユーザー

データベースのプロキシ・ユーザーです(存在する場合)。

ユーザー

この設定が適用されるユーザーです(存在する場合)。

6.5.4 スキーマ・オブジェクト用の監査ポリシーの作成

監査者は、スキーマ・オブジェクト監査ポリシーを作成および管理できます。

6.5.4.1 スキーマ・オブジェクト監査の概要

スキーマ・オブジェクト監査は、AUDIT SELECT ON HR.EMPLOYEESなどの特定のスキーマ・オブジェクトに対する特定の文の監査です。

スキーマ・オブジェクト監査は対象を非常に限定するものであり、データベースの全ユーザーの特定のスキーマ・オブジェクトに対する特定の文のみを監査します。

たとえば、オブジェクト監査は、特定の表に対するSELECT文やDELETE文のように、オブジェクト権限によって許可されるすべてのSELECT文とDML文を監査できます。これらの権限を制御するGRANT文およびREVOKE文も監査されます。

オブジェクト監査を使用すると、非常に機密性が高いプライベートなデータをユーザーが表示または削除できるようにする強力なデータベース・コマンドの使用を監査できます。表、ビュー、順序、スタンドアロンのストアド・プロシージャやファンクションおよびパッケージを参照する文を監査できます。

Oracle Databaseにより、データベースの全ユーザーに対してスキーマ・オブジェクト監査オプションが設定されます。これらのオプションは、特定のユーザーのリストに対しては設定できません。

6.5.4.2 スキーマ・オブジェクト監査設定の定義

監査者は、スキーマ・オブジェクト監査ポリシーを定義できます。

  1. Audit Vaultコンソールに監査者としてログインします。
  2. 必要であれば、現在の監査設定を取得して更新します。
  3. 「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。
  4. 特定のターゲットOracleデータベースをクリックします。

    ターゲットの概要ページに次の2つのセクションが表示されます。

    • 統合監査
    • 従来の監査
  5. 「従来の監査」をクリックします。
  6. 「オブジェクト」をクリックして、特定のターゲットのオブジェクト監査設定を表示します。
  7. 作成」ボタンをクリックします。
  8. 「オブジェクト監査設定」ページで、次のように設定を定義します。
    • オブジェクト・タイプ - ドロップダウン・リストから監査するオブジェクト・タイプ(TABLELOBRULEVIEWなど)を選択します。

    • オブジェクト - 選択したオブジェクト・タイプの特定のオブジェクトを選択します。

    • 実行条件 - 次のいずれか1つを選択します。

      • 両方: 成功した文と失敗した文の両方を監査します。

      • 成功時: 成功した場合に文を監査します。

      • 失敗時: 失敗した場合に文を監査します。

    • DML監査粒度 - DML文の監査粒度を選択します。

      • アクセス: 操作が発生するたびに監査レコードを作成します。

      • セッション: 現行セッションで操作が初めて発生したときに監査レコードを作成します。

      DDL文は、アクセス時に常に監査されます。

    • 文の監査タイプ - 文のタイプをダブルクリックして右側のボックスに移動することで、監査するSQL文を選択します。二重矢印を使用すると、すべての文を右または左に移動できます。

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

    新しく定義したオブジェクト監査設定が「オブジェクト監査設定」ページに追加されます。

6.5.4.3 「オブジェクト監査設定」ページの理解

「オブジェクト監査設定」ページには、監査対象のオブジェクトや、ポリシーがアクティブかどうかといったオブジェクト・ステータス情報が表示されます。

表6-3に、「オブジェクト」ページで使用される列を示します。

表6-3 「オブジェクト監査設定」ページの列

説明

(左端の列)

監査設定を選択するためのチェック・ボックス

問題アイコン

感嘆符のアイコンは、次のいずれかの状態を示します。

  • 設定がOracle Audit Vault and Database Firewallで必要とマークされていますが、ターゲット・データベースで使用中になっていません。

  • 設定がターゲット・データベースで使用中になっていますが、Oracle Audit Vault and Database Firewallで必要とマークされていません。

設定

監査対象の文です。

使用中

設定がターゲット・データベースでアクティブである場合は上向き矢印、プロビジョニングされていない場合またはアクティブでない場合は下向き矢印です。

必要

監査設定がOracle Audit Vault and Database Firewallで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。

使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。

名前

指定したスキーマのオブジェクトの名前。

タイプ

この設定が適用されるオブジェクト(データベース表など)

所有者名

この設定が適用されるデータベース・スキーマです。

監査 粒度

監査の粒度: ACCESSまたはSESSION

実行条件

監査対象の実行条件: SUCCESSFAILUREまたはBOTH

6.5.5 権限用の監査ポリシーの作成

監査者は、権限監査ポリシーを作成および管理できます。

6.5.5.1 権限監査について

権限監査は、システム権限を使用するSQL文の監査です。

すべてのシステム権限の使用を監査できます。文監査と同様に、権限監査では、全データベース・ユーザーのアクティビティも、特定のリストのユーザーのみのアクティビティも監査できます。

たとえば、AUDIT SELECT ANY TABLEを有効にすると、Oracle Databaseは、SELECT ANY TABLE権限を持つユーザーが発行したすべてのSELECT tablename文を監査します。この種の監査機能は、サーベンス・オクスリー(SOX)法のコンプライアンス要件にとって非常に重要です。企業改革法および他のコンプライアンス規則では、不適切なデータ変更や不正なレコード変更がないか特権ユーザーを監査する必要があることが規定されています。

権限監査では、対応するアクションを有効にする強力なシステム権限の使用が監査されます(AUDIT CREATE TABLEなど)。文と権限の両方で類似した監査オプションを設定しても、生成される監査レコードは1つのみです。たとえば、文の句TABLEとシステム権限のCREATE TABLEの両方を監査すると、表が作成されるたびに監査レコードが1つのみ生成されます。文監査句TABLECREATE TABLE文、ALTER TABLE文、およびDROP TABLE文を監査します。ところが権限監査オプションCREATE TABLEが監査するのはCREATE TABLE文のみですが、これはCREATE TABLE文のみがCREATE TABLE権限を必要とするためです。

既存の所有者およびスキーマ・オブジェクト権限によりアクションがすでに許可されている場合は、権限監査は行われません。権限監査は、これらの権限では不十分な場合、つまりシステム権限によってのみアクションが可能になる場合にのみ、トリガーされます。

権限監査は、次の理由から文監査より対象が限定されます。

  • 関連する文のリストではなく、特定の種類のSQL文のみを監査するため。

  • 対象の権限の使用のみを監査するため。

6.5.5.2 権限監査設定の定義

監査者は、権限監査ポリシーを定義できます。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 必要であれば、現在の監査設定を取得して更新します。
  3. 「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。
  4. 監査設定を変更する特定のOracleデータベース・ターゲットの名前をクリックします。
  5. ターゲットの概要ページに次の2つのセクションが表示されます。
    • 統合監査
    • 従来の監査
  6. 「権限」をクリックします。

    特定のターゲットの権限監査設定が表示されます。

  7. 作成」ボタンをクリックします。
  8. 「権限監査設定の作成」ページで、次のように権限監査ポリシーを定義します。
    • 監査者 - 監査するユーザーを選択します。

      • 両方: プロキシ・ユーザーを含め、すべてのユーザーを監査します。

      • プロキシ: データベースのプロキシ・ユーザーを監査します。このオプションを選択すると、「プロキシ・ユーザー」フィールドが表示されます。ここに少なくとも1人のユーザーを指定する必要があります。選択するためにプロキシ・ユーザーとそのターゲットのリストを表示するには、フィールドの右側の上矢印アイコンをクリックします。

      • ユーザー: この設定が適用されるユーザーを監査します。このオプションを選択すると、「ユーザー」フィールドが表示されます。ドロップダウン・リストからユーザーを指定する必要があります。

    • 実行条件 - 次のいずれか1つを選択します。

      • 両方: 成功した権限使用と失敗した権限使用の両方を監査します

      • 成功時: 成功した場合に権限使用を監査します

      • 失敗時: 失敗した場合に権限使用を監査します

    • DML監査粒度 - DML文の監査粒度を選択します。

      • アクセス: 操作が発生するたびに監査レコードを作成します。

      • セッション: 現行セッションで操作が初めて発生したときに監査レコードを作成します。

      DDL文は、アクセス時に常に監査されます。

    • 文の監査タイプ - 文のタイプをダブルクリックして右側のボックスに移動することで、監査する権限を選択します。

      二重矢印を使用すると、すべての文を右または左に移動できます。

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

    新しく定義した権限監査設定が「権限監査設定」ページのリストに追加されます。

6.5.5.3 「権限監査設定」ページの理解

「権限監査設定」ページには、監査対象の権限や、監査ポリシーがアクティブかどうかといったステータス情報が表示されます。

表6-4に、「権限監査設定」ページで使用される列を示します。

表6-4 「権限監査設定」ページの列

説明

(左端の列)

監査設定を選択するためのチェック・ボックス

問題アイコン

感嘆符のアイコンは、次のいずれかの状態を示します。

  • 設定がOracle Audit Vault and Database Firewallで必要とマークされていますが、ターゲット・データベースで使用中になっていません。

  • 設定がターゲット・データベースで使用中になっていますが、Oracle Audit Vault and Database Firewallで必要とマークされていません。

設定

監査対象の文です。

使用中

設定がターゲット・データベースでアクティブである場合は上向き矢印、プロビジョニングされていない場合またはアクティブでない場合は下向き矢印です。

必要

監査設定がOracle Audit Vault and Database Firewallで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。

使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。

使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。

監査 粒度

監査の粒度です(BY ACCESSまたはBY SESSION)。

実行条件

監査対象の実行条件: SUCCESSFAILUREまたはBOTH

ユーザー

この設定が適用されるユーザーです(存在する場合)。

プロキシ・ユーザー

データベースのプロキシ・ユーザーです(存在する場合)。

6.5.6 ファイングレイン監査(FGA)用の監査ポリシーの作成

監査者は、ファイングレイン監査ポリシーを作成および管理できます。

6.5.6.1 ファイングレイン監査について

ファイングレイン監査(FGA)では、監査が行われるために存在する必要のある特定の条件を定義するポリシーを作成できます。

たとえば、ファイングレイン監査を使用すると、次のタイプのアクティビティを監査できます。

  • 午後9時から午前6時の間、または土曜日と日曜日に表にアクセスする場合

  • 社内ネットワーク外部のIPアドレスを使用する場合

  • 表の列を選択または更新する場合

  • 表の列の値を変更する場合

ファイングレイン監査ポリシーでは、SELECT、INSERT、UPDATEおよびDELETE操作の粒度を指定します。また、監査を必要な条件のみに制限することで、生成される監査情報の量を減らします。これにより、コンプライアンス要件をサポートする有意義な監査証跡が生成されます。たとえば、中央の税務当局は、ファイングレイン監査を使用すると、所員による権限外の閲覧を防止するために、どのデータがアクセスされたかを判断できる十分な詳細を使用して納税申告書へのアクセスを追跡することができます。特定のユーザーが特定の表に対してSELECT権限を使用したことを知るだけでは不十分です。ファイングレイン監査では、ユーザーが表を問い合せた時刻や、アクションを実行したユーザーのコンピュータIPアドレスなど、詳しい監査を得ることができます。

6.5.6.2 ファイングレイン監査でのイベント・ハンドラの使用

ファイングレイン監査ポリシーでは、イベント・ハンドラを指定して監査イベントを処理できます。

イベント・ハンドラを使用すると、監査イベントのトリガーの処理方法を柔軟に決定できます。たとえば、さらに分析するために監査イベントを特別な監査表に書き込んだり、セキュリティ管理者のページャや電子メールにアラートを送信したりできます。この機能により、適切なレベルまでエスカレーションするように監査の対応を微調整できます。

実装の柔軟性を高めるため、ユーザー定義の関数を使用してポリシー条件を決定したり、監査の関連列(監査列)を特定したりできます。たとえば、関数を使用すると、ユーザーが社内からデータにアクセスしているかぎりは給与情報へのアクセスを監査せず、社外からアクセスしたときには重役レベルの給与情報へのアクセスの監査を指定することができます。

6.5.6.3 特定の列および行の監査

ファイングレイン監査ポリシーでは、条件が満たされた場合に関連列と呼ばれる1つ以上の特定の列を監査対象とすることができます。

この機能を使用すると、特に重要なデータ、機密性の高いデータ、あるいはプライバシに関するデータ(たとえばクレジット・カード番号、患者の診断結果、社会保障番号といった列にあるデータなど)に、監査対象として焦点を当てることができます。監査は、問合せで特定の列が参照されたときにのみトリガーされるため、関連列の監査を使用すると、誤ったインスタンスや不要な監査レコードの削減に役立ちます。

また、監査ポリシーに条件を追加して、特定の列および行に対する監査を微調整することもできます。たとえば、「ファイングレイン監査の作成」ページの次のフィールドに入力するとします。

  • 条件: department_id = 50

  • : salary, commission_pct

この設定では、部門50の従業員のsalary列およびcommission_pct列からデータを選択しようとするすべてのユーザーが監査されます。

関連列を指定しない場合、Oracle Databaseでは、表のすべての列に監査が適用されます。つまり、行が返されるかどうかに関係なく、指定した種類の文が任意の列に影響を与えるときは必ず監査が行われます。

6.5.6.4 ファイングレイン監査設定の定義

監査者は、ファイングレイン監査ポリシーを定義できます。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 必要であれば、現在の監査設定を取得して更新します。
  3. 「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。
  4. 監査設定を変更する特定のOracleデータベース・ターゲットの名前をクリックします。

    ターゲットの概要ページに次の2つのセクションが表示されます。

    • 統合監査
    • 従来の監査
  5. 「従来の監査」をクリックします。
  6. 「FGA」をクリックします。特定のターゲットの「ファイングレイン監査設定」ページが表示されます。
  7. 作成」ボタンをクリックします。
  8. 次のように監査ポリシーを定義します。
    • ポリシー名 - ファイングレイン監査ポリシーの名前を入力します。

    • 監査証跡 - 次の監査証跡タイプのいずれかを選択します。

      定義 説明

      データベース

      データベース監査証跡のSYS.FGA_LOG$システム表にポリシー・レコードを書き込みます。

      SQLテキストを使用するデータベース

      「データベース」オプションと同じ機能を実行します。また、SYS.FGA_LOG$表のSQLバインドおよびSQLテキストのCLOB型の列にデータを移入します。

      XML

      オペレーティング・システムのXMLファイルにポリシー・レコードを書き込みます。このファイルの場所を探すために、データベース管理者はSQL*Plusで次のコマンドを実行できます。

      SQL> SHOW PARAMETER AUDIT_FILE_DEST

      SQLテキストを使用するXML

      「XML」オプションと同じ機能を実行します。また、SQLTEXT値やSQLBIND値を含め、監査証跡のすべての列を組み込みます。

      警告:

      SQLテキストを収集すると、クレジット・カード番号などの機密データが監査証跡に表示されることに注意してください。

    • スキーマ - 監査するスキーマを選択します。

    • オブジェクト - 監査するオブジェクトを選択します。

    • - 監査するSQL文を1つ以上選択します。選択可能なオプションは、DELETEINSERTSELECTまたはUPDATEです。

    • - (オプション)監査するデータベース列(関連列)の名前を入力します。各列名をカンマで区切ります。複数の列を入力する場合、このポリシーをトリガーする条件として「すべて」または「いずれか」を選択します。

    • 条件 - (オプション)行データをフィルタ処理するためのブール条件を入力します。たとえば、department_id = 50のように指定します。

      このフィールドが空白またはNullの場合、監査は条件に関係なく行われます。

    • ハンドラ・スキーマ - (イベント・ハンドラ関数を指定する場合は必須)イベント・ハンドラが作成されたスキーマ・アカウントの名前を入力します。たとえば、SEC_MGRのように指定します。

    • ハンドラ・パッケージ - (イベント・ハンドラ関数を指定する場合は必須)イベント・ハンドラが作成されたパッケージの名前を入力します。たとえば、OE_FGA_POLICIESのように指定します。

    • ハンドラ関数 - (オプション)イベント・ハンドラの名前を入力します。たとえば: CHECK_OE_VIOLATIONS

  9. 「保存」をクリックします。
6.5.6.5 「ファイングレイン監査設定」ページの理解

「ファイングレイン監査設定」ページには、ポリシーが適用されるオブジェクトなどのステータス情報が表示されます。

表6-5に、「ファイングレイン監査設定」ページで使用される列を示します。

表6-5 「ファイングレイン監査設定」ページの列

フィールド 説明

(左端の列)

監査設定を選択するためのチェック・ボックス

問題

感嘆符のアイコンは、次のいずれかの状態を示します。

  • 設定がOracle Audit Vault and Database Firewallで必要とマークされていますが、ターゲット・データベースで使用中になっていません。

  • 設定がターゲット・データベースで使用中になっていますが、Oracle Audit Vault and Database Firewallで必要とマークされていません。

名前

ファイングレイン監査ポリシーの名前です。

使用中

設定がターゲットでアクティブである場合は上向き矢印、プロビジョニングされていない場合またはアクティブでない場合は下向き矢印です。

必要

監査設定がOracle Audit Vault and Database Firewallで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。

使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。

オブジェクト所有者

この監査設定が適用されるスキーマ

オブジェクト

この監査設定が適用される、指定スキーマ内のオブジェクト

文タイプ

この監査設定が適用されるSQL文値は次のとおりです。

  • S: SELECT

  • I: INSERT

  • U: UPDATE

  • D: DELETE

  • M: MERGE

監査対象のデータベース列。関連列と呼ばれることもあります。このフィールドが空の場合は、すべての列が監査されます。

6.5.7 SQLスクリプトへの監査設定のエクスポート

ターゲットの監査ポリシー設定をOracle Audit Vault and Database FirewallからSQLスクリプトにエクスポートできます。

その後、スクリプトをターゲットOracleデータベースのデータベース管理者に渡して、そのデータベースの監査設定を更新するために使用できるようにすることができます。
  1. Audit Vaultコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。

    このページには、アクセス権があるOracleデータベース・ターゲットのリストが表示されます。

  3. 特定のOracleデータベース・ターゲットの名前をクリックします。

    データベースの監査設定の概要がページに表示されます。デフォルトでは、「統合監査」サブタブが選択されます。

  4. 「従来の監査」サブタブをクリックします。
  5. エクスポートする監査タイプ(「文」「オブジェクト」「権限」または「FGA」)のチェック・ボックスを1つ以上選択します。
  6. 「エクスポート/プロビジョニング」をクリックします。

    「監査設定のエクスポート/プロビジョニング」ページが表示されます。エクスポート可能な監査コマンドが表示されます。

  7. 「エクスポート」ラジオ・ボタンをクリックし、右上隅にある「エクスポート」ボタンをクリックします。
  8. 「OK」をクリックして確定します。
  9. SQLファイルをシステム上の場所に保存します。
  10. 保存したスクリプトを、そのターゲットのデータベース管理者に渡します。

    その後、データベース管理者がポリシーをターゲットに適用できます。設定が更新されたことを確認するために、監査設定を取得できます。

6.5.8 Audit Vault Serverからの従来の監査ポリシーのプロビジョニング

Audit Vault ServerからターゲットOracle Databaseに従来の監査ポリシー設定を直接プロビジョニングできます。

これにより、データベース管理者が操作を行うことなく、ターゲットの監査ポリシーが更新されます。ただし、データベース管理者は、これらの監査ポリシーを変更または削除したり、新しいものを追加できます。このため、最新の監査ポリシーを保持するには定期的に設定を取得する必要があります。
  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。

    左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。ここには、アクセス権があるOracleデータベース・ターゲットが表示されます。

  3. 特定のターゲット・データベースの名前をクリックします。
  4. メイン・ページの「従来の監査」サブタブをクリックします。
  5. プロビジョニングする監査タイプ(「文」「オブジェクト」「権限」または「FGA」)のチェック・ボックスを1つ以上選択します。
  6. 「従来のポリシーのプロビジョニング」ボタンをクリックします。

    「監査設定のエクスポート/プロビジョニング」ページが表示されます。ここにはエクスポート可能な監査コマンドが表示され、プロビジョニングする前にそれらを検証できます。監査設定は、ファイルにエクスポートすることも、ターゲットに直接プロビジョニングすることもできます。

  7. ボックスの下にある「プロビジョニング」ラジオ・ボタンを選択します。
  8. 権限スクリプトを使用して、監査ポリシー管理のための十分な権限がターゲット・ユーザーに付与されていることを確認します。

    ノート:

    監査ポリシー管理のための十分な権限がターゲット・ユーザーに付与されていることを確認します。そのために、Oracle Database設定スクリプトを実行します。
  9. 右上隅にある「プロビジョニング」ボタンをクリックします。
  10. 「OK」をクリックして確定します。

    プロビジョニング・ステータスを確認するには、「設定」タブをクリックします。次に、左側のナビゲーション・メニューで「ジョブ」タブをクリックします。ジョブが正常に送信されると、ページの「ジョブ・タイプ」列の下に「監査設定」ジョブが表示されます。

6.6 統合監査ポリシーの表示

Oracle AVDF 20.12以降では、ターゲット・データベースで有効になっている監査ポリシーを表示できます。

前提条件

Oracle AVDF 20.12へのパッチ適用後、次のことが必要になります
  1. Oracle権限スクリプトを再実行して、コンテナ・データベース・ターゲットの監査ポリシーの取得を成功させます。詳細は、「Oracle Databaseの設定スクリプト」を参照してください。
  2. 監査ポリシーをプロビジョニングまたは表示する前に、監査ポリシーを取得します。詳細は、「Oracle Databaseの監査ポリシーの取得および変更」を参照してください

手順

  1. auditorとしてAudit Vault Serverコンソールにログインします

  2. 「ポリシー」タブをクリックします。
  3. 監査ポリシーを表示するデータベースを選択します。
  4. 「ポリシーの表示」をクリックします。

    選択したターゲット・データベースの監査ポリシーの詳細を示す表が表示されます。

    CDB$ROOTターゲットの場合、コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)で有効になっている共通ポリシーのリストと、個々のPDBのローカル・ポリシーも表示できます。これにより、監査の取得時に設定されたすべてのPDBのポリシーが表示されます。PDBが追加または削除された場合は、監査取得を再度実行して最新のリストを確認します。