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としてデータベース接続を作成します。 以下の手順を実行します。
| 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ユーザーとして新規REDOログ・ファイルを作成します。 以下の手順を実行します。
| 1. |
SQL Worksheet領域に以下のSELECT文を入力し、「Execute Statement」アイコン を選択するか、[F9]を押します。
alter system switch logfile

|
| 2. |
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」ブレッドクラムをクリックして、メイン・ページに戻ります。 次のセクションでは、コマンドをテストします。

|
トピック・リストに戻る
前述で実行した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ユーザーとしてデータベース・リンクを作成します。 以下の手順を実行します。
| 1. |
SQL Worksheet領域に以下の文を入力し、「Execute Statement」アイコン を選択するか、[F9]を押します。
create database link mylink

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

|
トピック・リストに戻る
このトピックでは、(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」ブレッドクラムをクリックして、メイン・ページに戻ります。 次のセクションでは、コマンドをテストします。

|
トピック・リストに戻る
前述で実行した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ユーザーによるリモートでのデータベース・コマンドの実行を防止する方法を学習しました。
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|