42
1 Copyright © 2010 Insight Technology, Inc. All Rights Reserved. 2010310株式会社インサイトテクノロジー エンジニアリング本部 テクノロジーコンサルティング部 松尾 ☆おら!オラ!Oracle -どっぷり検証生活-(オラクルセミナー出張所) Oracle Database セキュリティ ここが重要!監査ログ運用

☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

  • Upload
    ledat

  • View
    236

  • Download
    4

Embed Size (px)

Citation preview

Page 1: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

1Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

2010年3月10日

株式会社インサイトテクノロジー

エンジニアリング本部

テクノロジーコンサルティング部

松尾 亮

☆おら!オラ!Oracle -どっぷり検証生活-★(オラクルセミナー出張所)

Oracle Database セキュリティここが重要!監査ログ運用

Page 2: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

2Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

アジェンダ

1. 背景

2. Oracleの監査機能(Audit Trail)

3. 監査設定時のパフォーマンス検証

Page 3: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

3Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

企業に課せられる様々な規制の強まり

個人情報保護法、 ISO2700X (情報セキュリティ)

新会社法

金融商品取引法(J-SOX)

PCI DSS(※Payment Card Industry Data Security Standard) 等々

更なる、内部統制の強化が求められている

企業価値の向上、利害関係者への説明責任

Page 4: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

4Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

財務報告と IT 統制の関係(金融商品取引法)

出典:システム管理基準 追補版(財務報告に係るIT統制ガイダンス)

Page 5: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

5Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

(参考) 某監査法人の IT 統制監査項目

プログラムとデータのアクセス– アクセス管理

• ID、アクセス権限、パスワード管理

• 丌要IDの有無確認、丌正アクセスの有無確認

– 特権ユーザ

• OS、DB、MW、Networkの特権IDを限定された要因への付不、丌正利用の監視

• APの特権IDを限定された要因への付不、丌正利用の監視

プログラム開発– 開発規定(システム設計、開発、テスト、承認、導入の文書化)

– ジョブ管理、バックアップおよびリカバリ手続

システム運用– 本番環境の障害対策手段

– 障害および対策の履歴管理、報告手続き

– データの直接修正の手続き

プログラム変更– 変更案件の承認、開発、テストおよび結果の承認

– 本番環境への移行

– 設定変更(OS、DB、MW、AP、H/Wの設定規定)

Page 6: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

6Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

最近起こった顧客情報流出事件 2009年

顧客情報データベース

SQL

顧客情報

名簿業者へ売却

顧客情報

アクセス権限の所有者

①他従業員のIDとパスワードでアクセス

②顧客情報を抜き出し

CDにコピー

問題点

・アクセス権限の運用

・インシデント発見の遅れ

Page 7: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

7Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

データベースセキュリティの主な要素

一般ユーザー

DBサーバー

開発者・管理者(特権ユーザ)

ログ監査アクセスコントロール暗号化ID管理

正当な権限を使用した不正行為

業務権限を超

えた不正操作

通信経路上の

傍受・盗聴

なりすまし

パスワード盗難

想定される脅威

マスターデータ更新/追加/削除

データベース起動/停止

ユーザ作成/削除/権限

通常業務アクセス

Page 8: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

8Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

データベース運用の理想

データベース

利用者

(ユーザー)

セキュリティ管理者ユーザーと権限の管理

ログの管理と分析レポート

開発者

アプリケーション管理

業務ユーザー

職務分掌

データベース

管理者

(DBA)

データベース起動停止

バックアップリカバリ

領域管理

チューニング作業

Page 9: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

9Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

データベース運用の実態

データベース

管理者

(DBA)

DBに関するセキュリティは、DBA

が兼務。職務分掌できない為、

何でもやれてしまう。

特権ユーザを統制できない!

データベース

利用者

(ユーザー)

セキュリティ管理者

職務分掌

ユーザーと権限の管理

ログの管理と分析レポート

開発者

アプリケーション管理

業務ユーザー

Page 10: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

10Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

職務分掌実現の為の課題

データベースに関するセキュリティ担当者は、DBAが兼務する場合が多い。

