臨床試験のモニタリングと監査に関する ガイドライン Ⅲ.監査編 · 臨床試験のモニタリングと監査に関する. ガイドライン. Ⅲ.監査編.
Oracle データベースの監査機能 - データベースに特化 … SCOTT.EMP表のEMPNO=7900...
Transcript of Oracle データベースの監査機能 - データベースに特化 … SCOTT.EMP表のEMPNO=7900...
copyright© Aqua Systems, Inc. 2004
Oracle データベースの監査機能
株式会社アクアシステムズアプリケーション統括部
PAU001J-00-00SE
株式会社アクアシステムズアプリケーション統括部
copyright© Aqua Systems, Inc. 2004
株式会社アクアシステムズ
Oracleデータベースを専門とする技術者集団
Oracleデータベースチューニング&監視ツール
「Performance Analyzer」の開発/販売
Oracleデータベース診断及びパフォーマンスチューニング
Oracleデータベースに関するコンサルティング
Oracleデータベース運用管理
Oracleデータベースを使用した業務アプリケーションの開発
copyright© Aqua Systems, Inc. 2004
Agenda
データベースの監査
システムエグゼとアクアシステムズの取り組み
copyright© Aqua Systems, Inc. 2004
データベースの監査
copyright© Aqua Systems, Inc. 2004
Oracleデータベースの監査
標準監査(AUDIT)ファイングレイン監査(FGA)
DBA監査
トリガー
LogMiner
copyright© Aqua Systems, Inc. 2004
標準監査(1)
3種類の監査
文監査特定のDDL文(データベース構造の変更)による操作を監査証跡に残す
ex.) テーブルの作成・変更をするDDL文を監査権限監査特定の権限による操作やログインを監査証跡に残すex.) CREATE ANY TRIGER権限が必要な処理を監査オブジェクト監査特定のオブジェクトへの操作を監査証跡に残すex.) SCOTT.EMPテーブルに対するSELECT文を監査
監査証跡の出力先
ファイル(UNIX)
(AUDIT_FILE_DESTパラメータで指定したディレクトリ
デフォルト : $ORACLE_HOME/rdbms/audit)イベントビューア(Windows)テーブル(SYS.AUD$表、DBA_AUDIT_%ビューを参照)
copyright© Aqua Systems, Inc. 2004
標準監査(2)
監査できる情報の一例
OSユーザー名
DBユーザー名
クライアントマシン名
日時操作対象のオブジェクト操作の種類操作の成否
SQL文(10g only)
実行時のSCN(10g only)
など
copyright© Aqua Systems, Inc. 2004
標準監査の設定方法(1)
1. AUDIT_TRAILパラメータを設定
DB or TRUE : 監査証跡をSYS.AUD$に記録
DB_EXTENDED (10g only)
: DB or TUREに加えてSQL文、SCNもSYS.AUD$に記録
OS : 監査証跡をファイル(UNIX)またはイベントビューア(Windows)に記録(SQL文・SCNは記録されない)
NONE or FALSE : 無効
2. AUDIT_FILE_DESTパラメータを設定
UNIXでAUDIT_TRAIL=OSの場合のみ必要
3. データベースを再起動
先に変更したパラメータを有効にするため
copyright© Aqua Systems, Inc. 2004
標準監査の設定方法(2)
4. 監査対象処理を設定
AUDIT文を利用
文監査を設定するためにはAUDIT SYSTEM権限が必要
オブジェクト監査を設定するためには、監査対象のオブジェクトが自分のスキーマにあるか、AUDIT ANY権限が必要
監査対象のオブジェクトがDIRECTORYオブジェクトの場合、自分のスキーマにあってもAUDIT ANY権限が必要
解除にはNOAUDIT文を使用
5. 監査結果の参照
監査証跡がDBであれば、SYS.AUD$もしくは、それへのVIEWであるDBA_AUDIT_EXISTS、DBA_AUDIT_OBJECT、DBA_AUDIT_SESSION、DBA_AUDIT_STATEMENT、DBA_AUDIT_TRAILを参照
監査証跡がOSであれば、AUDIT_FILE_DESTのaudit_{セッションID}.audというファイル(UNIX)またはイベントビューア(Windows)に出力される
copyright© Aqua Systems, Inc. 2004
標準監査の例(1)
テーブルの作成・変更・削除を監査(文監査)
設定AUDIT TABLE BY ACCESS;
監査対象処理の実行CREATE TABLE tbl01 (col01 numeric);
監査結果の参照
SQL> SELECT os_username, username, terminal, timestamp, owner, obj_name, 2 action_name, returncode 3 FROM dba_audit_trail;
OS_USERNAME USERNAME TERMINAL TIMESTAMP OWNER OBJ_NAME ACTION_NAME RETURNCODE----------- -------- -------- ----------------- ----- -------- ------------ ----------AQUA\asami SCOTT AQUA 04-10-22 12:00:34 SCOTT TBL01 CREATE TABLE 0
copyright© Aqua Systems, Inc. 2004
標準監査の例(2)
データベースへの接続を監査(権限監査)
設定AUDIT CONNECT;
監査対象処理の実行CONNECT scott/tiger
監査結果の参照
SQL> SELECT os_username, username, terminal, timestamp, action_name, logoff_time, 2 sessionid, returncode 3 FROM dba_audit_session;
OS_USERNAME USERNAME TERMINAL TIMESTAMP ACTION_NAME LOGOFF_TIME RETURNCODE----------- -------- -------- ----------------- ----------- ----------- ----------AQUA\asami SCOTT AQUA 04-10-22 12:01:02 LOGON 0
copyright© Aqua Systems, Inc. 2004
標準監査の例(3)
データベースへの接続を監査(オブジェクト監査)
設定AUDIT select,insert,update,delete ON emp BY ACCESS;
監査対象処理の実行SELECT * FROM emp;
UPDATE emp SET job = 'SALESMAN' WHERE empno = 7900;
監査結果の参照
SQL> SELECT os_username, username, terminal, timestamp, action_name, ses_actions, 2 sessionid, returncode 3 FROM dba_audit_object;
OS_USERNAME USERNAME TERMINAL TIMESTAMP ACTION_NAME SES_ACTIONS RETURNCODE----------- -------- -------- ----------------- ----------- ----------- ----------AQUA\asami SCOTT AQUA 04-10-22 12:11:04 SELECT 0AQUA\asami SCOTT AQUA 04-10-22 12:11:21 UPDATE 0
copyright© Aqua Systems, Inc. 2004
ファイングレイン監査(1)
オブジェクト監査の拡張で、特定の行または特定の列へのアクセスを監査証跡に残す
ex.) SCOTT.EMP表のEMPNO=7900の行のENAME列にアクセスする操作を監査証跡に残す
9iではSELECT文のみ監査可能
10gではSELECT文およびDML文を監査可能
Enterprise Editionが必要
コストベースオプティマイザで動作していること監査証跡の出力先
テーブル(SYS.FGA_LOG$表、DBA_FGA_AUDIT_TRAILビューを参照)
copyright© Aqua Systems, Inc. 2004
ファイングレイン監査(2)
監査できる情報の一例
日時データベースユーザー名
OSユーザー名
クライアントマシン名操作対象の表またはビュー
SQL文実行時のSCN
など
copyright© Aqua Systems, Inc. 2004
ファイングレイン監査の設定方法
1. ポリシーを作成
DBMS_FGA.ADD_POLICYプロシージャで監査対象となるオブジェクト、行、列を指定する
DBMS_FGAパッケージの実行権限が必要
解除には、DBMS_FGA.DROP_POLICYプロシージャを使用
2. 監査結果の参照
SYS.FGA_LOG$もしくは、それへのVIEWであるDBA_FGA_AUDIT_TRAILを参照
copyright© Aqua Systems, Inc. 2004
ファイングレイン監査の例
SCOTT.EMP表のEMPNO=7900の行のENAME列へのアクセスを監査
設定
execute dbms_fga.add_policy(object_schema => 'scott',object_name => 'emp',policy_name => 'emp01',audit_condition => 'empno=7900',audit_column => 'ename');
監査対象処理の実行SELECT empno, ename, deptno FROM emp where empno > 7800;
監査結果の参照SELECT timestamp, db_user, os_user, userhost, object_schema, object_name,
policy_name, sql_text, client_idFROM dba_fga_audit_trail;
TIMESTAMP DB_USER OS_USER USERHOST OBJECT_SCHEMA OBJECT_NAME POLICY_NAME SQL_TEXT CLIENT_ID----------------- ------- ---------- ------------ ------------- ------------ ----------- ------------------------------------ ---------04-10-22 12:03:13 SCOTT AQUA\asami AQUAWG\AQUA SCOTT EMP EMP01 select * from emp where empno > 7800
copyright© Aqua Systems, Inc. 2004
DBA監査
データベース管理者の操作を監査証跡に残す
SYSDBA, SYSOPER権限での処理を監査監査証跡の出力先
ファイル(UNIX)
(AUDIT_FILE_DESTパラメータで指定したディレクトリ
デフォルト : $ORACLE_HOME/rdbms/audit)イベントビューア(Windows)
監査できる情報日時SQL文DBユーザー名権限名OSユーザー名端末名操作の成否
copyright© Aqua Systems, Inc. 2004
DBA監査の設定方法
1. AUDIT_SYS_OPERATIONSパラメータを設定
TRUE : 有効
FALSE : 無効
2. AUDIT_FILE_DESTパラメータを設定
UNIXの場合のみ必要
3. データベースを再起動
先に変更したパラメータを有効にするため4. 監査結果の参照
AUDIT_FILE_DESTのaudit_{セッションID}.audというファイル(UNIX)またはイベントビューア(Windows)に出力される
DB起動時の情報はAUDIT_FILE_DESTの設定に関わらず
$ORACLE_HOME/rdbms/auditに出力される
有効になっていなくても、CONNECTは監査される
copyright© Aqua Systems, Inc. 2004
DBA監査の例
sysユーザーのログイン
$ORACLE_HOME/rdbms/audit/ora_19663.audAudit file /opt/oracle/product/9.2.0/rdbms/audit/ora_19663.audOracle9i Enterprise Edition Release 9.2.0.4.0 - ProductionWith the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.4.0 - ProductionORACLE_HOME = /opt/oracle/product/9.2.0System name: LinuxNode name: dbsvRelease: 2.4.9-e.25.52mlVersion: #1 Thu Feb 19 14:45:48 JST 2004Machine: i686Instance name: orclRedo thread mounted by this instance: 1Oracle process number: 13Unix process pid: 19663, image: oracle@rac (TNS V1-V3)
Fri Oct 22 12:39:17 2004ACTION : 'CONNECT'DATABASE USER: 'sys'PRIVILEGE : SYSDBACLIENT USER: SYSTEMCLIENT TERMINAL: AQUA021STATUS: 0
copyright© Aqua Systems, Inc. 2004
システムエグゼとアクアシステムズの取り組み
copyright© Aqua Systems, Inc. 2004
Oracle DB監査ソフト・サービスの提供
Oracle DB監査ソフトウェアの提供(アクアシステムズ、2004/12予定)
監査コンサルティングサービスの提供(システムエグゼ)
上述の監査ソフトウェアを利用したデータベース監査の導入・設定コンサルティング、問題発生時の追跡・報告書作成サービス
copyright© Aqua Systems, Inc. 2004
株式会社システムエグゼ 営業部
担当 : 高橋、青木
TEL : 03-5542-5592FAX : 03-5542-5594
お問い合わせ先