データベース・アクティビティの監査
この章の内容は次のとおりです。
監査の概要
監査は選択したユーザーのデータベース・アクションの監視と記録です。標準監査を使用して、SQL文、権限、スキーマ、オブジェクト、ネットワークおよび複数階層アクティビティの監査を行います。標準監査では、初期化パラメータおよびSQL文AUDIT
とNOAUDIT
を使用して、SQL文、権限、スキーマ・オブジェクト、およびネットワーク・アクティビティと複数階層アクティビティの監査を行います。
監査が有効かどうかにかかわらず、Oracle Databaseが常に監査するアクティビティもあります。これらのアクティビティには、管理者権限の接続、データベースの起動、データベースの停止などが含まれます。詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
監査の別タイプとして、ファイングレイン監査もあります。ファイングレイン監査により、データ・アクセスを、内容に基づき、value > 1000
などのBoolean測定を使用して、最も密なレベルで監査できます。ファイングレイン監査では、列へのアクセス、または列内での変更に基づいて、アクティビティを監査できます。Oracle Databaseにある指定した要素(特定のオブジェクトのコンテンツなど)へのアクセスまたは変更があると監査がトリガーされるようにセキュリティ・ポリシーを作成できます。監査を行う必要がある特定の条件を定義したポリシーを作成できます。たとえば、特定の表の列を監査し、一定期間中のどのタイミングで、誰がアクセスしようとしたかを調べることができます。また、ポリシー違反があった場合にトリガーされるアラートも作成でき、このデータを別の監査ファイルに書き込むことができます。ファイングレイン監査の実行方法は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
監査の使用目的
監査は、通常次のような目的で使用されます。
- 現行のアクションの今後のアカウンタビリティを有効にします。
特定のスキーマ、表、行または影響を受けるコンテンツに対して実行されたアクションも含まれます。
- アカウンタビリティに基づいて不審なユーザー(もしくは侵入者)による不適切なアクションを阻止します。
- 不審なアクティビティを調査します。
たとえば、ユーザーが表からデータを削除しようとした場合、セキュリティ管理者は、そのデータベースへのすべての接続と、そのデータベースにあるすべての表からの行の削除(成功および失敗)をすべて監査できます。
- 認可されていないユーザーによるアクションを監査人に通知します。
たとえば、認可されていないユーザーがデータを変更または削除を実行できるなど、予期した以上の権限を持っている場合に、ユーザー認可を再評価できます。
- 特定のデータベース・アクティビティに関するデータを監視および収集します。
たとえば、データベース管理者は、更新された表、実行された論理I/O操作の回数、ピーク時に接続していた同時実行ユーザーの数などに関する統計を収集できます。
- 認可またはアクセス制御の実装に関する問題を検出します。
たとえば、別の方法で保護されているデータを監査するポリシーを作成します。この場合、データは保護されているため、通常は監査レコードは生成されません。これらのポリシーにより監査レコードが生成された場合は、このデータを保護している別のセキュリティ・コントロールが適切に実装されていないことになります。
- 監査に関するコンプライアンス要件を遵守します。
次のような規制には監査に関連する共通の要件があります。
- 米国企業改革法(Sarbanes-Oxley Act)
- 医療保険の相互運用性と説明責任に関する法律(HIPAA)(Health Insurance Portability and Accountability Act)
- 国際業務を行う銀行の自己資本比率に関する国際統一基準: 改定版(バーゼルII)(International Convergence of Capital Measurement and Capital Standards: a Revised Framework)
- 日本の個人情報保護法
- 欧州連合のプライバシと電子通信に関する指令(European Union Directive on Privacy and Electronic Communications)
標準監査されたアクティビティが記録される場所
Oracle Databaseは、監査アクティビティを監査レコードに記録します。監査レコードには、監査された操作、操作を実行したユーザー、操作が実行された日時が記録されます。監査レコードは、データベース監査証跡と呼ばれるデータ・ディクショナリ表またはオペレーティング・システム監査証跡と呼ばれるオペレーティング・システム・ファイルに格納できます。Oracle Databaseでは、不審なアクティビティを追跡するために使用できる一連のデータ・ディクショナリ・ビューも提供されます。これらのビューの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
標準監査を使用する場合、Oracle Databaseでは、監査レコードがDBA_AUDIT_TRAIL
(sys.aud$
表)、オペレーティング・システム監査証跡、または標準監査のログ・レコードとファイングレイン監査のログ・レコードを組み合せるDBA_COMMON_AUDIT_TRAIL
ビューに書き込まれます。
さらに、管理者が実行したアクションは、syslog
監査証跡に記録されます。
標準監査による一般的なアクティビティの監査
ここでは、標準監査を使用してSQL文、権限、スキーマ・オブジェクト、ネットワーク・アクティビティまたは多層アクティビティに対して実行されたアクティビティを監査する方法を説明します。
この項の内容は次のとおりです。
標準監査について
標準監査では、SQL文、権限、スキーマ・オブジェクトや、ネットワーク・アクティビティまたは多層アクティビティの監査を有効にできます。必要に応じて、特定のスキーマ表に対して監査を実行できます。このタイプの監査を実行するには、Database Controlを使用します。
標準監査レコードは、DBA_AUDIT_TRAIL
(sys.aud$
表)、オペレーティング・システム監査証跡、または標準監査のログ・レコードとファイングレイン監査のログ・レコードを組み合せるDBA_COMMON_AUDIT_TRAIL
ビューのいずれかに書き込むことができます。
標準監査証跡の有効化または無効化
この項で説明している標準監査を実行する前に、標準監査を有効にする必要があります。標準監査を有効にするときに、データベース監査証跡に監査証跡を作成するか、オペレーティング・システム・ファイルに監査アクティビティを書き込むことができます。オペレーティング・システム・ファイルに書き込む場合は、テキスト形式またはXML形式で監査レコードを作成します。
標準監査証跡を有効または無効にするには、次のようにします。
- Database Controlを起動します。
SYS
としてログインし、SYSDBA
権限で接続します。- ユーザー名:
SYS
- パスワード: パスワードを入力します。
- 接続モード:
SYSDBA
- 「サーバー」をクリックして、「サーバー」サブページを表示します。
- 「データベース構成」セクションで「初期化パラメータ」をクリックします。
「初期化パラメータ」ページが表示されます。
- 「SPFile」をクリックして「SPFile」サブページを表示します。
インストールの「SPFile」タブが表示されない場合は、サーバー・パラメータ・ファイルを使用してOracle Databaseをインストールしなかったということです。次の手順に進みます。
- 「名前」フィールドに
audit_trail
を入力してAUDIT_TRAIL
パラメータを検索し、「実行」をクリックします。AUDIT_
のように、パラメータの最初の数文字を入力できます。または、パラメータのリストをスクロールして、AUDIT_TRAIL
パラメータを検索できます。
!doctype>