DBAに不える権限も最小限にするべきだが、障害の対応として、緊急でデータベース再起動、リカバリ等の作業が必要になる為、現実的でない。

↔人員も限られる為、権限、作業の切り分けが難しい

Page 11: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

11Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

特権ユーザー(DBA)を統制する方法

職務分掌の代替案

担当者を分ける

最小作業の実施最小権限の原則

統制に丌備がある、

又は、統制が効かないケースを想定し、

“操作ログ”を取得する

Page 12: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

12Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

1. 背景

2. Oracleの監査機能(Audit Trail)

3. 監査設定時のパフォーマンス検証

Page 13: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

13Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

Oracle監査機能

必頇監査 DBA監査 標準監査 ファイングレイン監査

対象Edition ALL ALL ALL Enterprise Edition

対象Version - 9i ~ 11g 8i ~ 11g 9i ~ 11g

監査対象 ・インスタンス起動/停止

・管理者権限による接続

SYSDBA、SYSOPER権限で接続しているユーザーが発行したSQL文

・ログイン/ログアウト

・DDL文の操作

・SELECT、DML文でのオブジェクト操作

特定データ(列名、条件指定)へのSELECT文。

※10gからはDMLへの設定も可能。

監査出力先 OSファイル(Winではイベントビューア)

・OSファイル(Winではイベントビューア)

・Syslog(10.2~)

・XMLfile(10.2~)

・DBA_AUDIT_TRAIL

・OSファイル(Winではイベントビューア)

・Syslog(10.2~)

・XMLfile(10.2~)

・DBA_FGA_AUDIT_TRAIL

・ユーザー定義表

・メール送信も可

設定方法 デフォルト 初期化パラメータ

audit_sys_operations

を true に設定

初期化パラメータ

audit_trail を none

以外に設定

dbms_fga パッケージを

利用して設定

その他、DMLトリガーやイベントトリガーを使用した監査や、

LogMinerを利用した変更履歴など事後監査として使用可能。

Page 14: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

14Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

必頇監査

1. OS監査(必頇。解除丌可。)– 特権ユーザ(SYSDBA、SYSOPER権限)での接続

– インスタンスの起動・停止

2. リスナーログ– リスナーへの接続ログ

– Oracle*Netのエラーも記録される

– “lsnrctl set log_status off” コマンドにより出力停止可能

デフォルトで取得される必要最低限の監査

Page 15: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

15Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

OS監査の記録例

Thu Feb 11 00:10:19 2010LENGTH : '137'ACTION :[7] 'CONNECT'DATABASE USER:[1] '/'PRIVILEGE :[6] 'SYSDBA'CLIENT USER:[6] 'oracle'CLIENT TERMINAL:[5] 'pts/3'STATUS:[1] '0'

→ タイムスタンプ

→ アクション (一覧は、audit_actions ビュー参照)→ DBユーザ→ 権限 (一覧は、system_privilege_map ビュー参照)→ OSユーザ→ 端末→ 終了コード (エラー終了の場合、ORA-XXX の番号)

初期化パラメータ audit_trail 値 出力先

os、db、db,extended、none UNIX: audit_file_dest 初期化パラメータのパス/ora_<pid>.aud

Windows: イベント・ビューア

xml、xml,extended

※xml 出力は10gR2~

audit_file_dest 初期化パラメータのパス/ora_<pid>.xml

※Windowsの場合、イベント・ビューアにも記録される

監査ファイルの出力先

Page 16: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

16Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

リスナーログの記録例

04-MAR-2010 14:35:31 * (CONNECT_DATA=(SERVICE_NAME=orcl)(SERVER=SHARED)(CID=(PROGRAM=sqlplus)(HOST=insight01)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.200)(PORT=61291)) * establish * orcl * 0

リスナーログの出力先

[デフォルト]~10g : $ORACLE_HOME/network/log/<リスナー名>.log11g~ : $ORACLE_BASE/diag/tnslsnr/<ホスト名>/<リスナー名>

/trace/<リスナー名>.log

※listener.ora の LOG_DIRECTORY_<リスナー名> で出力先を変更可能。

