ヘッダーをスキップ
Oracle Fusion Middleware Oracle Internet Directory管理者ガイド
11gリリース1(11.1.1)
B55919-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

26 データ・プライバシの構成

データ・プライバシは、データの送信時と受信後の両方で重要な問題です。伝送中、データはSSLによって保護されます。この章では、Oracle Internet Directoryがデータを受信した後にどのように保護するかについて説明します。

この章の項目は次のとおりです。

26.1 表領域の暗号化の概要

Oracle Databaseの透過的データ暗号化(TDE)は、Oracle Enterprise User Securityの1コンポーネントであり、ディスクへの書込み時のデータ暗号化と認可ユーザーによる読取り時の復号化を透過的に行います。TDEは、ストレージ・メディアまたはデータ・ファイルが盗まれた場合に、そのメディア上に格納されたデータの保護に役立ちます。アプリケーションの変更は不要であり、ストレージ・メディア上のデータの暗号化はユーザーには透過的に行われます。

Oracle Database 11g Advanced Securityの透過的データ暗号化では、データベースの表領域の暗号化を新たにサポートしています。暗号化された表領域内に作成されたオブジェクトはすべて自動的に暗号化されます。暗号化された表領域内のデータはすべて、暗号化された形式でディスク上に格納されます。データ・ブロックは、Oracle Databaseによるアクセス時に透過的に復号化されます。表領域の暗号化によって、列の暗号化の外部キー制限が解消され、暗号化されたデータの索引レンジ・スキャンが可能になります。

26.2 表領域の暗号化の有効化と無効化

Oracle Internet Directoryで使用するOracle Databaseの表領域の暗号化を有効化または無効化する手順は、次のとおりです。


注意:

以前に表領域の暗号化を有効化または無効化したことがあり、再度有効化する場合、手順7に進みます。

  1. Oracle Internet Directoryインスタンスで使用するOracle Databaseのコールド・バックアップを作成します。

  2. データベースのOracleホームにJava VMパッケージとXML Developer's Kitパッケージがインストールされていることを確認します。

    指定のパッケージがインストールされているかどうかを確認するには、次のSQL*Plusを実行します。

    SELECT comp_id, status FROM dba_registry;
    

    次のPL/SQLプロシージャを実行します。

    sys.dbms_metadata_util.load_stylesheets
    
    
  3. SYSTEM権限のあるユーザーとしてSQL*Plusにログインし、次のコマンドを実行します。

    GRANT CREATE ANY DIRECTORY TO ods;
    
  4. Oracle Data Pumpユーティリティのディレクトリ・オブジェクト、ダンプ・ファイルに使用するログ・ディレクトリ・オブジェクトおよびログ・ファイルを作成します。ODSユーザーとしてSQL*Plusにログインし、次のコマンドを実行します。

    CREATE OR REPLACE DIRECTORY directory_object_name as directory_path;
    CREATE OR REPLACE DIRECTORY log_directory_object_name as log_directory_path;
    
  5. directory_pathlog_directory_pathをファイル・システムに作成します。

  6. データベース・ウォレットの場所をデータベースのOracleホームのsqlnet.ora内に設定します。表領域の暗号化専用に個別のウォレットを使用することをお薦めします。

    1. 表領域の暗号化用に個別のデータベース・ウォレットを使用するには、sqlnet.oraにパラメータENCRYPTION_WALLET_LOCATIONを設定します。次に例を示します。

      ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/install/db11g/dbs)))
      
    2. すべてのOracleコンポーネントで同じデータベース・ウォレットを共有して使用するには、sqlnet.oraにパラメータWALLET_LOCATIONを設定します。次に例を示します。

      WALLET_LOCATION= (SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/install/db11g/dbs)))
      
  7. Oracle DatabaseのOracleホームを使用しているすべてのOracle Internet Directoryインスタンスを停止します。

  8. Oracle DatabaseのOracleホームで表領域の暗号化を初めて有効化する場合は、ALTER SYSTEM権限のあるユーザーとしてSQL*Plusにログインし、次のコマンドを実行します。

    ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY yourwalletpassword;
    
  9. Oracle Databaseを停止して再起動するたびに、ALTER SYSTEM権限のあるユーザーとしてSQL*Plusにログインし、次のコマンドを実行します。

    ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY yourwalletpassword;
    

    Oracle Internet Directoryを起動する前と、手順12に示すPerlスクリプトを実行する前に、このコマンドを必ず実行してください。

  10. 環境変数ORACLE_HOMEをOracle Databaseのホームに設定します。

  11. 環境変数NLS_LANGをOracle Databaseサーバーのキャラクタ・セットに設定します。

  12. コンピュータ上のperl5の場所と一致するようPerlスクリプトORACLE_HOME/ldap/datasecurity/oidtbltde.pl内のperl5実行可能ファイルのパスを編集します。

  13. Perl用のデータベース非依存インタフェース・モジュール(DBI)とPerl用のOracle DBDドライバがインストールされていない場合は、この2つをインストールします。

  14. Perlスクリプトoidtbltde.plを実行し、Oracle Internet DirectoryのTDEを有効化または無効化します。

