6 Oracleデータベースの監査ポリシーの作成
Oracle Databaseの監査構成を取得およびプロビジョニングできます。
6.1 監査ポリシーについて
Audit Vault Serverコンソールを使用すると、Oracleデータベース・ターゲットから監査ポリシーを取得できます。
その後、ポリシーを変更するか新しいポリシーを作成して、Oracleデータベースにプロビジョニングできます。次のタイプのOracleデータベース監査ポリシーを取得および変更できます。
- 統合監査ポリシー
- SQL文
- スキーマ・オブジェクト
- 権限
- ファイングレイン監査
6.2 Oracleデータベースの監査ポリシー作成の一般的なステップ
Oracleデータベースの監査ポリシーを作成するには、ターゲットOracleデータベースの監査ポリシー設定を取得し、それらを変更して、ポリシーをプロビジョニングします。
- ターゲットOracleデータベースから現在の監査ポリシー設定を取得し、現在の設定の中で必要なものを指定します。
- 必要であれば、必要な設定に追加する監査設定を定義します。
- 統合監査については、必要な統合監査ポリシーを選択します。
- 監査ポリシーをターゲット・データベースにプロビジョニングします。必要に応じて指定したポリシー設定と作成した新しい設定が、データベースで使用されるポリシーになります。
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権限スクリプトを再実行して、コンテナ・データベース・ターゲットの監査ポリシーの取得を成功させます。詳細は、「Oracle Databaseの設定スクリプト」を参照してください。
- 監査ポリシーをプロビジョニングまたは表示する前に、監査ポリシーを取得します。詳細は、「Oracle Databaseの監査ポリシーの取得および変更」を参照してください
- 監査ポリシー管理のための十分な権限がターゲット・ユーザーに付与されていることを確認します。管理者は、Oracle Database設定スクリプトを使用してこれらを付与できます。
6.3.3 Oracle Databaseの監査設定取得のスケジューリング
Oracle Databaseの監査ポリシー設定を取得するには、ターゲットの監査ポリシー取得ジョブをスケジュールします。
- Oracle権限スクリプトを再実行して、コンテナ・データベース・ターゲットの監査ポリシーの取得を成功させます。詳細は、「Oracle Databaseの設定スクリプト」を参照してください。
- 監査ポリシーをプロビジョニングまたは表示する前に、監査ポリシーを取得します。詳細は、「Oracle Databaseの監査ポリシーの取得および変更」を参照してください
- Audit Vault Serverコンソールに監査者としてログインします。
- 「ターゲット」タブをクリックします。
- ターゲットの「取得ジョブのスケジュール」アイコンをクリックします。
-
「取得ジョブのスケジュール」ページの「監査ポリシー」で、次のいずれかのオプションを選択します。
- すぐにジョブを実行するには、「即時取得」を選択します。
-
ジョブをスケジュールする場合や既存のスケジュールを変更する場合は、次のステップを実行します。
- 「スケジュールの作成/更新」を選択します。
- 「有効」をクリックします。
- 開始日時と繰返し頻度を入力します。
- 「保存」をクリックします。
6.4 統合監査ポリシーのプロビジョニング
統合監査ポリシーのプロビジョニングについて学習します。
- Oracle権限スクリプトを再実行して、コンテナ・データベース・ターゲットの監査ポリシーの取得を成功させます。詳細は、「Oracle Databaseの設定スクリプト」を参照してください。
- 監査ポリシーをプロビジョニングまたは表示する前に、監査ポリシーを取得します。詳細は、「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管理ユーザーのすべてのアクティビティが監査されます。
-
管理者権限:
SYSOPER
、SYSDG
、SYSKM
、SYSRAC
およびSYSBACKUP
-
ロール:
DBA
、DATAPUMP_EXP_FULL_DATABASE
、DATAPUMP_IMP_FULL_DATABASE
、EXP_FULL_DATABASE
、IMP_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を参照してください。
- Audit Vault Serverコンソールに監査者としてログインします。
- 「ポリシー」タブをクリックします。
- 左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。
- 特定のターゲットをクリックします。
- 「ポリシーの詳細」ページが表示されます。
Admin User Activity
カテゴリを無効にします。 -
ターゲット・ユーザーとしてターゲット・データベースにログインして、次のコマンドを実行します。
DROP AUDIT POLICY ORA_AV$_ADMIN_USER_ACTIVITY;
DROP AUDIT POLICY ORA_AV$_SYS_TOP_ACTIVITY;
- Audit Vault Serverコンソールの「監査ポリシー」タブに戻ります。
- 特定のポリシーを選択して、右上隅にある「取得」ボタンをクリックします。
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)がプロビジョニングされると、ターゲット・データベースで次の統合ポリシーが有効になります。
事前定義済監査ポリシー名 | ユーザーに対して有効にできます | イベント条件 |
---|---|---|
|
すべてのユーザー |
|
|
すべてのユーザー |
|
|
特権ユーザー |
|
ユーザー権限ジョブによって識別される特権ユーザー・リストをフェッチするか、独自のリストを指定できます。このポリシーは、Oracle AVDFで提供されている他のポリシーとともに、有効または無効にできます。このポリシーでは多くのアクティビティが追跡され、STIGコンプライアンス要件に準拠しているかどうかを評価するのに役立ちます。
STIG監査ポリシーを有効にするには、次のステップに従います。これらのオプションは、ORA_ALL_TOPLEVEL_ACTIONS
監査ポリシーにのみ適用できます。
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事前定義済統合ポリシーをユーザー、ロールおよび特定のイベント条件(成功、失敗またはその両方)に対して適用できます。
ノート:
最後の取得の後にターゲット・データベースからポリシーを直接有効化または無効化した場合は、再度取得する必要があります。これは、ターゲット・データベース上で有効化または無効化された統合監査ポリシーの更新後のリストをフェッチするために行います。ユーザーまたはロールの監査ポリシーを編集するには、次のステップを実行します。
- Audit Vault Serverコンソールに監査者としてログインします。
- 「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。
- 監査ポリシーをプロビジョニングする特定のOracle Databaseターゲットの名前をクリックします。
- デフォルトでは、メイン・ページ内の「統合監査」サブタブが選択されます。
- 事前定義ポリシーまたはユーザー定義ポリシーに対するチェック・ボックスが選択されている場合は、変更できます。その横に編集アイコンが表示されます。
- 編集アイコンをクリックします。「ポリシーの構成」ダイアログが表示されます。
-
ユーザーに基づいて、次の対象に監査ポリシーを有効にできます。
- すべてのユーザー
- 特定の一連のユーザーまたはロール(あるいはその両方)のみ
- 特定の一連のユーザーを除くすべてのユーザー
-
イベント・ステータスに基づいて、次の対象に監査ポリシーを有効にできます。
- 成功したイベント
- 失敗したイベント
- 成功したイベントと失敗したイベントの両方
- 特定の一連のユーザーまたはロール(あるいはその両方)のみに対して変更または有効化を選択した場合は、表が表示されます。この表には2つの列があります。さらにユーザーおよびイベント・ステータスの詳細を追加できます。既存のエントリを削除することもできます。
- すべてのユーザーに対して変更または有効化し、特定の一連のユーザーのみを除外することを選択した場合は、表コンポーネントが表示されます。特定のユーザーを除外するには、ユーザーを「使用可能」列から「除外」列に移動します。表の下にあるイベント・ステータス(成功、失敗、両方)を選択することもできます。
- ダイアログでの指定内容に従って値を選択または編集します。
- 「保存」をクリックします。
- 「統合ポリシーのプロビジョニング」をクリックしてポリシーをプロビジョニングします。
- 「ジョブ」セクションでステータスを確認します。
ノート:
ロールのリストを表示するには、「Oracle Databaseターゲットのユーザー権限データの取得」のステップに従います。6.5 従来の監査ポリシーのプロビジョニング
従来の監査ポリシーは、SQL文、スキーマ・オブジェクト、権限およびファイングレイン監査の監視に使用されます。
- Oracle権限スクリプトを再実行して、コンテナ・データベース・ターゲットの監査ポリシーの取得を成功させます。詳細は、「Oracle Databaseの設定スクリプト」を参照してください。
- 監査ポリシーをプロビジョニングまたは表示する前に、監査ポリシーを取得します。詳細は、「Oracle Databaseの監査ポリシーの取得および変更」を参照してください
6.5.1 監査ポリシー設定の作成について
ターゲットOracleデータベースから監査ポリシー設定を取得し、必要な設定を選択したら、Oracleデータベースの新しいポリシー設定を作成できます。
注意:
-
Audit Vault Serverコンソールで「必要」と指定されていない監査設定は、ターゲットではオフになります。「必要な監査ポリシーの指定」を参照してください。
-
ターゲットOracleデータベースの監査ポリシーを更新または作成した(あるいはその両方を行った)後で、監査ポリシーの変更をそのデータベースにプロビジョニングできます。
6.5.2 必要な監査ポリシーの指定
ターゲットOracleデータベースから監査ポリシーを取得したら、それらを表示し、必要に応じて変更できます。
取得した時点で使用中の監査ポリシーを変更することに注意してください。変更された可能性がある場合は、再び取得する必要があります。
-
Audit Vault Serverコンソールに監査者としてログインします。
-
「ポリシー」タブをクリックします。左側のナビゲーション・メニューの「監査ポリシー」タブがデフォルトで選択されています。
-
監査ポリシーを変更する特定のOracleデータベース・ターゲットの名前をクリックします。
-
ターゲットの概要ページに次の2つのセクションが表示されます。
- 統合監査
- 従来の監査
-
「従来の監査」をクリックします。次の監査タイプについて使用中の監査ポリシーおよび必要とマークされた監査ポリシーが表示されます。
-
文
-
オブジェクト
-
権限
-
FGA
-
-
設定を更新する特定の監査タイプのリンクをクリックします。たとえば、「オブジェクト」をクリックします。
特定のターゲットのオブジェクト監査ポリシーがページに表示されます。これは現在の監査ポリシーです。2番目の列には、ターゲット・データベースでの設定とOracle Audit Vault and Database Firewallの設定に違いがある場合に問題アイコンが表示されます。
-
必要と判断したそれぞれの監査設定のチェック・ボックスを選択し、右上隅にある「必要として設定」ボタンをクリックします。
-
監査ポリシーを削除するには、削除する監査ポリシーのチェック・ボックスを選択し、「不要として設定」をクリックします。
-
監査タイプの新しい監査ポリシーを作成するには、「作成」をクリックします。
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.3 文監査設定の理解
「文監査設定」ページには、文が監査されるかどうかや、文監査ポリシーがアクティブかどうかといったステータス情報が表示されます。
表6-2に、「文」ページで使用される列を示します。
表6-2 「文監査設定」の列
列 | 説明 |
---|---|
(左端の列) |
監査設定を選択するためのチェック・ボックス |
(問題アイコン) |
感嘆符のアイコンは、次のいずれかの状態を示します。
|
設定 |
監査対象の文です。 |
使用中 |
緑色のチェック・マークは、設定がターゲット・データベースでアクティブであることを示します。赤色のクロス・マークは、プロビジョニングされていないか、アクティブでないことを示します。 |
必要 |
緑色のチェック・マークは、監査設定がOracle Audit Vault and Database Firewallで必要とマークされていることを示します。赤色のクロス・マークは、監査設定が不要とマークされていることを示します。 使用中でない監査設定を必要として設定すると、プロビジョニング後に緑色のチェック・マークが「使用中」列に表示されます。使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。 |
監査 粒度 |
監査の粒度: |
実行条件 |
監査対象の実行条件: |
プロキシ・ユーザー |
データベースのプロキシ・ユーザーです(存在する場合)。 |
ユーザー |
この設定が適用されるユーザーです(存在する場合)。 |
6.5.4 スキーマ・オブジェクト用の監査ポリシーの作成
監査者は、スキーマ・オブジェクト監査ポリシーを作成および管理できます。
6.5.4.1 スキーマ・オブジェクト監査の概要
スキーマ・オブジェクト監査は、AUDIT SELECT ON HR.EMPLOYEES
などの特定のスキーマ・オブジェクトに対する特定の文の監査です。
スキーマ・オブジェクト監査は対象を非常に限定するものであり、データベースの全ユーザーの特定のスキーマ・オブジェクトに対する特定の文のみを監査します。
たとえば、オブジェクト監査は、特定の表に対するSELECT
文やDELETE
文のように、オブジェクト権限によって許可されるすべてのSELECT
文とDML文を監査できます。これらの権限を制御するGRANT
文およびREVOKE
文も監査されます。
オブジェクト監査を使用すると、非常に機密性が高いプライベートなデータをユーザーが表示または削除できるようにする強力なデータベース・コマンドの使用を監査できます。表、ビュー、順序、スタンドアロンのストアド・プロシージャやファンクションおよびパッケージを参照する文を監査できます。
Oracle Databaseにより、データベースの全ユーザーに対してスキーマ・オブジェクト監査オプションが設定されます。これらのオプションは、特定のユーザーのリストに対しては設定できません。
6.5.4.3 「オブジェクト監査設定」ページの理解
「オブジェクト監査設定」ページには、監査対象のオブジェクトや、ポリシーがアクティブかどうかといったオブジェクト・ステータス情報が表示されます。
表6-3に、「オブジェクト」ページで使用される列を示します。
表6-3 「オブジェクト監査設定」ページの列
列 | 説明 |
---|---|
(左端の列) |
監査設定を選択するためのチェック・ボックス |
問題アイコン |
感嘆符のアイコンは、次のいずれかの状態を示します。
|
設定 |
監査対象の文です。 |
使用中 |
設定がターゲット・データベースでアクティブである場合は上向き矢印、プロビジョニングされていない場合またはアクティブでない場合は下向き矢印です。 |
必要 |
監査設定がOracle Audit Vault and Database Firewallで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。 使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。 |
名前 |
指定したスキーマのオブジェクトの名前。 |
タイプ |
この設定が適用されるオブジェクト(データベース表など) |
所有者名 |
この設定が適用されるデータベース・スキーマです。 |
監査 粒度 |
監査の粒度: |
実行条件 |
監査対象の実行条件: |
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つのみ生成されます。文監査句TABLE
はCREATE TABLE
文、ALTER TABLE
文、およびDROP TABLE
文を監査します。ところが権限監査オプションCREATE TABLE
が監査するのはCREATE TABLE
文のみですが、これはCREATE TABLE
文のみがCREATE TABLE
権限を必要とするためです。
既存の所有者およびスキーマ・オブジェクト権限によりアクションがすでに許可されている場合は、権限監査は行われません。権限監査は、これらの権限では不十分な場合、つまりシステム権限によってのみアクションが可能になる場合にのみ、トリガーされます。
権限監査は、次の理由から文監査より対象が限定されます。
-
関連する文のリストではなく、特定の種類のSQL文のみを監査するため。
-
対象の権限の使用のみを監査するため。
6.5.5.3 「権限監査設定」ページの理解
「権限監査設定」ページには、監査対象の権限や、監査ポリシーがアクティブかどうかといったステータス情報が表示されます。
表6-4に、「権限監査設定」ページで使用される列を示します。
表6-4 「権限監査設定」ページの列
列 | 説明 |
---|---|
(左端の列) |
監査設定を選択するためのチェック・ボックス |
問題アイコン |
感嘆符のアイコンは、次のいずれかの状態を示します。
|
設定 |
監査対象の文です。 |
使用中 |
設定がターゲット・データベースでアクティブである場合は上向き矢印、プロビジョニングされていない場合またはアクティブでない場合は下向き矢印です。 |
必要 |
監査設定がOracle Audit Vault and Database Firewallで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。 使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。 使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。 |
監査 粒度 |
監査の粒度です( |
実行条件 |
監査対象の実行条件: |
ユーザー |
この設定が適用されるユーザーです(存在する場合)。 |
プロキシ・ユーザー |
データベースのプロキシ・ユーザーです(存在する場合)。 |
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.5 「ファイングレイン監査設定」ページの理解
「ファイングレイン監査設定」ページには、ポリシーが適用されるオブジェクトなどのステータス情報が表示されます。
表6-5に、「ファイングレイン監査設定」ページで使用される列を示します。
表6-5 「ファイングレイン監査設定」ページの列
フィールド | 説明 |
---|---|
(左端の列) |
監査設定を選択するためのチェック・ボックス |
問題 |
感嘆符のアイコンは、次のいずれかの状態を示します。
|
名前 |
ファイングレイン監査ポリシーの名前です。 |
使用中 |
設定がターゲットでアクティブである場合は上向き矢印、プロビジョニングされていない場合またはアクティブでない場合は下向き矢印です。 |
必要 |
監査設定がOracle Audit Vault and Database Firewallで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。 使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。 |
オブジェクト所有者 |
この監査設定が適用されるスキーマ |
オブジェクト |
この監査設定が適用される、指定スキーマ内のオブジェクト |
文タイプ |
この監査設定が適用されるSQL文値は次のとおりです。
|
列 |
監査対象のデータベース列。関連列と呼ばれることもあります。このフィールドが空の場合は、すべての列が監査されます。 |
6.5.7 SQLスクリプトへの監査設定のエクスポート
ターゲットの監査ポリシー設定をOracle Audit Vault and Database FirewallからSQLスクリプトにエクスポートできます。
6.6 統合監査ポリシーの表示
Oracle AVDF 20.12以降では、ターゲット・データベースで有効になっている監査ポリシーを表示できます。
前提条件
- Oracle権限スクリプトを再実行して、コンテナ・データベース・ターゲットの監査ポリシーの取得を成功させます。詳細は、「Oracle Databaseの設定スクリプト」を参照してください。
- 監査ポリシーをプロビジョニングまたは表示する前に、監査ポリシーを取得します。詳細は、「Oracle Databaseの監査ポリシーの取得および変更」を参照してください
手順
-
auditor
としてAudit Vault Serverコンソールにログインします。 - 「ポリシー」タブをクリックします。
- 監査ポリシーを表示するデータベースを選択します。
- 「ポリシーの表示」をクリックします。
選択したターゲット・データベースの監査ポリシーの詳細を示す表が表示されます。
CDB$ROOTターゲットの場合、コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)で有効になっている共通ポリシーのリストと、個々のPDBのローカル・ポリシーも表示できます。これにより、監査の取得時に設定されたすべてのPDBのポリシーが表示されます。PDBが追加または削除された場合は、監査取得を再度実行して最新のリストを確認します。