リスナー接続時のタイムスタンプ、接続元のクライアント情報(プログラム名、ホスト名、OSユーザ名)、終了コード等が記録される。

Page 17: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

17Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

必頇監査まとめ

必頇監査で分かることは・・・

「特権ユーザが○時にインスタンスを起動/停止した。」

「特権ユーザが○時に接続した。」

「クライアントの△△△というプログラムから○時にアクセス要求があった」

→ 起動/停止以外で何をしたのか分からない。

必頇監査で取得できる情報では、監査目的には丌十分!

Page 18: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

18Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

DBA監査

特権ユーザ(SYSDBA、SYSOPER権限での接続)で行われた

全ての操作を記録

Thu Mar 4 15:00:51 2010LENGTH : '161'ACTION :[30] 'select count(*) from v$session'DATABASE USER:[1] '/'PRIVILEGE :[6] 'SYSDBA'CLIENT USER:[6] 'oracle'CLIENT TERMINAL:[5] 'pts/1'STATUS:[1] '0'

Thu Mar 4 15:01:03 2010LENGTH : '155'ACTION :[24] 'select sysdate from dual'DATABASE USER:[1] '/'PRIVILEGE :[6] 'SYSDBA'CLIENT USER:[6] 'oracle'CLIENT TERMINAL:[5] 'pts/1'STATUS:[1] '0'

SQL> select count(*) from v$session;

COUNT(*)------------------------------18

SQL> select sysdate from dual;

SYSDATE---------04-MAR-10

→ 他のユーザの記録はできない為、監査目的には丌十分!

Page 19: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

19Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

DBA監査の設定方法

audit_sys_operations パラメータを true に設定する。※インスタンスの再起動が必要

SQL> alter system set audit_sys_perations=true scope=spfile;SQL> shutdown immediateSQL> startup

初期化パラメータ audit_trail 値 出力先

os、db、db,extended、none UNIX: audit_file_dest 初期化パラメータのパス/ora_<pid>.aud

Windows: イベント・ビューア

xml、xml,extended

※xml 出力は10gR2~

audit_file_dest 初期化パラメータのパス/ora_<pid>.xml

※Windowsの場合、イベント・ビューアにも記録される

監査ファイルの出力先(前出の必頇監査と同じ)

Page 20: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

20Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

XML監査ログファイルの参照方法

v$xml_audit_trail ビューを利用して SQL 検索が可能。

SQL> select extended_timestamp,sql_text from v$xml_audit_trail;

EXTENDED_TIMESTAMP SQL_TEXT--------------------------------------- -------------------------04-MAR-10 03.13.16.325969 PM +09:00 CONNECT04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN04-MAR-10 03.13.20.285908 PM +09:00 SELECT SYSDATE FROM DUAL

::

SQL> show parameter audit_file_dest

NAME TYPE VALUE---------------- -------- -----------------------------------audit_file_dest string /opt/app/oracle/admin/orcl/adump

$ pwd/opt/app/oracle/admin/orcl/adump$ ls -lrt-rw-r--r-- 1 oracle oinstall 1660 3月 4 15:13 ora_10669.xml-rw-r--r-- 1 oracle oinstall 3650 3月 4 15:40 ora_10687.xml-rw-r--r-- 1 oracle oinstall 8162 3月 4 16:02 ora_10715.xml

v$xml_audit_trail

物理XMLファイルを検索

Page 21: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

21Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

標準監査

1. 権限監査特定の権限(CREATE TABLE、SELECT ANY TABLE等)での操作を監査する。

→ 設定した権限で何が監査できるか?という把握が煩雑。

例えば、 SELECT ANY TABLE 権限を監査した場合、自分の表に対する

SELECT文は監査されない等の仕様を把握して設定する必要がある。

2. 文監査特定のSQL文(CREATE、TRUNCATE、SELECT等)を利用した操作を監査する。

→ SQL実行単位で取得され、ユーザ単位で取得可否の設定が可能。

しかし、オブジェクトの絞込みはできない。