26.3 Database VaultとOracle Internet Directoryの使用方法の概要

Oracle Internet Directoryでは、LDAPプロトコル層でアクセス制御を適用します。ただし、DBAなどの特権ユーザーは通常、基礎となるデータベース内のOracle Internet DirectoryデータにSQL*Plusでアクセスできます。

Oracle Database Vaultを使用すると、特権ユーザーによるOracle Internet Directoryデータへの不正アクセスを防止できます。このためには、Oracle Database Vaultをインストールして有効化し、Oracle Internet Directoryで使用するODSデータベース・スキーマを含むDatabase Vaultレルムを設定し、ODSデータベース・アカウントのみにデータ・アクセスを許可するポリシーを設定する必要があります。


関連項目:

  • Oracle Database Vaultのインストール、有効化および無効化のクイック・ガイドは、『Oracle Database 2日でセキュリティ・ガイド』を参照してください。

  • Oracle Database Vaultの管理の詳細は、『Oracle Database Vault管理者ガイド』を参照してください。


26.4 Oracle Database Vaultの構成によるOracle Internet Directoryデータの保護

この項では、Oracle Database Vault 11gをインストールおよび構成してOracle Internet Directoryデータを保護する方法について説明します。

26.4.1 Oracle Database Vaultのインストール

Oracle Database 11gにOracle Database Vaultがインストールされているかどうか不明な場合は、次のように入力します。

SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';

入力は、SQL*Plusプロンプトで行います。この問合せにOracle Database Vaultと返された場合、Oracle Database Vaultはインストールされています。

Oracle Database 11gにOracle Database Vaultがインストールされていない場合は、次の手順を実行します。

  1. 『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』の説明に従って、Oracle Internet Directoryをインストールします。

  2. 『Oracle Database 2日でセキュリティ・ガイド』の説明に従って、Oracle Database Vaultをインストールして登録します。

  3. Oracle Bug#7244497用のパッチをダウンロードしてインストールします。

  4. Oracle Bug#7291157用のパッチをダウンロードしてインストールします。

Oracle Database VaultがOracle Databaseにインストールされている場合は、次の手順を実行します。

  1. Oracle Database Vaultが有効化されている場合は、無効化します。『Oracle Database Vault管理者ガイド』の「Oracle Database Vaultの有効化および無効化」を参照してください。

  2. 『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』の説明に従って、Oracle Internet Directoryをインストールします。

  3. 『Oracle Database 2日でセキュリティ・ガイド』の説明に従って、Database Vaultを有効化します。

  4. Oracle Bug#7244497用のパッチをダウンロードしてインストールします。

  5. Oracle Bug#7291157用のパッチをダウンロードしてインストールします。

26.4.2 Oracle Internet Directory用のDatabase Vaultレルムおよびポリシーの追加

Oracle Internet Directoryには、必要なDatabase Vaultポリシーを適用するためのスクリプトが用意されています。これらのスクリプトは、$ORACLE_HOME/ldap/datasecurityの下にあるOracle Internet Directoryのインストール・ディレクトリに含まれています。

Database VaultポリシーをOracle Internet Directoryデータベースに適用するには、Oracle Internet Directory用のデフォルトのDatabase Vaultレルムを次のように作成する必要があります。

  1. dbv_oid_rule.sqlをテキスト・エディタで開き、Check ods connectionsルールとCheck ods connections 2ルール内のダミーIPアドレスを次のアドレスに置き換えます。

    Oracle Internet Directoryが実行されているコンピュータのIPアドレス

  2. データベースにDatabase Vault所有者として接続し、dbv_create_oid_policies.sqlを実行します。

dbv_create_oid_policies.sql内のポリシーにより、Oracle Internet DirectoryデータベースへのSQL*Plusアクセスが完全に禁止されます。一部のタスクでは、ODSユーザーとしてSQL*Plusでデータベースにアクセスする必要があります。この場合、Oracle Internet DirectoryデータベースへのSQL*Plusアクセスを特定のホストからのみ許可します。

Oracle Internet Directoryデータベースへの接続を許可する手順は、次のとおりです。

  1. dbv_oid_rule_sqlplus.sqlをテキスト・エディタで開きます。Check ods connections 3ルール内のダミーIPアドレスを、Oracle Internet DirectoryデータベースへのSQL*Plusアクセスを許可するホストのIPアドレスに置き換えます。

  2. データベースにDatabase Vault所有者として接続し、dbv_oid_rule_sqlplus.sqlを実行します。

ある時点でOracle Internet DirectoryデータベースへのSQL*Plusアクセスを完全にブロックする場合は、Database Vault所有者としてデータベースに接続し、dbv_oid_delete_rule_sqlplus.sqlを実行します。

