Oracle Database 2日でセキュリティ・ガイド 11g リリース1(11.1) E05781-03 |
|
この章の内容は次のとおりです。
Oracle Databaseをインストールした後で、データベースのインストール環境と構成を保護する必要があります。この章では、この保護を行うために一般に使用される方法を説明します。そのすべての方法では、データベース・ファイルの特定の領域への権限を制限します。
Oracle Databaseは、いくつかのオペレーティング・システムで使用できます。Oracle Databaseに関する詳細なプラットフォーム固有情報は、次のマニュアルを参照してください。
新しいデータベースを作成した場合や、既存のデータベースを変更した場合、Database Configuration Assistant(DBCA)の「セキュリティ設定」ウィンドウを使用して、デフォルトのセキュリティ設定を有効または無効にできます。これらの設定を有効にすることをお薦めします。これらの設定では、次のデフォルトのセキュリティ設定が可能です。
CREATE EXTERNAL JOB
権限をSYS
、データベース管理者、およびこの権限が必要なユーザーにのみ付与します。
dbca
一般的に、dbca
は$ORACLE_HOME/bin
ディレクトリにあります。
または、次のコマンド・プロンプトでDatabase Configuration Assistantを起動できます。
dbca
Windowsでは一般的に、dbca
はORACLE_BASE
¥
ORACLE_HOME
¥bin
ディレクトリにあります。
「操作」ウィンドウが表示されます。
「データベース」ウィンドウが表示されます。
「セキュリティ設定」ウィンドウが表示されます。
「データベース・コンポーネント」ウィンドウが表示されます。
ここでは、データ・ディクショナリを保護する方法を説明します。データ・ディクショナリは、スキーマ定義やデフォルト値など、データベースに関する情報を提供する一連のデータベース表です。
この項の内容は次のとおりです。
Oracleデータ・ディクショナリは、データベースに関する情報を提供するデータベース表のセットです。データ・ディクショナリの内容は次のとおりです。
ある特定のデータベースのデータ・ディクショナリ表およびビューは、そのデータベースのSYSTEM
表領域に格納されます。データ・ディクショナリは、他のデータベース・データと同様に表およびビューで構成されます。ある特定のデータベースのデータ・ディクショナリ表およびビューは、すべてユーザーSYSによって所有されます。SYSDBA
権限を使用してデータベースに接続すると、データ・ディクショナリに対する完全なアクセス権が許可されます。SYSDBA権限へのアクセスは、パッチ適用やその他の管理操作などの必要な操作のみに限定することをお薦めします。データ・ディクショナリは、すべてのOracle Databaseの中心です。
データ・ディクショナリにはSQL文を使用してアクセスできます。SYSDBA
権限以外で接続した場合のみデータ・ディクショナリは読取り専用であるため、その表とビューに対して問合せ(SELECT
文)のみを発行できます。データ・ディクショナリのオブジェクトには、ユーザーに公開されないものがあることに注意してください。データ・ディクショナリ・オブジェクトのサブセット(USER_%
で始まるオブジェクトなど)は、すべてのデータベース・ユーザーに対して読取り専用として公開されます。『Oracle Databaseリファレンス』には、データ・ディクショナリに関する情報を検索するために問い合せることのできるデータベース・ビューのリストが記載されています。
例2-1に、DICTIONARY
ビューを問い合せることでデータ・ディクショナリに固有のデータベース・ビューのリストを検索する方法を示します。
SQLPLUS SYSTEM Enter password: password Connected. SQL> SELECT TABLE_NAME FROM DICTIONARY;
O7_DICTIONARY_ACCESSIBILITY
初期化パラメータを有効にすることで、データ・ディクショナリを保護できます。このパラメータにより、ANY
システム権限を持つユーザーがデータ・ディクショナリ(SYS
スキーマ内のオブジェクト)に対してこれらの権限を使用することを防ぎます。
Oracle Databaseでは非常に細かく権限を設定できます。通常ANY
権限と呼ばれる権限は、このような権限の1つであり、一般的にアプリケーション所有者や各データベース管理者にのみ付与されます。たとえば、アプリケーション所有者にDROP ANY TABLE
権限を付与する場合があります。07_DICTIONARY_ACCESSIBILITY
初期化パラメータを有効にすると、ANY
権限が偶発的または故意に使用されないように、Oracleデータ・ディクショナリを保護することができます。
Database Controlを起動する手順については、『Oracle Database 2日でデータベース管理者』を参照してください。
SYS
としてログインし、SYSDBA
権限で接続します。
Oracle Enterprise Managerのデータベースのホームページ(データベースのホームページ)が表示されます。
「初期化パラメータ」ページが表示されます。
O7_DICTIONARY_ACCESSIBILITY
を検索します。「名前」フィールドでO7_
(O
の文字)を入力し、「実行」をクリックします。パラメータ名の最初の数文字を入力できます。この場合、O7_
によってO7_DICTIONARY_ACCESSIBILTY
パラメータが表示されます。
パラメータによっては、「SPFile」サブページの値を変更する必要があります。「SPFile」タブをクリックし、「SPFile」サブページを表示します。
O7_DICTIONARY_ACCESSIBILTY
の値をFALSE
に設定します。
O7_DICTIONARY_ACCESSIBILTY
をFALSE
に設定した後は、SELECT ANY DICTIONARY
権限を持つユーザーと、DBA権限(CONNECT / AS SYSDBA
など)の接続を認可されているユーザーのみが、データ・ディクショナリでANY
システム権限を使用できます。O7_DICTIONARY_ACCESSIBILITY
パラメータがFALSE
に設定されていない場合、DROP ANY TABLE
(例)システム権限を持つユーザーはすべて、データ・ディクショナリの要素を削除できます。
注意:
|
次のガイドラインに従うことにより、オペレーティング・システム・レベルでOracle Databaseへのアクセスを保護できます。
この推奨は、データ・ファイル、ログ・ファイル、トレース・ファイル、外部表、BFILEなど、すべてのタイプのファイルに適用されます。
多くのOracle Database製品は、Oracle Java Virtual Machine(OJVM)などのランタイム機能を使用します。データベース・ランタイム機能には、すべての権限を割り当てないでください。かわりに、データベースの外部でファイルおよびパッケージを実行する可能性のある機能の明示的なドキュメント・ルート・ファイル・パスに特定の権限を付与します。
次に、個々のファイルが指定される脆弱なランタイム・コールの例を示します。
call dbms_java.grant_permission('wsmith', 'SYS:java.io.FilePermission','filename','read');
次に、かわりにディレクトリ・パス(太字)を指定する、より適切な(よりセキュアな)ランタイム・コールの例を示します。
call dbms_java.grant_permission('wsmith', 'SYS:java.io.FilePermission','directory_path','read');
表2-2に、Oracle Databaseのインストール環境と構成を保護するために設定する初期化パラメータを示します。
初期化パラメータ | デフォルト設定 | 説明 |
---|---|---|
|
|
クライアント接続での製品バージョン情報(リリース番号など)の表示を制御します。侵入者は、データベースのリリース番号を使用して、データベース・ソフトウェアに存在するセキュリティ脆弱性に関する情報を検索できる場合があります。このパラメータを設定することで、詳細な製品バージョンの表示を有効または無効にできます。 このパラメータおよび類似パラメータの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。このパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。 |
|
|
|
ここでは、Database Controlを使用して初期化パラメータの値を変更する方法を説明します。使用可能な初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。
SYSDBA
権限を持つユーザーSYS
としてログインします。
「初期化パラメータ」ページが表示されます。
パラメータの最初の数文字を入力できます。たとえば、SEC_RETURN_SERVER_RELEASE_NUMBER
パラメータを検索する場合は、SEC_RETURN
と入力します。または、パラメータのリストをスクロールして、変更するパラメータを検索できます。
パラメータによっては、「SPFile」サブページの値を変更する必要があります。「SPFile」タブをクリックし、「SPFile」サブページを表示します。
初期化パラメータが静的かどうかを調べるには、『Oracle Databaseリファレンス』の説明を確認してください。サマリー表の変更可能設定が「いいえ」の場合は、データベース・インスタンスを再起動する必要があります。
|
![]() Copyright © 2007, 2008 Oracle Corporation. All Rights Reserved. |
|