3. オブジェクト監査特定のオブジェクトに対する操作(SCOTT.EMP表に対するSELECT等)を監査する。

→ オブジェクト単位、且つ、SQL文単位で取得できる。

しかし、ユーザ単位での絞り込みができない。

Page 22: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

22Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

標準監査の設定方法①

Step1. audit_trail パラメータを none 以外に設定する。※インスタンスの再起動が必要

SQL> alter system set audit_trail=db,extended scope=spfile;SQL> shutdown immediateSQL> startup

※extended (10g~) を指定すると、SQL文の取得が可能になる。

初期化パラメータ audit_trail 値 出力先

os UNIX: audit_file_dest 初期化パラメータのパス/ora_<pid>.aud

Windows: イベント・ビューア

xml、xml,extended

※xml 出力は10gR2~

audit_file_dest 初期化パラメータのパス/ora_<pid>.xml

※Windowsの場合、イベント・ビューアにも記録される

db、db,extended sys.aud$ 表 (dba_aydit_trail ビューで参照可) に記録される。

監査ファイルの出力先

Page 23: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

23Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

標準監査の設定方法②

Step2. audit 文を実行する。

SQL> audit select by scott by session;

SQL> audit select on scott.emp by access;

例2. 特定のオブジェクトに対する操作を監査

「scott.emp 表に対する select 文 を監査したい・・・」 ↔ オブジェクト監査

例1. 特定のユーザによる操作を監査

「scott が実行した select 文 を監査したい・・・」 ↔ 文監査

SQL> audit session;

例3. ログイン/ログアウトに関する監査

「全てのユーザのログイン/ログアウト情報を監査したい・・・」

SQL> audit session whenever not successful;

「ログイン失敗時(丌正アクセスの試行)のみ監査したい・・・」

Page 24: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

24Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

by access と by session

SQL> audit select on scott.emp by session;SQL> conn scott/tigerSQL> select count(*) from emp;SQL> select * from emp where empno = 1000;SQL> select * from emp where empno = 9999;SQL> select timestamp,sql_text from dba_audit_trail;

TIMESTAMP SQL_TEXT------------------- ------------------------------------------------------------2010/03/04 21:46:37 select count(*) from emp

SQL> audit select on scott.emp by access;SQL> conn scott/tigerSQL> select count(*) from emp;SQL> select * from emp where empno = 1000;SQL> select * from emp where empno = 9999;SQL> select timestamp,sql_text from dba_audit_trail;

TIMESTAMP SQL_TEXT------------------- ------------------------------------------------------------2010/03/04 21:45:42 select count(*) from emp2010/03/04 21:45:54 select * from emp where empno = 10002010/03/04 21:46:00 select * from emp where empno = 9999

セッション確立後、対象表への

初回アクセスのみ記録される。

対象表に対する全てのアクセスが

記録される。

情報丌足

Page 25: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

25Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

dba_audit_trail ビューで参照可能な情報(一部)

OS_USERNAME 操作が監査対象となったユーザーのオペレーティング・システムでのログイン・ユーザー名

USERNAME 操作が監査対象となったユーザーの名前(ID番号ではない)USERHOST クライアントのホスト・マシンの名前TERMINAL ユーザーの端末の識別子TIMESTAMP ローカル・データベースのセッション・タイム・ゾーンでの監査証跡エントリの

作成日時(AUDIT SESSIONで作成されたエントリに対するユーザー・ログインの日時)OWNER 操作の影響を受けたオブジェクトの作成者OBJ_NAME 操作の影響を受けたオブジェクトの名前ACTION 操作の数値による型コード。対応する操作タイプ名はACTION_NAME列に含まれる。ACTION_NAME ACTION列の数値コードに対応する操作タイプの名前NEW_OWNER NEW_NAME列に指定されたオブジェクトの所有者NEW_NAME RENAME後のオブジェクトの新規名、または基礎となっているオブジェクトの名前OBJ_PRIVILEGE GRANT文またはREVOKE文によって付与または取り消されたオブジェクト権限SYS_PRIVILEGE GRANT文またはREVOKE文によって付与または取り消されたシステム権限ADMIN_OPTION ロールまたはシステム権限がADMIN OPTION付きで付与されたかどうかGRANTEE GRANT文またはREVOKE文で指定された権限受領者の名前AUDIT_OPTION AUDIT文で設定された監査オプション:::