26.4.3 Oracle Internet Directory用のOracle Database Vault構成の管理

データ・ディクショナリ・ビューの使用方法は、『Oracle Database Vault管理者ガイド』の「Oracle Database Vaultオブジェクト」を参照してください。この項では、Oracle Internet Directory関連の情報を報告するいくつかのビューについて説明します。

Oracle Internet Directoryで使用するDatabase Vaultレルムの名前はOID Realmです。このレルムの存在は、DBA_DV_REALMデータ・ディクショナリ・ビューに問合せを実行すると確認できます。

Oracle Internet Directory用に定義されているDatabase Vaultルールは、Check ods connectionsCheck ods connections 2Check odssm connectionsおよびAllow other connectionsです。dbv_oid_rule_sqlplus.sqlを実行すると、ルールCheck ods connection 3も定義されます。これらのルールは、OID App Accessという名前のルール・セットに追加されます。既存のルールの名前を確認するには、DBA_DV_RULE_SET_RULEビューに問合せを実行します。

CONNECTコマンド・ルールにより、このルール・セットが起動されます。これは、DBA_DV_COMMAND_RULEビューに問合せを実行すると確認できます。このCONNECTルールでは、インストールされている既存のOracle Database VaultでOracle Internet Directoryスクリプトを実行する際、既存のCONNECTコマンド・ルールが上書きされません。

26.4.4 Oracle Internet Directory用のDatabase Vaultポリシーの削除

前述の項でインストールしたOID用のDatabase Vaultポリシーを削除するには、データベースにDatabase Vault所有者として接続している間にdbv_delete_oid_policies.sqlを実行します。

26.4.5 Oracle Internet Directoryデータベース用のOracle Database Vaultの無効化

『Oracle Database Vault管理者ガイド』の「Oracle Database Vaultの有効化および無効化」を参照してください。

26.5 Database VaultとOracle Internet Directoryの使用方法のベスト・プラクティス

Oracle Database Vaultの使用時は、次の管理タスクに特別な注意が必要です。

26.6 機密の属性の概要

Oracle Internet Directoryは、機密の属性を暗号化形式で格納します。機密の属性の例としては、orclpasswordattributeorclrevpwd、プラグイン属性orclpluginsecuredflexfieldおよびサーバー・チェーン属性orclOIDSCExtPasswordがあります。機密の属性のリストは、DSA構成エントリ内の属性orclencryptedattributesに格納されています。デフォルトのリストを表26-1に示します。

表26-1 orclencryptedattributesに格納されている機密の属性

機密の属性 属性の使用方法

orclpluginsecuredflexfield

プラグインに渡される機密の属性。第41章を参照してください。

orcloidscextpasswor

プラグイン接続用のサーバー管理パスワード。

第41章を参照してください。

orcloidscwalletpassword

プラグインのsslwalletパスワード。第36章を参照してください。

orclrevpwd

可逆暗号化形式のユーザー・パスワード。第29章を参照してください。

orclunsyncrevpwd

関連するuserpasswordと同期されない可逆暗号化パスワード。第29章を参照してください。

orclodipprofileinterfaceconnectinformation

Oracle Directory Integration Platform: イベント伝播用のアプリケーションとの接続に使用される情報。

orclodipcondiraccesspassword

Oracle Directory Integration Platform: ディレクトリに接続するためにサード・パーティ・ディレクトリによって使用されます。

orclodipagentpassword

Oracle Directory Integration Platform: ディレクトリへのバインドに同期プロファイルで使用するパスワード。


最後の3エントリの詳細は、『Oracle Fusion Middleware Oracle Identity Managementユーザー・リファレンス』の「属性リファレンス」を参照してください。

orcldataprivacymode属性は、データの受信時にこれらの属性を暗号化するかどうかを制御します。orcldataprivacymodeが有効な場合、機密の属性は暗号化されます。プライバシ・モードが無効の場合、機密のデータはクリアテキストで返されます。

26.7 受信した機密の属性のプライバシの構成

プライバシ・モードはデフォルトでは無効です。つまり、orcldataprivacymodeの値は0です。セキュリティ保護を提供するには、orcldataprivacymodeの値を0から1に変更することで、プライバシ・モードを有効にする必要があります。

orcldataprivacymode値を決定するには、次の検索を実行します。

$ORACLE_HOME/bin/ldapsearch -h host -p port -D cn=orcladmin -q \
   -b "cn=dsaconfig,cn=configsets,cn=oracle internet directory" -s base \
   "objectclass=*" orcldataprivacymode

プライバシ・モードを有効にするには、次のエントリが含まれるLDIFファイルを使用します。

dn: cn=dsaconfig,cn=configsets,cn=oracle internet directory
changetype: modify
replace: orcldataprivacymode
orcldataprivacymode: 1

LDIFファイルを次のようなコマンドラインによりロードします。

$ORACLE_HOME/bin/ldapmodify -h host -p port -D cn=orcladmin -q -v \
   -f LDIF_file_name