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分
トピック
このチュートリアルでは、以下のトピックについて説明します。
スクリーンショットの表示
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。 (警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にある各アイコンの上にカーソルを置いてください。
概要
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ユーザーによるリモートでのデータベース・コマンドの実行を防止する方法を学習しました。
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|