他、マニュアルを参照(以下は、11gR2)http://download.oracle.com/docs/cd/E16338_01/server.112/b56311/statviews_3080.htm#i1619732

program 列がない・・・原因特定が困難なケースがある。

Page 26: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

26Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

ファイングレイン監査(FGA)

9i 以降で利用可能な FGA では、標準監査よりもきめ細かな

監査設定(列、条件の指定)が可能。

但し、Enterprise Edition でないと利用丌可。

Page 27: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

27Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

監査ログのメンテナンス(OS、XML)

初期化パラメータ audit_file_dest に作成された監査ファイルのメンテナンスを行う必要がある。(ファイルの移動、削除、圧縮等)

インスタンス稼動中(サーバプロセスの起動中)にファイルの移動、削除等を行った場合、それ以降の監査ログが出力されない、v$xml_audit_trail ビューから参照できない等の問題が発生する場合があるので注意!

(参考) KROWN#131082 「XML 監査ファイルのメンテナンスについて」

s001_17251.xml

ora_16150.xml専用サーバ

共有サーバs001

PID=16150

PID=17251監査ログ

記録

$ rm s001_17251.xml$ mv ora_16150.xml /tmp/.

プロセス起動中の実施NG

プロセス起動中は同じファイルに記録し続ける

Page 28: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

28Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

監査ログのメンテナンス(DB)

sys.aud$ 表に蓄積されたデータのメンテナンスを行う必要がある。(別表へのコピー後にdelete、export後にdelete等)

例) dba_audit_trail と同一構成の別表を作成しておき、insert 後に delete。

SQL> create table aud_arch tablespace users as select * from dba_audit_trail;SQL> insert /*+ append */ into aud_arch select * from dba_audit_trail

2 where timestamp < to_date('20100301','yyyymmdd');SQL> commit;SQL> delete from sys.aud$ where ntimestamp# < to_timestamp_tz('20100301','YYYYMMDD');SQL> commit;

system表領域 users表領域

sys.aud$aud_arch

view

dba_audit_trail insert

delete

※11gR2 から DBMS_AUDIT_MGMT パッケージを利用したメンテナンス機能(sys.aud$ 表の表領域移動、監査ログ削除ジョブ等)が提供されている。

(参考) KROWN#140400 「DBMS_AUDIT_MGMT を使用した監査証跡のメンテナンス 」

Page 29: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

29Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

標準監査まとめ

標準監査では、SQL文レベルでの監査が可能(10g~)であり、

監査に必要な情報は概ね取得できるが、監査取得対象の絞り

込みが難しい。

→ 膨大な監査ログが生成され、ログ生成の負荷が高くなる。

監査対象を極力絞り込む為、早めの設計段階から検討が必要。

- アプリケーション実行ユーザのパスワードを強固にし、文監査でその他のユーザを

監査する。適切なスキーマ設計を行う。

(大量にSQLが実行されるアプリケーション実行ユーザの監査抑止)

- 監査対象を特定のオブジェクトに限定できるよう論理設計する。

etc…

また、監査ログは蓄積し参照することができるが、監視や分析、

レポーティング等の機能はない。

Page 30: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

30Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

1. 背景

2. Oracleの監査機能(Audit Trail)

3. 監査設定時のパフォーマンス検証

Page 31: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

31Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

検証条件

・ Oracle 10gR2 on RHEL5.4・ audit_trail = db,extended・ 10 テーブル (aud_test1 ~ aud_test10) に対する select 文を繰り返し実行。(以下の PL/SQL を200セッションから実行)

declarev_data varchar2(10);v_col2 varchar2(10);

beginfor cnt in 1..500loopv_data := round(dbms_random.value(1,1000000),0);select col2 into v_col2 from aud_test1 where col1 = v_data;select col2 into v_col2 from aud_test2 where col1 = v_data;

::

