...

Oracleデータベース監査: パフォーマンス・ガイドライン1

by user

on
Category: Documents
23

views

Report

Comments

Transcript

Oracleデータベース監査: パフォーマンス・ガイドライン1
Oracleホワイト・ペーパー
2010年8月
Oracleデータベース監査:
パフォーマンス・ガイドライン1
Oracleホワイト・ペーパー - Oracleデータベース監査:パフォーマンス・ガイドライン
はじめに
アプリケーションに対する脅威が複雑化するのに伴い、データベース監査がますます重要になっています。
実際、Oracleデータベース監査の使用は過去10年の間に確実に増えており、今日では多くの組織で必要不
可欠となっています。Independent Oracle User Group(IOUG)を対象に行った調査によると、回答者の
半分以上が何らかのレベルで標準のOracleデータベース監査を使用しているという結果が一貫して得られ
ています。
データベース監査は一般に次の目的に使用されます。
 監査者に対して内部統制が監視されていることを証明する
 監査者に対してデータベース環境の変化に関する報告を行う
 不正アクティビティに対する抑止力として機能する
 データ侵害やその他の疑わしいアクティビティの調査を補助する
 セキュリティ制御を迂回しようとする行為を検出する
データベース監査とは、データベース内で発生するアクティビティを監視および記録することです。Oracle
データベース監査は、新規リリースのたびに強化され、現在では、個々のセキュリティ要件に合わせて微
調整が可能で、高度にカスタマイズできる監査機能を提供しています。Oracle9i Databaseでは、ファイ
ングレイン監査(FGA)機能が導入され、監査ポリシーをアプリケーション表と関連付けることができる
ようになりました。Oracle Database 11gでの改良点としては、IPアドレスなどの接続要因に基づく監査
機能、および本番環境サーバー上の監査データに関するストレージおよび管理コストを削減する新しい組
込みの管理機能があります。
セキュリティ・ソリューションに関してもっともよくある質問はおそらく、"パフォーマンス上のオーバー
ヘッドはどのくらいあるのか"という点です。これは、特に応答時間と可用性が利益に影響を及ぼすOracle
ユーザーからよく寄せられる質問です。セキュリティ制御に関する機能はどれでもそうですが、データ
ベース監査の場合もシステム・リソースが追加で必要になります。このホワイト・ペーパーでは、Oracle
データベースの監査ポリシーを有効にしたときの、アプリケーションのスループットとCPUの使用状況へ
の影響度を評価します。Oracleデータベース監査による影響を把握するため、最初に、Oracle監査の構成
について概説します。
1
Oracleホワイト・ペーパー - Oracleデータベース監査:パフォーマンス・ガイドライン
データベース監査の概要
Oracle監査は2つの基本的なカテゴリ、すなわち標準監査とファイングレイン監査(FGA)に分けられます。
標準監査では、ユーザー、特権、スキーマ・オブジェクト、文に基づいて監査を実行できます。たとえば、
特定のタイプのSQL文(create、alter、update、deleteなど)に基づいて監査を実行できます。FGAでは、デー
タベースへの接続に使用されたIPアドレスやプログラム名などの要因に基づいて、条件に応じて特定のア
プリケーション表の列に対するアクセスを監査できます。
Oracle Database 11gより導入されたOracle Database Configuration Assistant(Oracle DBCA)によって、コン
プライアンスと内部統制のためにオラクルが推奨する最小限の監査設定を自動的に構成できます。これら
の監査設定は、重要なセキュリティ関連のSQL文や特権に関連付けられており、Oracleセキュリティ関連
文書に一覧が掲載されています。Oracle DBCAによって作成されたデータベースは、デフォルトで、以下
の特権とSQL文を監査の対象にします。
表1 - Oracle Database 11gデフォルトの監査設定
ALTER ANY
PROCEDURE
ALTER ANY TABLE
ALTER DATABASE
ALTER PROFILE
ALTER SYSTEM
ALTER USER
AUDIT SYSTEM
CREATE ANY JOB
CREATE ANY
LIBRARY
CREATE ANY
PROCEDURE
CREATE ANY TABLE
CREATE EXTERNAL JOB
CREATE PUBLIC DATABASE
LINK
CREATE SESSION
CREATE USER
DATABASE LINK
DROP ANY PROCEDURE
DROP ANY TABLE
DROP PROFILE
GRANT ANY OBJECT
PRIVILEGE
GRANT ANY PRIVILEGE
GRANT ANY ROLE
PROFILE
PUBLIC SYNONYM
ROLE
SYSTEM AUDIT
SYSTEM GRANT
DROP USER
Oracleデータベース監査証跡
Oracleデータベースは、データベース表またはオペレーティング・システム・ファイルに対して監査レコー
ドを書き込む機能を備えています。監査レコードをオペレーティング・システム・ファイルに書き込むよ
う選択した場合は、オペレーティング・システムに対して、テキスト・ベースのファイルまたはXML形
式のファイルに書き込むのか、あるいはSYSLOG(UnixまたはLinuxの場合)またはEvent Viewer(Windows
の場合)に直接書き込むのかを指示できます。OracleデータベースOS監査ファイルは、テキスト・ベース
(拡張子.aud)またはXML形式(拡張子.xml)で出力できます。
2
Oracleホワイト・ペーパー - Oracleデータベース監査:パフォーマンス・ガイドライン
Oracleデータベース監査証跡の構成
標準監査レコードを指示するデータベース・パラメータ(<sid>init.ora)は次のとおりです。
表2 - Oracleデータベース監査パラメータ
パラメータ
値
説明
audit_trail
DB
標準の監査内容をsys.aud$表に書き込む
DB, EXTENDED
標準の監査内容をSQLテキストおよびそのSQLで実
行されたバインド変数の内容とともにsys.aud$に書
き込む
OS
標準の監査内容をテキスト・ファイルに書き込む
XML
標準の監査内容とFGA監査内容をXML形式のファ
イルに書き込む
XML, EXTENDED
標準の監査内容とFGA監査内容を、SQLテキストお
よびバインド変数の内容とともにXML形式のファ
イルに書き込む
audit_sys_operations
TRUE/FALSE
トップレベルのすべてのSYSDBAおよびSYSOPER
のアクティビティを監査する。これらの監査レコー
ドは、audit_trailパラメータの設定に関係なく、OS
ファイルにのみ書き込まれる
audit_syslog_level
<FACILITY_CLAUSE.
syslogのレベル情報を指定する
PRIORITY_CLAUSE>
audit_file_dest
<OS_DIRECTORY>
OSおよびXML形式の監査ファイルを書き込むOS
ディレクトリの場所を指定する
FGAを使用すると、監査を実施するために必要な個々の条件を定義するポリシーを作成できます。ファイ
ングレイン監査を追加および削除するには、DBMS_FGAパッケージを使用します。FGA監査ポリシーを使
用すると、監視対象の特定の操作またはオブジェクトに監査ポリシーを適用できます。FGAを使用すると
セッション・コンテキストまたはデータ値に基づいてデータ・アクセスを監視できます。
FGAで提供される項目は次のとおりです。
 ブール条件のチェック。指定したブール条件(たとえば、土曜日にアクセスされた表など)が真の場合
