oracle how-to-audit-backup

72
その監査ログきちんと扱えてますか? 統合監査で始める監査ログの 活用秘伝技大公開! @mogmet 2016/09/12 JPOUG in 15 minutes #1

Upload: daiki-mogmet-ito

Post on 07-Jan-2017

398 views

Category:

Engineering


8 download

TRANSCRIPT

Page 1: Oracle how-to-audit-backup

その監査ログきちんと扱えてますか? 統合監査で始める監査ログの

活用秘伝技大公開!@mogmet

2016/09/12 JPOUG in 15 minutes #1

Page 2: Oracle how-to-audit-backup

About me• twitter: @mogmet

• 好物:iOS, php, MySQL, Oracle

• 仕事:インフラエンジニア→iOSエンジニア→フリーランスなDBA

• ブログとか: http://mogmet.com/

• 作ったアプリたち↓

ワンナイト人狼 for iPhone STARBUCKSHOLIC

最近12c Platinum移行試験受けてきました

Page 3: Oracle how-to-audit-backup

Oracleの監査方法について

Page 4: Oracle how-to-audit-backup

今までのOracleでの監査

Page 5: Oracle how-to-audit-backup

今までのOracleでの監査

必須監査

特権ユーザ監査

audit_file_dest

Page 6: Oracle how-to-audit-backup

今までのOracleでの監査

標準監査

audit_file_dest

SYS.AUD$

Page 7: Oracle how-to-audit-backup

今までのOracleでの監査

FGA監査 SYS.FGA_LOG$

Page 8: Oracle how-to-audit-backup

今までのOracleでの監査

Oracle Database Vault監査

DVSYS. AUDIT_TRAIL$

Page 9: Oracle how-to-audit-backup

いろんなところに設定とか 格納場所がちらばりすぎている!!

Page 10: Oracle how-to-audit-backup

12cからのOracleでの監査

Page 11: Oracle how-to-audit-backup

12cからのOracleでの監査

必須監査 特権ユーザ監査

標準監査 FGA監査

Oracle Database Vault監査

Page 12: Oracle how-to-audit-backup

12cからのOracleでの監査

DataPump操作監査 RMAN操作監査

Oracle Label Seurity操作監査 Real Application Security操作監査

etc…

Page 13: Oracle how-to-audit-backup

12cからのOracleでの監査

全て1つにまとめました!

Page 14: Oracle how-to-audit-backup

12cからのOracleでの監査

SYS.UNIFIED_AUDIT_TRAILに!!!!

Page 15: Oracle how-to-audit-backup

12cからのOracleでの監査

そう、統合監査ならね

Page 16: Oracle how-to-audit-backup

How to backup

Page 17: Oracle how-to-audit-backup

How to backup

audit_file_destファイルをそのまま

バックアップ

Page 18: Oracle how-to-audit-backup

How to backupRMANを用いて

DBもしくは表領域単位でバックアップ

DVSYS. AUDIT_TRAIL$

SYS.FGA_LOG$

SYS.AUD$

RMAN

SYS. UNIFIED_AUDIT_TRAIL

Page 19: Oracle how-to-audit-backup

How to backup

expdpで論理的に バックアップ

expdpDVSYS.

AUDIT_TRAIL$

SYS.FGA_LOG$

SYS.AUD$

SYS. UNIFIED_AUDIT_TRAIL

Page 20: Oracle how-to-audit-backup

ではhow to read?

Page 21: Oracle how-to-audit-backup

How to read

audit_file_dest そのまま 見る!

Page 22: Oracle how-to-audit-backup

How to readRMANを用いて

DBもしくは表領域単位でリストア

DVSYS. AUDIT_TRAIL$

SYS.FGA_LOG$

SYS.AUD$

RMAN

SYS. UNIFIED_AUDIT_TRAIL

Page 23: Oracle how-to-audit-backup

How to read

impdpで論理的に 戻す

impdpDVSYS. AUDIT_TRAIL$

FGA_LOG$

AUD$

UNIFIED_AUDIT_TRAIL

Page 24: Oracle how-to-audit-backup

監査ログを見る シチュエーション

Page 25: Oracle how-to-audit-backup

cf:http://oldhatcreative.com/sites/default/files/styles/blog-full-preview/public/blog-featured-images/A_long_time_ago.png?itok=GC0cDPZt

Page 26: Oracle how-to-audit-backup

cf: http://amaraawathi.com/files/article_images/746.jpg

Page 27: Oracle how-to-audit-backup

cf: http://amaraawathi.com/files/article_images/746.jpg

弊社システムは統合監査を使って 監査を行い、毎日監査ログを

バックアップ後パージしている。 そのため、過去一年の監査ログを バックアップから復元して調査

したいな♡

超宇宙的意訳

Page 28: Oracle how-to-audit-backup

cf: http://amaraawathi.com/files/article_images/746.jpg

あ、でも、監査ログは本番環境 使ってみてね★

超宇宙的意訳

Page 29: Oracle how-to-audit-backup

RMANを用いた場合

Page 30: Oracle how-to-audit-backup

RMANを用いた場合

昔の物理バックアップから戻すって表領域のPITRでするしかない!?

Page 31: Oracle how-to-audit-backup

RMANを用いた場合

そもそも本番環境で そんなリスキーなことしたくない

Page 32: Oracle how-to-audit-backup

結論:RMANで戻すRE

JECTED

Page 33: Oracle how-to-audit-backup

そういえば12cの新機能で

Page 34: Oracle how-to-audit-backup

http://docs.oracle.com/cd/E57425_01/121/BRADV/release_changes.htm#GUID-942161A2-