select col2 into v_col2 from aud_test10 where col1 = v_data;if (mod(cnt,5) = 0) then

dbms_lock.sleep(1);end if;

end loop;end;/

・ 1テーブルずつ audit 設定を追加し、それぞれ測定。

SQL> audit select on aud_test1 by access;

Page 32: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

32Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

検証結果(CPU利用率)①

0102030405060708090100

10:05:00

10:05:10

10:05:20

10:05:30

10:05:40

10:05:50

10:06:00

10:06:10

10:06:20

10:06:30

10:06:40

10:06:50

10:07:00

10:07:10

10:07:20

10:07:30

10:07:40

10:07:50

10:08:00

10:08:10

10:08:20

us

wa

sy

0102030405060708090100

10:10:00

10:10:10

10:10:20

10:10:30

10:10:40

10:10:50

10:11:00

10:11:10

10:11:20

10:11:30

10:11:40

10:11:50

10:12:00

10:12:10

10:12:20

10:12:30

10:12:40

10:12:50

10:13:00

10:13:10

10:13:20

us

wa

sy

0102030405060708090100

10:00:05

10:00:15

10:00:25

10:00:35

10:00:45

10:00:55

10:01:05

10:01:15

10:01:25

10:01:35

10:01:45

10:01:55

10:02:05

10:02:15

10:02:25

10:02:35

10:02:45

10:02:55

10:03:05

10:03:15

10:03:25

us

wa

sy

0102030405060708090100

10:15:00

10:15:10

10:15:20

10:15:30

10:15:40

10:15:50

10:16:00

10:16:10

10:16:20

10:16:30

10:16:40

10:16:50

10:17:00

10:17:10

10:17:20

10:17:30

10:17:40

10:17:50

10:18:00

10:18:10

10:18:20

us

wa

sy

0102030405060708090100

10:20:00

10:20:10

10:20:20

10:20:30

10:20:40

10:20:50

10:21:00

10:21:10

10:21:20

10:21:30

10:21:40

10:21:50

10:22:00

10:22:10

10:22:20

10:22:30

10:22:40

10:22:50

10:23:00

10:23:10

10:23:20

us

wa

sy

0102030405060708090100

10:25:00

10:25:10

10:25:20

10:25:30

10:25:40

10:25:50

10:26:00

10:26:10

10:26:20

10:26:30

10:26:40

10:26:50

10:27:00

10:27:10

10:27:20

10:27:30

10:27:40

10:27:50

10:28:00

10:28:10

10:28:20

us

wa

sy

NoAudit

Audit Tab=1/10

Audit Tab=2/10

Audit Tab=4/10

Audit Tab=5/10

Audit Tab=3/10

Page 33: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

33Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

0102030405060708090100

10:30:00

10:30:10

10:30:20

10:30:30

10:30:40

10:30:50

10:31:00

10:31:10

10:31:20

10:31:30

10:31:40

10:31:50

10:32:00

10:32:10

10:32:20

10:32:30

10:32:40

10:32:50

10:33:00

10:33:10

10:33:20

us

wa

sy

0102030405060708090100

10:35:00

10:35:10

10:35:20

10:35:30

10:35:40

10:35:50

10:36:00

10:36:10

10:36:20

10:36:30

10:36:40

10:36:50

10:37:00

10:37:10

10:37:20

10:37:30

10:37:40

10:37:50

10:38:00

10:38:10

10:38:20

us

wa

sy

0102030405060708090100

10:40:00

10:40:10

10:40:20

10:40:30

10:40:40

10:40:50

10:41:00

10:41:10

10:41:20

10:41:30

10:41:40

10:41:50

10:42:00

10:42:10

10:42:20

10:42:30

10:42:40

10:42:50

10:43:00

10:43:10

10:43:20

us

wa

sy

0102030405060708090100

10:45:00

10:45:10

10:45:20

10:45:30

10:45:40

10:45:50

10:46:00

10:46:10

10:46:20

10:46:30

10:46:40

10:46:50

10:47:00

10:47:10

10:47:20

10:47:30

10:47:40

10:47:50

10:48:00

