この項の内容は次のとおりです。
Oracle Database Vaultには、レルム、コマンド・ルールなどで違反を追跡するカスタム・イベントが定義されています。Oracle Database Vaultでは、次の監査を行うことができます。
ルール・セット監査: ルール・セットの処理結果を監査します。正常終了した処理および失敗した処理の両方を監査できます。レルム認可は、ルール・セットを使用して管理できます。ルール・セットの処理結果を監査できます。ファクタ割当ておよびセキュア・アプリケーション・ロール監査は、ルール・セットを使用して管理できます。
レルムの監査: レルム違反は、レルム・オブジェクトに対してアクションを実行するデータベース・アカウントに、レルムでそのアクションを実行する権限がない場合に発生します。レルム違反を監査できます。
ファクタの監査: 終了したファクタ処理および失敗したファクタ処理の両方を監査できます。失敗したファクタ処理の場合、「取得エラー」、「取得がNULL」、「検証エラー」、「検証がFalse」、「信頼レベルがNULL」、「信頼レベルがゼロ未満」のすべてまたはいずれかについて監査できます。
Oracle Label Securityセッション初期化の失敗: Oracle Label Securityセッションの初期化に失敗したインスタンスを監査します。
Oracle Label Securityセッション・ラベル・アップグレード試行の失敗: Oracle Label Securityコンポーネントによって最大セッション・ラベルを超えるラベルの設定が妨げられているセッションのインスタンスを監査します。
関連項目:
|
Oracle Database Vaultカスタム監査イベントのレコードは、DVSYS
スキーマの一部であるAUDIT_TRAIL$
表に格納されます。これらの監査レコードは、標準的なOracle Databaseの監査証跡の一部ではありません。(実際には、Oracle Databaseで監査が無効になっている場合、Oracle Database Vaultの監査はAUDIT_TRAIL$
表への書込みを続けます。)
注意: Oracle Audit Vaultでは、Oracle Database Vaultの監査データを収集できます。詳細は、『Oracle Audit Vault管理者ガイド』を参照してください。 |
表A-1では、監査証跡の書式を説明しています。AUDIT_TRAIL$
表を使用するカスタム・レポートの作成を予定している場合、これらの書式を理解する必要があります。
表A-1 監査証跡の書式
列 | データ型 | NULL | 説明 |
---|---|---|---|
|
|
|
監査レコードごとの数値識別子。 |
|
|
アクションが監査対象となったユーザーのオペレーティング・システムのログイン・ユーザー名。 |
|
|
|
アクションが監査対象となったデータベース・ユーザーの名前。 |
|
|
|
クライアント・コンピュータ名。 |
|
|
|
ユーザーの端末に対する識別子。 |
|
|
|
監査証跡エントリの作成日時(ローカル・データベース・セッションのタイムゾーン)。 |
|
|
|
アクションの影響を受けるオブジェクトの作成者、常時 |
|
|
|
アクションの影響を受けるオブジェクトの名前。想定値は次のとおりです。
|
|
|
|
|
数値のアクション・タイプ・コード。アクション・タイプに対応する名前は、
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
実行された結果、監査イベントがトリガーされたコマンド・プロシージャのSQLテキスト。 |
|
|
|
結果として監査イベントがトリガーされたレコードに指定されたすべての監査オプションのラベル。たとえば、失敗または |
|
|
|
実行された結果、監査イベントがトリガーされたルール・セットの一意の識別子。 |
|
|
|
実行された結果、監査イベントがトリガーされたルール・セットの一意の名前。 |
|
|
|
実行された結果、監査イベントがトリガーされたルールの一意の識別子。 |
|
|
|
実行された結果、監査イベントがトリガーされたルールの一意の名前。 |
|
|
|
監査イベントがトリガーされた時点での、現行セッションに対するすべてのファクタ識別子を含むXML文書。 |
|
|
|
監査対象となった文の詳細を示す、監査証跡エントリについてのテキスト・コメント。 |
|
|
|
|
Oracleセッションごとの数値識別子。 |
|
|
|
|
|
|
|
起動された結果、監査イベントが生成された文の数値識別子。ほとんどのOracle Database Vaultイベントの場合、このパラメータは空です。 |
|
|
|
アクションによって生成されたOracleエラー・コード。起動された結果、監査イベントが生成された文またはプロシージャに対するエラー・コード。ほとんどのOracle Database Vaultイベントの場合、このパラメータは空です。 |
|
|
UTC(協定世界時)タイムゾーンの、監査証跡エントリの作成時のタイムスタンプ(エントリに対するユーザー・ログインのタイムスタンプ)。 |
|
|
|
エンタープライズ・ユーザーがプロキシ機構を介してログインした場合の、プロキシ・セッションのシリアル番号。 |
|
|
|
ユーザーがエンタープライズ・ユーザーとしてログインした場合の、ユーザーのグローバル・ユーザー識別子。 |
|
|
|
|
|
|
|
Oracleプロセスのオペレーティング・システム・プロセス識別子 |
|
|
|
アクションが監査対象となったユーザーのデータベースのログイン・ユーザー名。 |
|
|
|
|
|
|
|
|
|
|
|
|
DVSYS
が所有するAUDIT_TRAIL$
システム表をダンプ・ファイルにエクスポートすることで、Oracle Database Vault監査証跡のアーカイブを作成できます。監査証跡は、大きくなりすぎないように定期的にアーカイブし、パージする必要があります。
Oracle Database Vault監査証跡をアーカイブし、パージするには、次のようにします。
データ・ポンプ・エクスポートがインストール済であることを確認してください。
管理権限を使用してSQL*Plusにログインし、次の問合せを実行します。
sqlplus "sys/as sysdba"
Enter password: password
SQL> SELECT ROLE FROM DBA_ROLES WHERE ROLE LIKE '%FULL%'
この問合せでEXP_FULL_DATABASE
ロールおよびIMP_FULL_DATABASE
ロールが戻されない場合は、データ・ポンプ・エクスポートがインストールされていません。データ・ポンプ・エクスポートをインストールするには、catexp.sql
スクリプトまたはcatalog.sql
スクリプトのいずれかを実行します。たとえば、次のようになります。
@/oracle/app/oracle/admin/catexp.sql;
このエクスポート・ユーティリティの詳細は、『Oracle Databaseユーティリティ』を参照してください。
Oracle Database Vaultを無効にします。
詳細は、「手順1: Oracle Database Vaultの無効化」を参照してください。
DVSYS
アカウントがロックされている場合は、ロックを解除してください。
EXPDP
エクスポート・コマンドを実行する際には、このアカウントのロックを解除しておく必要があります。SYS
としてログインしてAS SYSDBA
で接続している状態であることを確認してください。
SQL> ALTER USER DVSYS IDENTIFIED BY password ACCOUNT UNLOCK;
オペレーティング・システムのコマンド・プロンプトで、Oracle Database Vault監査証跡用のディレクトリを$ORACLE_BASE/admin/$DB_UNIQUE_NAME/dvaudit
などに作成します。
このディレクトリを、Oracle Databaseのオペレーティング・システム監査証跡ディレクトリと同じ場所(デフォルトでは、$ORACLE_BASE/admin/$DB_UNIQUE_NAME/adump
ディレクトリ)に置いてもかまいません。SQL*Plusでは、監査証跡ディレクトリの場所は次のようにチェックできます。
SQL> SHOW PARAMETER AUDIT_FILE_DEST NAME TYPE VALUE ------------------- ------- --------------------------------------- audit_file_dest string /opt/oracle/app/oracle/admin/orcl/adump
SQL*Plusで、Oracle Database Vault監査証跡の生成場所となるディレクトリ・オブジェクトを作成します。これを行うには、SYS
またはCREATE ANY DIRECTORY
権限を持つ任意のユーザーとして接続します。
たとえば、次のようになります。
SQL> CREATE DIRECTORY dv_audit_dir AS '/opt/oracle/app/oracle/admin/orcl/dvaudit';
ディレクトリ・パスを一重引用符で囲みます。二重引用符は使用しないでください。
ユーザーDVSYS
に、ディレクトリ・オブジェクトに対する読取り/書込み権限を付与します。
たとえば、次のようになります。
SQL> GRANT READ, WRITE ON DIRECTORY dvaudit TO dvsys;
オペレーティング・システムのコマンド・プロンプトで次のようなコマンドを入力し、DVSYS.AUDIT_TRAIL$
監査表を新しいダンプ・ファイルにエクスポートします。
EXPDP DVSYS
Enter password: password
DIRECTORY=dvaudit \
TABLES=DVSYS.AUDIT_TRAIL$ \
QUERY=DVSYS.AUDIT_TRAIL$:"WHERE timestamp < 2007-04-03:19:34:59"
DUMPFILE=dv_audit_031607.dmp
ここでは、次のようになります。
DIRECTORY
: 手順5で作成したディレクトリ・オブジェクトを入力します。EXPDP
を実行するユーザー(この例ではDVSYS
)に、このディレクトリ・オブジェクトの読取り/書込み権限が付与されていることを確認します。ディレクトリ・オブジェクトを作成したユーザーには、そのディレクトリ・オブジェクトの読取り/書込み権限が自動的に付与されています。
TABLES
: 監査証跡表の名前DVSYS.AUDIT_TRAIL$
を入力します。
QUERY
: オプションです。この設定を使用すると、監査表の内容の一部がダンプ・ファイルに書き込まれます。この例ではtimestamp
列の値が2007-04-03:19:34:59
より小さい監査レコードです。
DUMPFILE
: 作成するダンプ・ファイルの名前を入力します。デフォルトの拡張子は.dmp
ですが、任意の拡張子を使用できます。指定するファイル名は一意であることを確認してください。
SQL*Plusで、Oracle Database Vault監査証跡表をパージします。これでアーカイブが完了します。
たとえば、timestamp
列の値が2007-04-03:19:34:59より小さいすべての監査証跡レコードをアーカイブする場合は、次の文を入力します。
SQL> DELETE FROM DVSYS.AUDIT_TRAIL$ WHERE TIMESTAMP < 2007-04-03:19:34:59;
監査証跡を完全にパージして監査証跡表に割り当てられているエクステントを削除するには、次の文を入力します。
SQL> TRUNCATE TABLE DVSYS.AUDIT_TRAIL$;
SQL*Plusを終了します。
Oracle Database Vaultを再び有効にします。
詳細は、「手順3: Oracle Database Vaultの有効化」を参照してください。
Oracle Database Vaultをインストールすると、データベース内に複数のAUDIT
設定が作成されます。ただし、これらの監査設定が行われるには、このデータベースで監査が有効になっている必要があります。監査が有効かどうかは、SHOW PARAMETER
コマンドを使用して、AUDIT_TRAIL
初期化パラメータの値を検索することで確認できます。デフォルトでは、Oracle Databaseでの監査は無効です。
AUDIT_TRAIL
パラメータがNONE
に設定されている場合、監査は有効ではないので、AUDIT_TRAIL
を設定する必要があります。AUDIT_TRAIL
パラメータの設定の詳細は、『Oracle Databaseセキュリティ・ガイド』および『Oracle Databaseリファレンス』を参照してください。
表A-2に、Oracle Database Vaultによりデータベースに追加されるAUDIT
の設定を示します。
表A-2 Oracle Database VaultによりOracle Databaseに追加される監査ポリシーの設定
監査設定タイプ | 監査対象コマンド(特に断りのない場合はBY ACCESSかつ成功時または失敗時) |
---|---|
システム監査設定/システム権限の使用 |
|
システム監査設定/オブジェクト管理 |
|
システム監査設定/割込みコマンド |
|
システム監査設定/管理コマンド |
|
システム監査設定/監査コマンド |
|
システム監査設定/アクセス制御 |
|
これらのアカウントの詳細は、表10-2「Oracle Database Vaultで使用されるデータベース・アカウント」を参照してください。 また、 |
|
|
|
|