ヘッダーをスキップ

Oracle Database 2日でセキュリティ・ガイド
11g リリース1(11.1)

E05781-03
目次
目次
索引
索引

戻る 次へ

2 データベースのインストール環境と構成の保護

この章の内容は次のとおりです。

データベースのインストール環境と構成の保護について

Oracle Databaseをインストールした後で、データベースのインストール環境と構成を保護する必要があります。この章では、この保護を行うために一般に使用される方法を説明します。そのすべての方法では、データベース・ファイルの特定の領域への権限を制限します。

Oracle Databaseは、いくつかのオペレーティング・システムで使用できます。Oracle Databaseに関する詳細なプラットフォーム固有情報は、次のマニュアルを参照してください。

デフォルトのセキュリティ設定の有効化

新しいデータベースを作成した場合や、既存のデータベースを変更した場合、Database Configuration Assistant(DBCA)の「セキュリティ設定」ウィンドウを使用して、デフォルトのセキュリティ設定を有効または無効にできます。これらの設定を有効にすることをお薦めします。これらの設定では、次のデフォルトのセキュリティ設定が可能です。

Database Configuration Assistantを使用してデフォルトのプロファイル・セキュリティ設定を有効にするには、次のようにします。
  1. Database Configuration Assistantを起動します。

    • UNIX: 端末ウィンドウで次のコマンドを入力します。

      dbca
      
      

      一般的に、dbca$ORACLE_HOME/binディレクトリにあります。

    • Windows: 「スタート」メニューから「すべてのプログラム」をクリックします。次に「Oracle - ORACLE_HOME」→「Configuration and Migration Tools」「Database Configuration Assistant」の順にクリックします。

      または、次のコマンド・プロンプトでDatabase Configuration Assistantを起動できます。

      dbca
      
      

      Windowsでは一般的に、dbcaORACLE_BASE¥ORACLE_HOME¥binディレクトリにあります。

  2. 「ようこそ」ウィンドウで「次へ」をクリックします。

    「操作」ウィンドウが表示されます。

  3. 「データベース・オプションの構成」を選択して、「次へ」をクリックします。

    「データベース」ウィンドウが表示されます。

  4. 設定するデータベースを選択して、「次へ」をクリックします。

    「セキュリティ設定」ウィンドウが表示されます。

  5. 「11gのデフォルトの高度セキュリティ設定を維持(推奨)。これらの設定には、監査および新しいデフォルト・パスワード・プロファイルの有効化が含まれます。」オプションを選択します。

  6. 「次へ」をクリックします。

    「データベース・コンポーネント」ウィンドウが表示されます。

  7. 他のオプションを選択してから、「次へ」をクリックします。表示される質問に適宜、回答します。

  8. 「終了」をクリックします。

Oracleデータ・ディクショナリの保護

ここでは、データ・ディクショナリを保護する方法を説明します。データ・ディクショナリは、スキーマ定義やデフォルト値など、データベースに関する情報を提供する一連のデータベース表です。

この項の内容は次のとおりです。

Oracleデータ・ディクショナリについて

Oracleデータ・ディクショナリは、データベースに関する情報を提供するデータベース表のセットです。データ・ディクショナリの内容は次のとおりです。

ある特定のデータベースのデータ・ディクショナリ表およびビューは、そのデータベースのSYSTEM表領域に格納されます。データ・ディクショナリは、他のデータベース・データと同様に表およびビューで構成されます。ある特定のデータベースのデータ・ディクショナリ表およびビューは、すべてユーザーSYSによって所有されます。SYSDBA権限を使用してデータベースに接続すると、データ・ディクショナリに対する完全なアクセス権が許可されます。SYSDBA権限へのアクセスは、パッチ適用やその他の管理操作などの必要な操作のみに限定することをお薦めします。データ・ディクショナリは、すべてのOracle Databaseの中心です。

データ・ディクショナリにはSQL文を使用してアクセスできます。SYSDBA権限以外で接続した場合のみデータ・ディクショナリは読取り専用であるため、その表とビューに対して問合せ(SELECT文)のみを発行できます。データ・ディクショナリのオブジェクトには、ユーザーに公開されないものがあることに注意してください。データ・ディクショナリ・オブジェクトのサブセット(USER_%で始まるオブジェクトなど)は、すべてのデータベース・ユーザーに対して読取り専用として公開されます。『Oracle Databaseリファレンス』には、データ・ディクショナリに関する情報を検索するために問い合せることのできるデータベース・ビューのリストが記載されています。

例2-1に、DICTIONARYビューを問い合せることでデータ・ディクショナリに固有のデータベース・ビューのリストを検索する方法を示します。

例2-1    データ・ディクショナリに関連するビューの検索

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データ・ディクショナリを保護することができます。