10:48:10

10:48:20

us

wa

sy

0102030405060708090100

10:50:00

10:50:10

10:50:20

10:50:30

10:50:40

10:50:50

10:51:00

10:51:10

10:51:20

10:51:30

10:51:40

10:51:50

10:52:00

10:52:10

10:52:20

10:52:30

10:52:40

10:52:50

10:53:00

10:53:10

10:53:20

us

wa

sy

検証結果(CPU利用率)②

Audit Tab=7/10

Audit Tab=8/10

Audit Tab=10/10

Audit Tab=9/10Audit Tab=6/10

監査対象の増加に比例してCPU利用率が増加!

Page 34: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

34Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

0102030405060708090100

10:50:00

10:50:10

10:50:20

10:50:30

10:50:40

10:50:50

10:51:00

10:51:10

10:51:20

10:51:30

10:51:40

10:51:50

10:52:00

10:52:10

10:52:20

10:52:30

10:52:40

10:52:50

10:53:00

10:53:10

10:53:20

us

wa

sy

0102030405060708090100

11:00:00

11:00:10

11:00:20

11:00:30

11:00:40

11:00:50

11:01:00

11:01:10

11:01:20

11:01:30

11:01:40

11:01:50

11:02:00

11:02:10

11:02:20

11:02:30

11:02:40

11:02:50

11:03:00

11:03:10

11:03:20

us

wa

sy

検証結果(XMLの場合)

Audit Tab=10/10

Audit Tab=10/10(xml,extended)

0102030405060708090100

10:00:05

10:00:15

10:00:25

10:00:35

10:00:45

10:00:55

10:01:05

10:01:15

10:01:25

10:01:35

10:01:45

10:01:55

10:02:05

10:02:15

10:02:25

10:02:35

10:02:45

10:02:55

10:03:05

10:03:15

10:03:25

us

wa

sy

NoAudit

SQL> set timing onSQL> select count(*) from V$XML_AUDIT_TRAIL;

COUNT(*)----------

1050000

Elapsed: 00:01:22.85

SQL> select count(*) from dba_audit_trail;

COUNT(*)----------

1050000

Elapsed: 00:00:02.99

XMLの方がDBより圧倒的に低負荷!

v$xml_audit_trail の検索は高負荷・・・

Page 35: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

35Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

XML監査ログファイルでの運用案

検証DB本番DB

SQL> select *from v$xml_audit_trail;

本番 DB の XML 監査ログファイルと adx_<SID>.txt を転送し、監査ログの参照、分析等を別環境(検証DB等)で行う。

※ディレクトリ構成、インスタンス名が異なる場合、adx_<SID>.txt の編集が必要。

adx_<SID>.txt の中身(例)

/oracle/admin/orcl/adumps001_17251.xml/oracle/admin/orcl/adumpora_16150.xml

・・・・・・・・・・・・・・・・・・・・

adx_<SID>.txt

XML監査ログ

audit

・・・・・・・・・・・・・・・・・・・・

adx_<SID>.txt

XML監査ログ

マッチング

Page 36: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

36Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

監査対象が多くなるにつれ、監査ログ生成の負荷が高くなる。

特に同時に多数の SQL が実行される OLTP 系システムでは、

監査対象を絞り込まないとパフォーマンス遅延に繋がる可能性

が考えられる。

監査ログを XML ファイルに取得することで、リソース消費が抑え

られるが、プロセス起動中に監査ログの移動、削除が行えない等

の制限がある。

パフォーマンス検証まとめ

Page 37: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

37Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

Oracle の監査機能で “できること”、“できないこと” (version に

よっても異なる) を把握し、監査対象を極力絞り込めるよう、早い

設計段階から検討しましょう!

システムパフォーマンスへの影響を考慮して、十分な性能テストを

実施しましょう!

システム監査ログのメンテナンス運用、活用方法を十分に考慮し

ましょう!

監査ログの監視、分析、レポーティング等の機能はない為、仕組み

を構築する必要があります。

最後に・・・

Page 38: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

38Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

インサイトテクノロジーのご紹介

• 設立:1995年7月7日