に監査が実行される
 監査を起動したSQLテキストとバインド変数
 機密列の厳重な保護。給与や社会保障番号などの機密情報を保持する個々の関連列を監査する
 イベント・ハンドラ機能によって追加の処理を実行する
3
Oracleホワイト・ペーパー - Oracleデータベース監査:パフォーマンス・ガイドライン
監査証跡管理
パフォーマンスとディスク領域を効率的に管理するには監査証跡レコードを適切に管理することが重要
です。DBMS_AUDIT_MGMTパッケージを使用すると、次の機能によって、監査証跡レコードを効率的に管
理できます。
 すべての監査証跡タイプに対してクリーンアップ操作を実行します。最新のアーカイブ・タイムスタ
ンプ値に基づいて監査証跡を消去します。最新のアーカイブ・タイムスタンプとは、安全にアーカイ
ブされた最新の監査レコードのタイムスタンプを指します。
 データベースの監査証跡表をSYSTEM表領域から移動します。これにより、SYSTEM表領域の負荷が軽
減され、最適化された表領域を監査レコード専用に使用できるので、データベース全体のパフォーマ
ンスが向上します。
 オペレーティング・システムとXML監査ファイルを管理します。最大サイズや監査ファイルの作成時
期などのプロパティを定義できます。これにより、OSおよびXML形式の監査ファイルのサイズを制限
できます。
最適なパフォーマンスを実現するため、オラクルでは、データベース表およびOSファイルに書き込むと
き、次に示す"監査ベスト・プラクティス"に従うことを推奨しています。
 領域管理の最適化 – 監査専用のユーザー定義の表領域(たとえば、AUDSYS)を作成します。監査証
