この章では、Oracle Virtual Directoryのロギングと監査の管理方法について説明します。この付録の内容は次のとおりです。
Oracle Virtual Directoryのロギングの管理用インタフェースとして、Oracle Enterprise Manager Fusion Middleware ControlおよびOracle WebLogic Scripting Tool(WLST)を使用できます。この項では、Oracle Virtual Directoryのロギングの管理について説明します。この項の内容は次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlを使用すると、Oracle Fusion Middlewareコンポーネント全体のログ・ファイルをリスト、検索および構成できます。Oracle Enterprise Manager Fusion Middleware Controlからログ・ファイルを表示することも、ログ・ファイルをダウンロードし、別のツールを使用して表示することも可能です。
関連項目: Oracle Enterprise Manager Fusion Middleware Controlを使用したロギングの詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。 |
Oracle Virtual Directory固有のロギングの考慮事項
次に示す項目は、Oracle Virtual Directoryのロギングに固有であるため、『Oracle Fusion Middleware管理者ガイド』の情報を補足します。
Oracle Enterprise Manager Fusion Middleware Controlを使用してOracle Virtual Directoryのログ・レベルを設定する際、次のログ・レベルは適用されないため、Oracle Virtual Directoryに影響はありません。
NOTIFICATION: 16 (CONFIG)
TRACE: 16 (FINER)
access.logファイルにログ・メッセージが書き込まれるのは、ロギングがNOTIFICATION:1 (INFO)レベルに設定されている場合のみです。ログ・レベルをERROR:1 (SEVERE)またはWARNING:1 (WARNING)に引き上げ、access.logファイルに情報が書き込まれないようにできます。
一般的なガイドラインとして、Oracle Virtual Directoryのログ・レベルを、使用環境への情報が最小限になるように設定することをお薦めします。
WLSTを使用して、Oracle Virtual Directoryのロギングの次の管理タスクを実行できます。
listLoggers
を使用したログ出力とレベルのリスト
getLogLevel
を使用した特定のログ出力のレベルの取得(表示)
setLogLevel
を使用した特定のログ出力のレベルの設定
listLogHandlers
を使用したログ・ハンドラのリスト
configureLogHandlers
を使用したログ・ハンドラの構成
listLogs
を使用した既知のログのリスト
displayLogs
を使用したログの内容の検索と表示
関連項目: WLSTを使用したOracle Virtual Directoryのロギングの管理の詳細は、次のドキュメントを参照してください。
|
メッセージ・ロギングは、java.util.logging.Filter
実装クラスの使用、およびadapters.os_xmlファイルの各アダプタ構成で指定されるlogLevel属性を通じて制御できます。 java.util.logging.Filter StringMatchFilter
のデフォルトの実装は、Oracle Virtual Directoryに含まれています。このデフォルトの実装では、次の2つのパラメータがサポートされています。
StringToBeMatched
: 1つまたは複数のDIT/Stringsを指定できます。
AcceptOnMatch
: このブール値により、指定されたDIT/Stringsのリストとの一致に基づいてログ・メッセージを含めるかまたは除外できます。
java.util.logging.Filter
実装とそのパラメータは、server.os_xmlファイルで指定できます。次に、文字列c=us
を含むログ・メッセージを除外するStringMatchFilter
クラスのlogFilter
の構成の例を示します。
<logFilters> <filter className="com.octetstring.vde.util.StringMatchFilter"> <param name="StringToBeMatched" value="c=us" /> <param name="AcceptOnMatch" value="false" /> </filter> </logFilters>
ログ・メッセージを含めるには、AcceptOnMatch
をtrue
に設定します。ログ・メッセージには、logFilter
構成で指定されたDITが含まれます。ログ・メッセージを除外するには、AcceptOnMatch
をfalse
に設定します。ログ・メッセージには、指定されたDITは含まれません。StringMatchFilter
を有効にするには、ovd-logging.xmlファイルで定義されるログ出力またはハンドラのフィルタとしてStringMatchFilter
を構成します。次に、LogHandler
のフィルタを指定する構成の例を示します。
<logging_configuration> <log_handlers> <log_handler name='OVDHandler' class='oracle.core.ojdl.logging.ODLHandlerFactory' filter='com.octetstring.vde.util.StringMatchFilter'> <property> ... </property> </log_handler> </log_handlers> <loggers> ... </loggers> <logging_configuration>
注意: server.os_xml、ovd-logging.xml、およびadapters.os_xmlファイルは、次のディレクトリにあります。ORACLE_INSTANCE/config/OVD/config/COMPONENT_NAME/ |
Oracle Virtual Directoryでは、コンプライアンス、監査および分析の目的で、Oracle Application Server 11gインフラストラクチャの共通の監査フレームワークが使用されます。Oracle Virtual Directoryの監査を管理する共通の監査フレームワークへのインタフェースとして、Oracle Enterprise Manager Fusion Middleware ControlおよびWLSTを使用できます。この項では、Oracle Virtual Directoryの監査の管理について説明します。この項の内容は次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlインタフェースを使用して、次の管理を含むOracle Virtual Directoryの監査タスクを実行できます。
監査ポリシー
監査データの収集と格納
監査レポート
Oracle Virtual Directoryを含む多くのOracle Fusion Middlewareコンポーネントの監査手順は、『Oracle Fusion Middlewareセキュリティ・ガイド』で詳しく説明されている手順に似ています。次に、Oracle Enterprise Manager Fusion Middleware Controlを使用したOracle Virtual Directoryサーバーの監査手順の概要を示します。
「Oracle Virtual Directory」メニューから「セキュリティ」を選択し、「監査ポリシー設定」を選択します。
「監査ポリシー」リストから、「カスタム」を選択して独自のフィルタを構成するか、事前設定されたフィルタ(「なし」、「低」、または「中」)から1つを選択します。
障害のみの監査を実施する場合は、「障害のみ選択」をクリックします。
フィルタを構成するには、フィルタ名の隣の「編集」アイコンをクリックします。そのフィルタの「フィルタの編集」ダイアログが表示されます。
ボタン、メニューの選択肢、入力する文字列を使用してフィルタ条件を指定します。「条件」には、「Initiator」、「ターゲット」、リモートIP、および「リソース」が含まれます。「条件」のテストには、-contains、-contains_case、-endswith、-endswith_case、-eq、-matches、-ne、-startswith、および-startswith_caseが含まれます。テストには、文字列として値を入力します。グループ化にはカッコを使用し、結合にはANDおよびORを使用します。
条件を追加するには、「追加」アイコンをクリックします。
フィルタの編集が完了したら、「OK」をクリックします。
関連項目: Oracle Enterprise Manager Fusion Middleware Controlを使用したOracle Virtual Directoryの監査の詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。 |
WLSTを使用して、Oracle Virtual Directoryの次の監査タスクを実行できます。
getAuditPolicy
を使用した監査ポリシーの取得(表示)
setAuditPolicy
を使用した監査ポリシーの設定
listAuditEvents
を使用した監査イベントのリスト(表示)
関連項目: WLSTを使用したOracle Virtual Directoryの監査の管理の詳細は、次のドキュメントを参照してください。
|
Oracle Virtual Directoryのように、ローカルでその監査ポリシーを管理するコンポーネントの場合は、コマンドに対する引数としてMBean名を含める必要があります。監査MBeanの名前の書式は次のとおりです。
oracle.as.ovd:type=component.auditconfig,name=auditconfig,instance=INSTANCE, component=COMPONENT_NAME
注意: 前の例の監査MBeanは、1つの連続する文字列である必要があります。このドキュメントでは、スペースと幅の制限のために2つの行で表示されています。 |
属性に変更を加える前に、MBeanが現在のサーバー構成を保持していることを確認する必要があります。そのためには、wlst invoke()
コマンドを使用して、Oracle Virtual DirectoryサーバーからMBeanに構成をロードする必要があります。変更が完了したら、invoke()
コマンドを使用して、MBean構成をOracle Virtual Directoryサーバーに保存し、次にinvoke()
コマンドを使用してOracle Virtual Directoryサーバーから更新された構成をMBeanにロードする必要があります。このプロセスによって、Oracle Virtual DirectoryサーバーとMBeanの同期が取られます。このようにinvoke()
を使用するには、ツリーのルート・プロキシMBeanにナビゲートする必要があります。ルート・プロキシMBeanの名前の書式は次のとおりです。
oracle.as.management.mbeans.register:type=component,name=COMPONENT_NAME,instance=INSTANCE
次に例を示します。
oracle.as.management.mbeans.register:type=component,name=ovd1,instance=instance1
setAuditPolicy()
およびinvoke()
を使用する wlst
セッションの例を示します。
java weblogic.WLST connect('username','password','t3://WEBLOGIC_HOST:WEBLOGIC_ADMIN_PORT') custom() cd('oracle.as.management.mbeans.register') cd('oracle.as.management.mbeans.register:type=component,name=ovd1,instance= instance1') invoke('load',jarray.array([],java.lang.Object),jarray.array([],java.lang.String) setAuditPolicy(filterPreset='None',addSpecialUsers="cn=user2,cn=users,dc=oracle,dc =com",removeSpecialUsers='cn=user1,cn=users,dc=oracle,dc=com',on='oracle.as.ovd:ty pe=component.auditconfig,name=auditconfig,instance=instance1,component=ovd1') custom() cd('oracle.as.management.mbeans.register') cd ('oracle.as.management.mbeans.register:type=component,name=ovd1,instance= instance1') invoke('save',jarray.array([],java.lang.Object),jarray.array([],java.lang.String) invoke('load',jarray.array([],java.lang.Object),jarray.array([],java.lang.String)