データ・ディクショナリ保護を有効にするには、次のようにします。
  1. Oracle Enterprise Manager Database Control(Database Control)を起動します。

    Database Controlを起動する手順については、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. SYSとしてログインし、SYSDBA権限で接続します。

    • ユーザー名: 管理権限を持つユーザーの名前を入力します。この場合は、SYSと入力します。

    • パスワード: ユーザーのパスワードを入力します。

    • 接続モード: リストから「SYSDBA」、「SYSOPER」または「標準」のいずれかを選択します。この場合は、「SYSDBA」を選択します。

    Oracle Enterprise Managerのデータベースのホームページ(データベースのホームページ)が表示されます。

  3. 「サーバー」をクリックして、「サーバー」サブページを表示します。

  4. 「データベース構成」セクションで「初期化パラメータ」をクリックします。

    「初期化パラメータ」ページが表示されます。

  5. リストで、O7_DICTIONARY_ACCESSIBILITYを検索します。

    「名前」フィールドでO7_Oの文字)を入力し、「実行」をクリックします。パラメータ名の最初の数文字を入力できます。この場合、O7_によってO7_DICTIONARY_ACCESSIBILTYパラメータが表示されます。

    パラメータによっては、「SPFile」サブページの値を変更する必要があります。「SPFile」タブをクリックし、「SPFile」サブページを表示します。

  6. O7_DICTIONARY_ACCESSIBILTYの値をFALSEに設定します。

  7. 「適用」をクリックします。

  8. Oracle Databaseインスタンスを再起動します。

    1. 「データベース・インスタンス」リンクをクリックします。

    2. 「ホーム」をクリックしてDatabase Controlのホームページを表示します。

    3. 「一般」で「停止」をクリックします。

    4. 資格証明の起動/停止ページでは、資格証明を入力します。

      詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

    5. 完全に停止した後に、「起動」をクリックします。

O7_DICTIONARY_ACCESSIBILTYFALSEに設定した後は、SELECT ANY DICTIONARY権限を持つユーザーと、DBA権限(CONNECT / AS SYSDBAなど)の接続を認可されているユーザーのみが、データ・ディクショナリでANYシステム権限を使用できます。O7_DICTIONARY_ACCESSIBILITYパラメータがFALSEに設定されていない場合、DROP ANY TABLE(例)システム権限を持つユーザーはすべて、データ・ディクショナリの要素を削除できます。


注意:

  • デフォルトのインストールでは、O7_DICTIONARY_ACCESSIBILITYパラメータはFALSEに設定されます。

  • SELECT ANY DICTIONARY権限は、GRANT ALL PRIVILEGES文には含まれませんが、ロールを使用して付与できます。ロールについては、「ユーザーへのロール付与のガイドライン」および『Oracle Database 2日でデータベース管理者』を参照してください。

 

Oracle Databaseへのオペレーティング・システム・アクセスの保護のガイドライン

次のガイドラインに従うことにより、オペレーティング・システム・レベルでOracle Databaseへのアクセスを保護できます。

ランタイム機能への権限付与のガイドライン

多くの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のインストール環境と構成を保護するために設定する初期化パラメータを示します。

表2-2    インストール環境と構成のセキュリティに使用される初期化パラメータ 
初期化パラメータ  デフォルト設定  説明 

SEC_RETURN_SERVER_RELEASE_BANNER 

FALSE 

クライアント接続での製品バージョン情報(リリース番号など)の表示を制御します。侵入者は、データベースのリリース番号を使用して、データベース・ソフトウェアに存在するセキュリティ脆弱性に関する情報を検索できる場合があります。このパラメータを設定することで、詳細な製品バージョンの表示を有効または無効にできます。

このパラメータおよび類似パラメータの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。このパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。 

O7_DICTIONARY_ACCESSIBILITY 

FALSE 

SYSTEM権限に対する制限を制御します。このパラメータの詳細は、「データ・ディクショナリ保護の有効化」および『Oracle Databaseリファレンス』を参照してください。 

関連項目:

初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。 

初期化パラメータ値の変更

ここでは、Database Controlを使用して初期化パラメータの値を変更する方法を説明します。使用可能な初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

初期化パラメータ値を変更するには、次のようにします。
  1. Database Controlを起動します。

  2. SYSDBA権限を持つユーザーSYSとしてログインします。

    • ユーザー名: SYS

    • パスワード: パスワードを入力します。

    • 接続モード: SYSDBA

  3. 「サーバー」をクリックして、「サーバー」サブページを表示します。

  4. 「データベース構成」セクションで「初期化パラメータ」をクリックします。

    「初期化パラメータ」ページが表示されます。

  5. 「名前」フィールドに、変更するパラメータの名前を入力し、「実行」をクリックします。

    パラメータの最初の数文字を入力できます。たとえば、SEC_RETURN_SERVER_RELEASE_NUMBERパラメータを検索する場合は、SEC_RETURNと入力します。または、パラメータのリストをスクロールして、変更するパラメータを検索できます。

    パラメータによっては、「SPFile」サブページの値を変更する必要があります。「SPFile」タブをクリックし、「SPFile」サブページを表示します。

  6. 「値」フィールドで、新しい値を入力するか、リストが存在する場合はリストから選択します。

  7. 「適用」をクリックします。

  8. パラメータが静的な場合は、Oracle Databaseインスタンスを再起動します。

    初期化パラメータが静的かどうかを調べるには、『Oracle Databaseリファレンス』の説明を確認してください。サマリー表の変更可能設定が「いいえ」の場合は、データベース・インスタンスを再起動する必要があります。

    1. 「データベース・インスタンス」リンクをクリックします。

    2. 「ホーム」をクリックしてDatabase Controlのホームページを表示します。

    3. 「一般」で「停止」をクリックします。

    4. 資格証明の起動/停止ページでは、資格証明を入力します。

      詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

    5. 完全に停止した後に、「起動」をクリックします。


戻る 次へ
Oracle
Copyright © 2007, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引