この章では、Oracle Virtual Directoryのサーバー設定の構成方法について説明します。この章の内容は次のとおりです。
Fusion Middleware Controlを使用したOracle Virtual Directoryサーバーのプロパティの構成
Oracle Directory Services Managerを使用したOracle Virtual Directoryライブラリの管理
Oracle Virtual Directoryでは、匿名ユーザーまたは認証済ユーザーに対してサーバーが戻すことが可能なエントリ数など、項目を規制する機能が提供されます。インバウンド・トランザクションの通信量を制限することもできます。この機能を使用すると、プロキシ設定されたソースをDoS攻撃から保護することや、LDAPの通信量を制限して制限付きディレクトリ・インフラストラクチャ・リソースへのアクセスを制御できます。このようなプロパティなどは、Oracle Enterprise Manager Fusion Middleware Control上のOracle Virtual Directoryの「サーバー・プロパティ」ページで構成できます。
「サーバー・プロパティ」画面には、「一般」および「スーパーユーザー・パスワードの変更」の2つのタブがあります。「一般」タブには、アクティビティ制限に対する割当て制限、検索設定、スキーマおよびアクセス制御チェックなどの一般的なサーバー・プロパティを構成するオプションが含まれています。「スーパーユーザー・パスワードの変更」タブでは、Oracle Virtual Directoryのスーパーユーザーのパスワードを変更できます。
次に、各タブでのプロパティの構成手順を示します。
Oracle Enterprise Manager Fusion Middleware Controlにログインし、サーバー設定を構成するOracle Virtual Directoryターゲットにナビゲートします。
「管理」を選択し、「Oracle Virtual Directory」メニューから「サーバー・プロパティ」を選択します。「サーバー・プロパティ」画面が表示されます。
一般的なOracle Virtual Directoryサーバー・プロパティの構成手順:
「サーバー・プロパティ」画面の「一般」タブをクリックします。
「割当て制限実行の有効」オプションを選択し、次の情報を入力して、サーバーの割当て制限実行を有効化します。
注意: 「アクティビティ制限」パラメータを構成するには、「割当て制限実行の有効」オプションを選択する必要があります。 |
「クライアント最大接続数」フィールドに、許可するクライアント接続の最大数を入力します。
「1接続当たりの最大操作数」フィールドに、接続ごとに許可する操作の最大数を入力します。
「1認証済サブジェクト当たりの最大接続数」フィールドに、認証されたサブジェクトごとに許可する接続の最大数を入力します。
「1IPアドレス当たりの最大接続数」フィールドに、Oracle Virtual Directoryに接続されたIPアドレスごとに許可する接続の最大数を入力します。
「接続が非アクティブの状態になっている最大期間」フィールド(分単位)に、Oracle Virtual Directoryが接続を閉じるまでに、クライアント接続が非アクティブの状態でいることができる最大期間(分単位)を入力します。
「除外IPアドレス」フィールドに、割当て制限チェックから除外するIPアドレスを追加または削除します。IPアドレスを追加するには、「除外IPアドレス」フィールドにIPアドレスを入力します。IPアドレスを削除するには、「除外IPアドレス」フィールドでIPアドレスを選択し、削除します。
注意: Oracle Virtual Directory 11gリリース1(11.1.1)ではIPv6がサポートされています。ネットワークでIPv6がサポートされている場合、「除外IPアドレス」フィールドにリテラルIPv6アドレスを使用して、割当て制限実行から除外するIPアドレスを指定できます。 |
「除外サブジェクト」フィールドに、割当て制限チェックから除外するサブジェクトを追加または削除します。サブジェクトを追加するには、除外IPサブジェクト・フィールドにサブジェクトを入力します。サブジェクトを削除するには、除外IPサブジェクト・フィールドでサブジェクトを選択し、削除します。
注意: デフォルトでは、スーパーユーザー(通常cn=orcladmin)は割当て制限チェックから除外されます。 |
「匿名検索」フィールドに、匿名クライアント検索に対して戻すエントリの最大数を入力します。デフォルト設定は1000です。
「認証されたユーザーの検索」フィールドに、認証済ユーザーに対して戻すエントリの最大数を入力します。認証済ユーザーは、Oracle Virtual Directoryにバインドされたユーザーとして定義されます。Oracle Virtual Directoryのルート・アカウントはこの割当て制限から除外され、デフォルト設定は10,000です。
「アクセス制御チェックの有効化」オプションを選択し、Oracle Virtual Directoryでアクセス制御ファイルの定義に従ってアクセス制御を実行できるようにします。
「スキーマ・チェックの有効化」オプションを選択し、サーバーにより認識されているスキーマ定義にLDAPエントリが適合しているかどうかをOracle Virtual Directoryでチェックできるようにします。外部のスキーマ・チェック機能を使用する場合にのみ、「スキーマ・チェックの有効化」オプションを無効化することをお薦めします。
構成されているアダプタに関係なく、Oracle Virtual Directoryで永続検索制御をサポートできるようにするには、「永続検索の有効化」オプションを選択します。
「サーバー構成」画面の「適用」をクリックして、設定を適用します。
Oracle Virtual Directoryのスーパーユーザー・パスワードの変更手順:
「サーバー・プロパティ」画面の「スーパーユーザー・パスワードの変更」タブをクリックします。
「旧パスワード」フィールドに、既存のスーパーユーザーのパスワードを入力します。
「新規パスワード」フィールドに、新しいスーパーユーザーのパスワードを入力します。
「パスワードの確認」フィールドに、新しいスーパーユーザーのパスワードをもう一度入力します。
「適用」をクリックします。
ORACLE_HOME/common/bin/wlst.shに配置されているWebLogic Scripting Tool(WLST)を使用して、次の手順でOracle Virtual Directoryサーバー設定を構成できます。
WebLogic管理サーバーに接続します。次に例を示します。
connect('username', 'password','t3://host_name:Admin_Server_Port')
Oracle Virtual Directoryルート・プロキシMBeanノードに移動し、MBeanを初期化します。次に例を示します。
custom() cd('oracle.as.management.mbeans.register') cd('oracle.as.management.mbeans.register:type=component,name=OVD_COMPONENT_NAME,instance=INSTANCE_NAME') invoke('load',jarray.array([],java.lang.Object),jarray.array([],java.lang.Strin g))
Oracle Virtual Directoryサーバー構成MBeanに移動します。次に例を示します。
cd('../..') cd('oracle.as.ovd/oracle.as.ovd:type=component.serverconfig,name=serverconfig,i nstance=INSTANCE_NAME,component=OVD_COMPONENT_NAME')
WLST ls()コマンドを使用すると、Oracle Virtual Directoryサーバー構成MBeanの属性のリストを表示できます。get('
ATTRIBUTE_NAME
')
コマンドを使用して、特定の属性の現在の値を取得します。たとえば、MaxConnections(許可するクライアント接続の最大数)の現在の値を取得するには、次のコマンドを実行します。
get('MaxConnections')
set()コマンドを使用して属性を更新します。たとえば、MaxConnections設定の値を更新するには、次のコマンドを実行します。
set('MaxConnections', 3000)
注意: 前の例のとおりにset()コマンドを使用すると、属性の設定はMBeanに保存されます。Oracle Virtual Directoryサーバーに変更を保存するには、この手順の手順5 を実行する必要があります。 |
次のリストは、Oracle Virtual Directoryサーバー構成MBeanの属性と、属性を設定するためのコマンドの例です。
ACLCheck: set('ACLCheck',true)
Anonymous: set('Anonymous',2000)
Authenticated: set('Authenticated',20000)
DoSActive: set('DoSActive',true)
DoSRatePeriod: set('DoSRatePeriod',20000)
ExemptIPAddresses:
最初(1つのコマンドライン上):
invoke('addExemptIPAddress',jarray.array([java.lang.String('127.0.0.1')], java.lang.Object),jarray.array(['java.lang.String'],java.lang.String))
次(1つのコマンドライン上):
invoke('deleteExemptIPAddress',jarray.array([java.lang.String('127.0.0.1')] ,java.lang.Object),jarray.array(['java.lang.String'],java.lang.String))
ExemptSubjects:
最初(1つのコマンドライン上):
invoke('addExemptSubjects',jarray.array([java.lang.String('cn=myuser')], java.lang.Object),jarray.array(['java.lang.String'],java.lang.String))
次(1つのコマンドライン上):
invoke('deleteExemptSubjects',jarray.array([java.lang.String('cn=myuser')], java.lang.Object),jarray.array(['java.lang.String'],java.lang.String))
InactiveConnectionTimeout: set('InactiveConnectionTimeout',50)
MaxConnections: set('MaxConnections',50)
MaxConnectionsPerIP: set('MaxConnectionsPerIP',20)
MaxConnectionsPerSubject: set('MaxConnectionsPerSubject',20)
MaxOperationsPerConnection:
set('MaxOperationsPerConnection',10)
PersistentSearch: set('PersistentSearch',false)
TLSKeyStore: 読取り専用属性
TLSTrustStore: 読取り専用属性
TLSKeyStorePassword:
set('TLSKeyStorePassword',java.lang.String('PASSWORD').toCharArray())
TLSTrustStorePassword:
set('TLSTrustStorePassword',java.lang.String('welcome1').toCharArray())
SchemaCheck: set('SchemaCheck',true)
SchemaLocations:
最初(1つのコマンドライン上):
invoke('addSchemaLocation',jarray.array([java.lang.String('schema.myschema. xml')],java.lang.Object),jarray.array(['java.lang.String'],java.lang.String ))
次(1つのコマンドライン上):
invoke('deleteSchemaLocation',jarray.array([java.lang.String('schema.mysche ma.xml')],java.lang.Object),jarray.array(['java.lang.String'],java.lang.Str ing))
Oracle Virtual Directoryサーバーに変更を保存してから、MBeanをリフレッシュします。次に例を示します。
cd('../..')
cd('oracle.as.management.mbeans.register')
cd('oracle.as.management.mbeans.register:type=component,name=OVD_COMPONENT_NAME,instance=asinst1')
invoke('save',jarray.array([],java.lang.Object),jarray.array([],java.lang.Strin
g))
invoke('load',jarray.array([],java.lang.Object),jarray.array([],java.lang.Strin
g))
Oracle Virtual Directoryでは、リモート・クライアントまたはサーバー障害が原因の孤立したソケット接続を検出して安全に閉じる、2つのパラメータがサポートされています。これらのパラメータは、アプリケーションまたはディレクトリ・ソースがOracle Virtual Directory以外の異なるネットワーク上(特に同じデータ・センター外)にあり、ネットワークが不安定な場合に役立ちます。
各パラメータを、TCPがクライアントまたはサーバーからのレスポンスを待機する期間に秒単位で設定します。ネットワークのステータスと安定性が、設定するパラメータおよび期間に影響します。不安定なネットワークでは、これらのパラメータを、安定したネットワーク環境の場合よりも長く設定します。
注意: オペレーティング・システムによりTIME_WAITステータスの接続が複数報告され、それらが5分以上など、延長された期間で閉じられない場合は、これらのパラメータを使用して孤立した接続を制御する目安になります。 |
孤立したクライアント接続の制御:
LDAPリスナーのSocketOptionsReadTimeout
パラメータを使用して、孤立したクライアント接続を制御できます。WLST set()
コマンドを使用して、SocketOptionsReadTimeout
パラメータを設定します。次に例を示します。
set('SocketOptionsReadTimeout', 120)
WLSTを使用したリスナー設定の更新の詳しい手順は、「リスナー設定の更新」を参照してください。
注意: LDAPリスナーのこのパラメータは、Oracle Enterprise Manager Fusion Middleware Controlを使用して設定することもできます。詳細は、「LDAPリスナーの作成」で説明されているRead Timeoutパラメータを参照してください。 |
孤立したサーバー接続の制御:
ORACLE_INSTANCE/config/OPMN/opmn/opmn.xmlファイル内のvde.soTimeoutBackend
Java仮想マシン・パラメータを使用して、孤立したサーバー接続を制御できます。
vde.soTimeoutBackend
パラメータを設定するには、opmn.xmlファイルを編集してからOracle Virtual Directoryを再起動します。次に、opmn.xmlファイルに設定されたvde.soTimeoutBackend
パラメータの例を示します。
<ias-component id="OVD_COMPONENT_NAME"> <process-type id="OVD" module-id="OVD"> <module-data> <category id="start-options"> <data id="java-options" value="-server -Xms512m -Xmx512m -Doracle.security.jps.config=$ORACLE_INSTANCE/config/JPS/jps-config-jse.xml -Dvde.soTimeoutBackend=120"/> <data id="java-classpath" value="$ORACLE_ HOME/ovd/jlib/vde.jar$:$ORACLE_HOME/jdbc/lib/ojdbc6.jar"/> </category> </module-data> <stop timeout="120"/> </process-type> </ias-component>
この項では、Oracle Virtual Directoryプラグインおよび結合ビュー・アダプタで使用されるライブラリの管理方法について説明します。この項の内容は次のとおりです。
Oracle Virtual Directoryサーバーに存在するライブラリ(プラグインおよび結合ビュー・アダプタも含む)を表示するには、次の手順を実行します。
Oracle Directory Services Managerにログインします。
タスク選択バーから「拡張」を選択します。拡張ナビゲーション・ツリーが表示されます。
拡張ツリーの「ライブラリ」エントリを開きます。Oracle Virtual Directoryサーバーに存在するライブラリ・ファイルのリストは、拡張ツリーの「ライブラリ」エントリに表示されます。
Oracle Directory Services Managerを使用して、Oracle Virtual Directoryにライブラリをロードするには、次の手順を実行します。
Oracle Directory Services Managerにログインします。
タスク選択バーから「拡張」を選択します。拡張ナビゲーション・ツリーが表示されます。
拡張ツリーの「ライブラリ」エントリを開きます。
拡張ツリーの上部にある「新規ライブラリのアップロード」ボタンをクリックします。「新規ライブラリのアップロード」ダイアログ・ボックスが表示されます。
Oracle Virtual Directoryにロードするライブラリへのパスを入力するか、「参照」をクリックし、ライブラリに移動して選択します。「新規ライブラリのアップロード」ダイアログ・ボックスで「OK」をクリックして、Oracle Virtual Directoryにライブラリをロードします。拡張ツリーの「ライブラリ」エントリにライブラリが表示されます。
syncovdconfig
コマンドを使用して、複数のOracle Virtual Directoryコンポーネント間で次のOracle Virtual Directory構成ファイルをコピーできます。
server.os_xml
adapters.os_xml
acls.os_xml
schema.user.xml
syncovdconfig
コマンド(UNIX/Linuxの場合は.pl、Windowsの場合は.bat)は、$ORACLE_HOME/ovd/bin/ディレクトリにあります。syncovdconfig
の構文は次のとおりです。
syncovdconfig -srcHost source_host_name -srcPort source_port_number -srcUserName source_user_name -dstHost destination_host_name -dstPort destination_port_number -dstUserName destination_user_name -configFile name_of_configuration_file -adapterName name_of_adapter -isSrcAdminSSL [true |false] -isDstAdminSSL [true |false]
注意:
|
次に、syncovdconfig
のオプションのリストを示します。
必須。文字列形式。ソースOracle Virtual Directoryサーバー(別のOracle Virtual Directoryサーバーにコピーする構成ファイルを格納しているOracle Virtual Directoryサーバー)のホスト名。
必須。整数形式。ソースOracle Virtual Directoryサーバー(別のOracle Virtual Directoryサーバーにコピーする構成ファイルを格納しているOracle Virtual Directoryサーバー)のリスナー・ポート番号。
オプション。文字列形式。ソースOracle Virtual Directoryサーバー(別のOracle Virtual Directoryサーバーにコピーする構成ファイルを格納しているOracle Virtual Directoryサーバー)のスーパーユーザー名。srcUserNameオプションを指定しない場合は、デフォルト値のcn=orcladminが使用されます。
必須。文字列形式。宛先Oracle Virtual Directoryサーバー(構成ファイルのコピー先となるOracle Virtual Directoryサーバー)のホスト名。
必須。整数形式。宛先Oracle Virtual Directoryサーバー(構成ファイルのコピー先となるOracle Virtual Directoryサーバー)のリスナー・ポート番号。
オプション。文字列形式。宛先Oracle Virtual Directoryサーバー(構成ファイルのコピー先となるOracle Virtual Directoryサーバー)のスーパーユーザー名。dstUserNameオプションを指定しない場合は、デフォルト値のcn=orcladminが使用されます。
オプション。文字列形式。宛先Oracle Virtual DirectoryサーバーにコピーするソースOacle Virtual Directoryサーバー上の構成ファイル名。同じコマンド内でconfigFileオプションを複数回使用すると、複数の構成ファイルをコピーできます。
configFileオプションを使用しない場合、ソースOracle Virtual Directorサーバー上のserver.os_xml、adapters.os_xml、acls.os_xml、およびschema.user.xmlファイルが宛先Oracle Virtual Directoryサーバーにコピーされます。
オプション。文字列形式。宛先Oracle Virtual DirectoryサーバーにコピーするソースOacle Virtual Directoryサーバー上のアダプタ名。同じコマンド内でadapterNameオプションを複数回使用すると、複数のアダプタをコピーできます。
adapterNameオプションは使用せず、configFileオプションを使用してadapters.os.xmlファイルを指定すると、宛先Oracle Virtual Directoryサーバー上のadapters.os.xmlファイルは上書きされます。
空白文字を含むアダプタ名は、引用符(")で囲んでください。次に例を示します。
ORACLE_HOME/ovd/bin/syncovdconfig.pl -srcHost sales.west.com -srcPort 8888 \ -dstHost sales.east.com -dstPort 8899 -configFile adapters.os_xml \ -adapterName "Sales Organizations"
オプション。ブール形式。ソースOracle Virtual Directoryコンポーネント上の管理リスナーをSSL有効にするかどうかを指定します。サポートされている値は、trueおよびfalseです。isSrcAdminSSLオプションを指定しない場合は、デフォルト値のtrueが使用されます。
オプション。ブール形式。宛先Oracle Virtual Directoryコンポーネント上の管理リスナーをSSL有効にするかどうかを指定します。サポートされている値は、trueおよびfalseです。isDstAdminSSLオプションを指定しない場合は、デフォルト値のtrueが使用されます。
次に、syncovdconfig
コマンドの例を示します。
2つのOracle Virtual Directoryコンポーネント間でserver.os_xml、adapters.os_xml、acls.os_xmlおよびschema.user.xmlファイルの同期を取る場合:
ORACLE_HOME/ovd/bin/syncovdconfig.pl –srcHost sales.west.com –srcPort 8899 \
–srcUserName cn=orcladmin –dstHost sales.west.com –dstPort 8888 –dstUserName \
cn=orcladmin -isSrcAdminSSl true –isDstAdminSSL false
2つのOracle Virtual Directoryコンポーネント間でserver.os_xmlファイルのみの同期を取る場合:
ORACLE_HOME/ovd/bin/syncovdconfig.pl –srcHost sales.west.com –srcPort 8899 \
–srcUserName cn=orcladmin –dstHost sales.west.com –dstPort 8888 \
–dstUserName cn=orcladmin -configFile server.os_xml
2つのOracle Virtual Directoryコンポーネント間で複数のファイルの同期を取る場合:
ORACLE_HOME/ovd/bin/syncovdconfig.pl –srcHost sales.west.com –srcPort 8899 \
–srcUserName cn=orcladmin –dstHost sales.west.com –dstPort 8888 \
–dstUserName cn=orcladmin -configFile server.os_xml –configFile adapters.os_xml
2つのOracle Virtual Directoryコンポーネント間で特定のアダプタの同期を取る場合:
ORACLE_HOME/ovd/bin/syncovdconfig.pl –srcHost sales.west.com –srcPort 8899 \
–srcUserName cn=orcladmin –dstHost sales.west.com –dstPort 8888 \
–dstUserName cn=orcladmin -configFile server.os_xml \
-configFile adapters.os_xml –adapterName Sales