• 資本金:1億円(2009年4月)

• http://www.insight-tec.com

• 役員

– 代表取締役 石井 洋一

– 取締役 石川 雅也

– 取締役 下山 勝義

– 取締役 岡崎 太輔

• 所在地

– 本社:東京都渋谷区恵比寿1-19-19

ビジネスタワー 5F

TEL 03-5745-1450

• 事業内容

– 製品開発 / 販売

– データベースコンサルティング

– SCMコンサルティング

Copyright © 2009 Insight Technology, Inc. All Rights Reserved.

Page 39: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

39Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

製品のご紹介

データベース監査ツール

• データベースログ管理に必要なすべてを提供

するツール

• 300社、1,800ライセンスを超える販売実績

でJ-SOXおよび情報漏洩対策ツールのシェ

アNo.1

• 大規模顧客、大規模システムへの導入に強

• 対応データベース

Oracle Database EE/SE

Microsoft SQL Server(2000_32bit.2005_32bit)

Fujitsu Symfoware Server

パフォーマンス管理ツール

• パフォーマンス管理、パフォーマンスチューニ

ングを実現するツール

• 実績

1995年の販売以来、1,000社、8,000ライ

センスを超える販売実績。オラクルデータ

ベースの6本に1本の割合で導入されるパ

フォーマンスツールのデファクトスタンダード

• 対応データベース

Oracle Database EE/SE/SE1

※オラクルデータベースの6本に1本という数字は、特定パートナー様からの報告内容より引用しております。

Copyright © 2009 Insight Technology, Inc. All Rights Reserved.

Page 40: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

40Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

データベース監査コンサルティングサービス

Copyright © 2009 Insight Technology, Inc. All Rights Reserved.

・特権ユーザによる操作の監視を監査人から指摘されている。

・共有ユーザの使用を監査人から指摘されている。

・データベースへのアクセス状況を把握できていない。

・Oracle監査機能を実装しているが、監査ログの活用方法が分からない。

・ソフトウェア資産を増やさずに、データベースを監査したい。

≫現状のデータベースへのアクセス状況から、Oracleユーザ、権限の見直し≫Oracle標準の監査機能の実装支援≫記録した監査ログの活用方法として、レポートの設計支援≫記録した監査ログのメンテナンスとしてサンプルSQLを提供≫アウトプットイメージ

・Oracle標準の監査機能の実装手順書・Oracleユーザの設計書・監査ログメンテナンス処理の設計書・監査ログを活用するレポート設計書

インサイトテクノロジーが、データベースセキュリティ、データベース監査の現場で蓄積したナレッジを生かし、Oracle標準の監査機能を使用したデータベース監査運用をご支援するサービスです。

コンプライアンスの課題は・・・

・監査要件の予算確保が難しい。

サービス内容 Oracle標準の監査機能を使用したアクセスログ取得、運用の仕組みを構築支援

Page 41: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

41Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

おら!オラ!Oracle どっぷり検証生活

Oracleを徹底検証した結果を、隔週水曜日に配信しています。

Copyright © 2009 Insight Technology, Inc. All Rights Reserved.

[本日のセミナーネタの関連メルマガ]

<Audit Trail についての検証 >http://www.insight-tec.com/mailmagazine/ora3/vol163.html

<RAC に Audit を実装する>http://www.insight-tec.com/mailmagazine/ora3/vol313.html

ご登録はこちらから(無料!)http://www.insight-tec.com/mailmagazine/mailmagazine_index.html

Page 42: ☆おら!オラ!Oracle -どっぷり検証生活 (オラクル … 03.13.16.325969 PM +09:00 CONNECT 04-MAR-10 03.13.19.224400 PM +09:00 ALTER DATABASE OPEN 04-MAR-10 03.13.20.285908

42Copyright © 2010 Insight Technology, Inc. All Rights Reserved.

無断転載を禁ず

この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連したいかなる損害についても責任を負いかねます。本書で使用している製品やサービス名の名称は、各社の商標または登録商標です。

Copyright © 2009 Insight Technology, Inc. All Rights Reserved.