跡表用に事前定義サイズ(1GB)のエクステントを設定しておきます。
 負荷分散 - 監査証跡表sys.aud$とsys.fga_log$を、この新しいユーザー定義の表領域に移動します。
 OS監査ファイル数の削減 - DBMS_AUDIT_MGMTパッケージを使用して、OS監査ファイルにより大き
なファイル・サイズ(100MB)を設定します。
パフォーマンス・テストの結果
監査機能がオンの状態でOracleデータベースが使用するリソースを明示するために、監査レコードの書込
み先(データベース表sys.aud$またはオペレーティング・システム・ファイル)に基づいてテストを実行
しました。この書込み先には、TPC-Cに類似したワークロードによって毎秒約250件の監査レコードが生
成されるようにしました。TPC-Cに類似したワークロードを使用したのは、複雑なアプリケーション環境
における標準的なOLTPデータベース・アクティビティが再現されるからです。このワークロードは、あ
らゆる業界に共通する複雑さを有する複数のタイプのトランザクションを同時に実行するものです。
マシン構成
Oracle Database Release 11.2.0.1を次の構成のハードウェアにインストールしました。
 3.40GHz Xeon CPU 4基
 4GBのメモリ
 x86_64 Linux
データベースには次のパッチも適用しました。
4
Oracleホワイト・ペーパー - Oracleデータベース監査:パフォーマンス・ガイドライン
 OracleデータベースによるOSフラッシュ・コールがXML監査の書込みのたびに起動されるのを抑制し、
ディスクへのフラッシュをオペレーティング・システムに任せる。(9078032)
 XML索引ファイルを削除する。(8880803)
監査によるパフォーマンス・オーバーヘッド
実世界のシナリオをシミュレートするため、監査を開始する前にシステム・リソースの50%を使用する標
準のワークロードを作成しました。テストを実行するたびに、次の結果を記録しました。
 スループット:監査がオンになった後、トランザクションの実行にかかった時間の増分
 CPU使用率の増分:監査がオンになった後、計測されたCPU使用率の増分
