0) { obj.className = "imgborder_on"; } } } function hideImage(obj) { if (obj.className.substr(0, 10) == "imgborder_") { obj.src = eyeglass.src; obj.className = "imgborder_off"; } } function showAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { showImage(imgs[i]); } } function hideAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { hideImage(imgs[i]); } } function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } //-->

Oracle Database Vaultを使用したコマンド実行の制限

用途

このチュートリアルでは、Oracle Database Vaultを使用して、DBAロールを所持する特権ユーザーに対し、リモートでの基礎データベースの変更を防止する方法を説明します。

所要時間

約15分

トピック

このチュートリアルでは、以下のトピックについて説明します。

 概要
 前提条件

SYSTEMによるデータベース接続の作成

SYSTEMユーザーによる基礎データベース・パラメータの変更

 リモートによるAlter Systemコマンドの実行を不可とするルール・セットの変更
 Alter Systemコマンド・ルールのテスト

SYSTEMユーザーによるデータベース・リンクの作成

 リモートによるCreate Database Linkコマンドの実行を不可とするコマンド・ルールの作成
 Create Database Linkコマンド・ルールのテスト
 監査レポートの生成
 まとめ

スクリーンショットの表示

 このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。 (警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)

注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にある各アイコンの上にカーソルを置いてください。

概要

Oracle Database Vaultは、今日のもっとも困難なセキュリティ課題である、インサイダーの脅威からの保護、規制遵守要件への対応、職務分離の強化に対する取組みを支援するものです。 Oracle Database Vaultは、パートナー、従業員、顧客に関するビジネス上の機密情報やプライバシ・データの保護が必要な顧客を扱う上での最大の懸念である、DBAによるアプリケーション・データの参照を防止します。 さらに、強力なアプリケーションDBAによる他のアプリケーションへのアクセスや、認可された責務以外のタスクの実行を未然に防ぎます。 Oracle Database Vaultは、アプリケーション機能に影響を与えることなく、迅速かつ容易に既存のアプリケーションの保護を実現します。

トピック・リストに戻る

前提条件

このチュートリアルを始める前に以下を確認してください。

1.

Oracle Database 11g Release 1 (11.1.0.6)がインストールされていること。サンプル・スキーマでデータベースを作成してください(インストール中またはインストール後のいずれかの時点)。

2.

Oracle SQL Developerをダウンロードおよび解凍していること。

3.

ご利用のデータベースにOracle Database Vaultオプションを構成していること。 Oracle DatabaseのインストールではOracle Database Vaultはインストールされませんが、Oracle Databaseインストール・メディアで入手可能な製品の一部です。 Oracle Universal Installerを使用すれば、既存のデータベースにOracle Database Vaultをインストールできます。 Oracle Database Vaultをインストールした後、Database Configuration Assistant( dbca )を使用して、Oracle Database Vaultをご利用のデータベースに登録し、次に、必要なOracle Database Vaultアカウントを作成します(詳細については、オンライン・ドキュメント『Oracle Database 2日でセキュリティ・ガイド 11g Release 1(11.1)』を参照してください)。

注:このOracle by Example(OBE)では、構成済みのOracle Database Vaultオプションがインストールされているマシンではなく、別の(リモート)マシンを使用して手順を実行する必要があります。

トピック・リストに戻る

SYSTEMによるデータベース接続の作成

SYSTEMとしてデータベース接続を作成します。 以下の手順を実行します。

1.

Oracle SQL Developerを開きます。 「 Connections」を右クリックして、「 New Connection」を選択します。


2.

以下の情報を入力し、「 Test」をクリックします。

Connection Name: system@database vault
Username: system
Password: <ご使用のシステムのパスワード>
Save Password: チェック
Hostname: <ご使用のホスト名またはIPアドレス>
Port: <ご使用のデータベースのポート>
SID: <ご使用のデータベースのSID>


3.

ステータスにSuccessと表示されたら、「 Connect」をクリックします。


4.

接続が作成されました。


トピック・リストに戻る

SYSTEMユーザーによる基礎データベース・パラメータの変更

このチュートリアルでは、リモート・コンピュータから(承認済みの)データベース構成へ非定型の変更ができないようにする方法を確認します。 このトピックでは、SYSTEMユーザーとして新規REDOログ・ファイルを作成します。 以下の手順を実行します。

1.

SQL Worksheet領域に以下のSELECT文を入力し、「 Execute Statement」アイコン  を選択するか、[ F9]を押します。

                                         
alter system switch logfile
                                      


2.

SYSTEMユーザーによる変更が可能なことがわかりました。

 

トピック・リストに戻る

リモートによるAlter Systemコマンドの実行を不可とするルール・セットの変更

このトピックでは、(IPアドレスに基づく)リモートをベースとしたデータベースに対し、特権ユーザーによるコマンドの実行を不可とするルールを既存のルール・セットに追加します。 以下の手順を実行します。

1.

ブラウザを開き、次のURLを入力します。

                                         
https://<ホスト名>:1158/dva
                                      

以下の情報を入力し、「 Login」をクリックします。

User Name: <Oracle Database Vaultのオーナー>
Password: <Oracle Database Vaultのオーナーのパスワード>
Host: <ホスト名>
Port: <ご使用のデータベースのポート>
SID / Service: <SIDを選択し、ご使用のデータベースのSIDを入力>


2.

Command Rules」リンクをクリックします。

 

3.

ALTER SYSTEMコマンドには、それと関連する Allow System Parametersルール・セットが含まれています。 「 Database Instance」ブレッドクラムをクリックして、メイン・ページに戻ります。

 

4.

Rule Sets」リンクをクリックします。

 