E33E-4AE2-8122-F90DAB15FA58

バックアップの新機能

Page 35: Oracle how-to-audit-backup

RMANバックアップからの 表および表パーティションのリカバリ

Page 36: Oracle how-to-audit-backup

これなら物理バックアップ でもいけるのでは!?

RMANバックアップからの 表および表パーティションのリカバリ

Page 37: Oracle how-to-audit-backup

仕組み

RMANバックアップからの 表および表パーティションのリカバリ

Page 38: Oracle how-to-audit-backup

補助インスタンス 本番インスタンス

RMANバックアップ

リストア

expdp x impdpでインポート

Page 39: Oracle how-to-audit-backup

補助インスタンス使うのは なんか負荷高くなりそうで怖くない?

RMANバックアップからの 表および表パーティションのリカバリ

Page 40: Oracle how-to-audit-backup

やっぱリスキー!

RMANバックアップからの 表および表パーティションのリカバリ

Page 41: Oracle how-to-audit-backup

結論:RMANバックアップからの 表および表パーティションのリカバリ

REJEC

TED

Page 42: Oracle how-to-audit-backup

物理バックアップから戻すRE

JECTED

そもそも期間データを 取り出すのに向いていない

Page 43: Oracle how-to-audit-backup

impdpを用いた場合

Page 44: Oracle how-to-audit-backup

impdpを用いた場合

1年分のダンプのファイル数 すごくない?!

Page 45: Oracle how-to-audit-backup

impdpを用いた場合

365回もimpdpを入力するのは手間感がある

Page 46: Oracle how-to-audit-backup

結論:impdpで戻すRE

JECTED

Page 47: Oracle how-to-audit-backup

(๑´•.̫ • `๑)

Page 48: Oracle how-to-audit-backup

更に別の方法を考える

Page 49: Oracle how-to-audit-backup

外部表

Page 50: Oracle how-to-audit-backup

外部表

外部ファイルを表として扱える!

Page 51: Oracle how-to-audit-backup

外部表

Page 52: Oracle how-to-audit-backup

外部表

DATAPUMPアクセスドライバ を使うとダンプファイルが読み込める

!!!111

Page 53: Oracle how-to-audit-backup

試しにやってみる

外部表

Page 54: Oracle how-to-audit-backup

expdpのtablesオプションで指定の表だけを ダンプしたダンプファイルを生成

外部表

Page 55: Oracle how-to-audit-backup

expdp system/oracle tables=backaud dumpfile=backaud1.dmp

外部表

Page 56: Oracle how-to-audit-backup

expdpで生成した ダンプファイルで外部表を作ってみる

外部表

Page 57: Oracle how-to-audit-backup

CREATE TABLE MUKASHI_NO_KANSA ( "AUDIT_TYPE" VARCHAR2(64), "SESSIONID" NUMBER, ... "DIRECT_PATH_NUM_COLUMNS_LOADED" NUMBER)ORGANIZATION EXTERNAL ( TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY data_pump_dir LOCATION ('backaud1.dmp', 'backaud2.dmp')); 複数ファイル指定できる!

Page 58: Oracle how-to-audit-backup

…) TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY data_pump_dir LOCATION ('backaud1.dmp', 'backaud2.dmp')103 );

Table created.

Page 59: Oracle how-to-audit-backup

とりあえずできた! ので中身を見てみる

外部表

Page 60: Oracle how-to-audit-backup

SQL> select * from MUKASHI_NO_KANSA;ERROR:ORA-29913: error in executing ODCIEXTTABLEOPEN calloutORA-39324: cannot load data from Data Pump dump file "/u01/app/oracle/admin/prod1/dpdump/backaud1.dmp"

no rows selected

Page 61: Oracle how-to-audit-backup

expdpのファイルは 使えない!

外部表

Page 62: Oracle how-to-audit-backup

外部表のDATAPUMPアクセスドライバ を用いてて出力してあげる

外部表

Page 63: Oracle how-to-audit-backup

CREATE TABLE backup_na_kansaORGANIZATION EXTERNAL( TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY data_pump_dir LOCATION ('backaud1.dmp')) AS SELECT * FROM unified_audit_trail;

Page 64: Oracle how-to-audit-backup

data_pump_dirに、backaud1.dmpが出力される

外部表

Page 65: Oracle how-to-audit-backup

One more chance

外部表

Page 66: Oracle how-to-audit-backup

CREATE TABLE MUKASHI_NO_KANSA ( "AUDIT_TYPE" VARCHAR2(64), "SESSIONID" NUMBER, ... "DIRECT_PATH_NUM_COLUMNS_LOADED" NUMBER)ORGANIZATION EXTERNAL ( TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY data_pump_dir LOCATION ('backaud1.dmp', 'backaud2.dmp')); 今度は外部表作成時に出来た

ダンプファイルを指定

Page 67: Oracle how-to-audit-backup

SQL> select count(*) from MUKASHI_NO_KANSA;

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

Page 68: Oracle how-to-audit-backup

複数のバックアップからでも外部表が出来た!!!

外部表

Page 69: Oracle how-to-audit-backup

結論:外部表を使うACCEPTED

Page 70: Oracle how-to-audit-backup

まとめ

Page 71: Oracle how-to-audit-backup

まとめ• 物理バックアップから戻すときは期間のデータ

を取り出しづらい

• 期間のデータなら論理バックアップのほうが扱いやすい

• 外部表のDATAPUMPアクセスドライバを使えばファイル名の指定だけでデータを読み込める

Page 72: Oracle how-to-audit-backup

Thank you for listening!