標準のデータベース監査では、Oracleデータベースの標準監査コマンドを使用して毎秒約250の監査レコー
ドを生成するテストを作成しました。
表3 - Oracle Database 11.2.01標準監査証跡(CPUシステム負荷50%)
監査証跡
設定
スループット時間
の増分
CPU使用率
の増分
OS
1.39%
1.75%
XML
1.70%
3.51%
XML, Extended
3.70%
5.26%
DB
4.57%
8.77%
DB, Extended
14.09%
15.79%
FGAでは、DBMS_FGAパッケージを使用して毎秒約200の監査レコードを生成するテストを作成しました。
監査ポリシーの条件では、TPCC.ORDL表に対してUPDATEまたはSELECTが実行され、なおかつclient_
identifierの値がNULLのとき監査レコードが作成されるようにしました。
dbms_fga.add_policy (
object_schema
=> 'TPCC',
object_name
=> 'ORDL',
policy_name
=> 'Config_A',
audit_condition =>
'SYS_CONTEXT(''USERENV'',''CLIENT_IDENTIFIER'') IS NULL',
statement_types => 'UPDATE, SELECT',
audit_trail
=> DBMS_FGA.XML +DBMS_FGA.EXTENDED);
5
Oracleホワイト・ペーパー - Oracleデータベース監査:パフォーマンス・ガイドライン
表4 - Oracle Database 11.2.01ファイングレイン跡監査証跡(CPUシステム負荷50%)
監査証跡
設定
スループット時間
の増分
CPU使用率
の増分
XML
3.66%
4.35%
XML, Extended
4.62%
9.09%
DB
6.60%
11.11%
DB, Extended
9.61%
20%
この結果から、(キャラクタ・ベースであるかXMLベースであるかに関係なく)監査レコードをOSファ
イルに書き込む方法がシステム・リソースへの影響がもっとも尐ないことが分かります。テストでは、毎
秒200件を超える監査レコードを生成しました。一般に、これはほとんどの環境で生成される監査レコー
ドの数を上回っています。監査レコードの書込み件数が毎秒200件を下回る場合は、システム・リソース
の消費量も尐なくなります。結果はシステムによって異なるため、ユーザー各自の環境でテストする必要
があります。
結論
アプリケーションに対する脅威はますます複雑化しており、データベース監査は、疑わしい行為を検出す
るだけでなく、社内統制の証拠を監査者に提示するという点でも重要な役割を果たします。Oracleデータ
ベース監査を使用すると、監査証跡の量が非常に多い場合でも、パフォーマンスに対する影響を最小限に
抑えることができます。最適なパフォーマンスを実現するため、オラクルでは、データベース監査レコー
ドをオペレーティング・システム(OS)に書き込み、OS監査ファイルにより大きなファイル・サイズを
設定するよう推奨しています。オラクルのセキュリティ関連文書には、コンプライアンスと内部統制のた
めに最小限の監査設定を行うベスト・プラクティス推奨事項が記載されています。データベース内の監査
は、多層防御アーキテクチャの一部に組み込む必要があります。
6
Oracleデータベース監査:パフォーマンス・
ガイドライン
2010年8月
著者:Tammy Bednar
Copyright © 2010, Oracle and/or its affiliates.All rights reserved.
共著者:
本文書は情報提供のみを目的として提供されており、ここに記載される内容は予告なく変更されることがあります。本文書は一
切間違いがないことを保証するものではなく、さらに、口述による明示または法律による黙示を問わず、特定の目的に対する商
Oracle Corporation
品性もしくは適合性についての黙示的な保証を含み、いかなるほかの保証や条件も提供するものではありません。オラクルは本
World Headquarters
文書に関するいかなる法的責任も明確に否認し、本文書によって直接的または間接的に確立される契約義務はないものとします。
500 Oracle Parkway
本文書はオラクルの書面による許可を前もって得ることなく、いかなる目的のためにも、電子または印刷を含むいかなる形式や
Redwood Shores, CA 94065
手段によっても再作成または送信することはできません。
U.S.A.
OracleおよびJavaはOracleおよびその子会社、関連会社の登録商標です。その他の名称はそれぞれの会社の商標です。
海外からのお問い合わせ窓口:
電話:+1.650.506.7000
AMD、Opteron、AMDロゴおよびAMD Opteronロゴは、Advanced Micro Devicesの商標または登録商標です。IntelおよびIntel Xeon
ファクシミリ:+1.650.506.7200
はIntel Corporationの商標または登録商標です。すべてのSPARC商標はライセンスに基づいて使用されるSPARC International,
www.oracle.com
Inc.の商標または登録商標です。UNIXはX/Open Company, Ltd.によってライセンス提供された登録商標です。0110
Fly UP