5.

ルール・セットとは、コマンド・ルールによって高度にカスタマイズできるパラメータです。 DBAによるリモートからのALTER SYSTEMコマンドの実行を防ぐために、ルールにAllow System Parametersルール・セットを追加できます( 注:ALTER SYSTEMコマンドがAllow System Parametersルール・セットと関連があることは確認済みです)。 「 Allow System Parameters」ルール・セットを選択し、「 Edit」をクリックします。


6.

ページの下までスクロールします。

 

7.

Rules Associated to the Rule Setの下にある「 Create」をクリックします。

 

8.

Oracle Database Vaultのアプリケーション・コンテキスト機能によって、'ip_address'のような、事前定義の'プリミティブ'を多数使用できます。このプリミティブは、アクセスまたは実行権利の決定に使用されます。 Nameを指定して、Rule Expressionフィールドに次の情報を入力します。次に、「 OK」をクリックします。

                                         
sys_context('userenv','ip_address')='<your_host_ip_address>'
                                      

<your_host_ip_address>部分には、ご使用のホスト・マシンのIPアドレスを記入してください。

 

9.

さきほど追加したルール・セットを再確認します。 確認後、フォームの上部へスクロールします。

 

10.

Statusが Enabledにチェックされていることを確認し、「 OK」をクリックします。

 

11.

ルール・セットが適用されました。 「 Database Instance」ブレッドクラムをクリックして、メイン・ページに戻ります。 次のセクションでは、コマンドをテストします。

 

トピック・リストに戻る

Alter Systemコマンド・ルールのテスト

前述で実行したSQL文を再度実行します。 作成したルール・セットの'TRUE'値となるIPアドレスは、Oracle Database VaultサーバーのIPアドレスだけであることから、今回は、SYSTEMユーザーがコマンドを実行できないことが表示されます。 Oracle Database VaultサーバーにアクセスするコンピュータのIPアドレスは別のIPアドレスです。このチュートリアルでは、データベースに対するリモート変更を不可にします。 以下の手順を実行します。

1.

Oracle SQL Developerに切り替えます。 「 Execute Statement」アイコン  をクリックするか、[ F9]を押して、前述で実行したSQLを再度実行します。


2 .

今度は、SYSTEMがALTER SYSTEMコマンドの実行を試みると、違反が発生します。

 

トピック・リストに戻る

SYSTEMユーザーによるデータベース・リンクの作成

リモート・コンピュータから(承認済みの)データベース構成への非定型の変更を不可とする、別のシナリオを確認します。 このトピックでは、SYSTEMユーザーとしてデータベース・リンクを作成します。 以下の手順を実行します。

1.

SQL Worksheet領域に以下の文を入力し、「 Execute Statement」アイコン  を選択するか、[ F9]を押します。

                                         
create database link mylink
                                      


2.

SYSTEMユーザーによる変更が可能なことがわかりました。

 

トピック・リストに戻る

リモートによるCreate Database Linkコマンドの実行を不可とするコマンド・ルールの作成

このトピックでは、(IPアドレスに基づく)リモートをベースとしたデータベースに対し、特権ユーザーによるCREATE DATABASE LINKコマンドの実行を不可とするルールを既存のルール・セットに追加します。 以下の手順を実行します。

1.

Oracle Database Vaultに切り替え、メイン・ページの「 Command Rules」リンクをクリックします。

                                          
                                      


2.

Create」をクリックします。

 

3.

Commandリストから、「 CREATE DATABASE LINK」を選択します。 Rule Setリストから、「 Allow System Parameters」を選択します(このルール・セットは、このチュートリアルの最初の方でコマンドを発行してマシンのIPアドレスを確認するためにルールを追加して変更したものです)。 「 OK」をクリックします。

 

4.

リストに CREATE DATABASE LINKコマンド・ルールが表示され、 Allow Systems Parametersルール・セットと関連があることがわかります。 「 Database Instance」ブレッドクラムをクリックして、メイン・ページに戻ります。 次のセクションでは、コマンドをテストします。

 

トピック・リストに戻る

Create Database Linkコマンド・ルールのテスト

前述で実行したSQL文を再度実行します。 作成したルール・セットの'TRUE'値となるIPアドレスは、Oracle Database VaultサーバーのIPアドレスだけであることから、今回は、SYSTEMユーザーがコマンドを実行できないことが表示されます。 Oracle Database VaultサーバーにアクセスするコンピュータのIPアドレスは別のIPアドレスです。このチュートリアルでは、データベースに対するリモート変更を不可にします。 以下の手順を実行します。

1.

Oracle SQL Developerに切り替え、2つめのデータベース・リンクを作成します。 SQL Worksheet領域に以下の文を入力し、「 Execute Statement」アイコン  を選択するか、[ F9]を押します。

create database link mylink2


2 .

今度は、SYSTEMがCREATE DATABASE LINKコマンドの実行を試みると、違反が発生します。

 

 

監査レポートの生成

ルール・セットの作成後、監査オプションがAudit on Failureに設定されています。 監査をおこなうには、以下の手順に従います。

1.

Oracle Database Vaultに切り替えます。 「 Data Vault Reports」タブをクリックします。


2 .

Data Vault Reportsカテゴリで、「 Command Rule Audit」を選択し、「 Run Report」をクリックします。

 

3.

レポートが表示されます。 このケースでは、実行したコマンドが表示され、変更したルール・セットが含まれていることが確認できます。

 

トピック・リストに戻る

まとめ

このチュートリアルでは、DBAユーザーによるリモートでのデータベース・コマンドの実行を防止する方法を学習しました。

トピック・リストに戻る

 このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。