Oracle Platform Security Services (OPSS)との監査の統合
次の項では、監査をOracle Platform Security Services (OPSS)と統合する方法について、Oracle Tuxedoの視点から説明します。
注意:
|
シングル・ポイント・セキュリティを設定する前に、Tuxedoのセキュリティのアーキテクチャと要件について理解しておく必要があります。この作業は、OPSS管理者と協調して行います。
|
Oracle Tuxedoは、Oracle Platform Security Services (OPSS)監査コンポーネントと統合できます。この統合により、監査の分析とレポート作成に関してOPSSが持つすべての利点を生かすことができます。
OPSS監査コンポーネントとの統合により、Oracle Tuxedoではリッチなデータを生成して監査ストアに一元的に格納できます。その後引き続き多様なBIツール(OPSSなど)を使用して、Oracle Business Intelligence Publisherなどでデータを表示および分析できます。
この機能では、静的XMLファイル(
component_events.xml)に特定のイベントを定義することにより、それらのイベント用のデータを生成できます。このようにすると、アプリケーションに影響を与えることなく監査方法およびポリシーを変更できるため、非常に便利です。
OPSSは、標準ベースのアプリケーション・プログラミング・インタフェース(API)形式の抽象レイヤーを提供し、これによりセキュリティおよびID管理を実装する細かな作業から解放されます。OPSS監査コンポーネントとの統合により、Oracle TuxedoではこれらのOPSS APIを直接使用して監査を行うことができます。監査関連のコードを1行も記述する必要がなく、既存のコードを変更する必要もありません。
この図は、イベント(
tpcallなど)が発生した際のOPSS監査フレームワークでのOracle Tuxedoイベント・フローを示しています。
この部分を使用するには、
「構成」の手順に示すようにOracle Tuxedoを構成する必要があります。
この図では、Oracle TuxedoクライアントがOracle Tuxedoサービスを呼び出しています。続いてこのサービスが、OPSS監査モジュール(
.TUXJPSAUDIT)をすでに構成しているOracle Tuxedo Javaサーバーにリクエスト(イベントとも呼ばれます)を送信します。続いてこのモジュールが、OPSS監査APIを呼び出して、このイベントを監査するかどうかをチェックします。そうする場合、このモジュールは中間的な場所(バスストップと呼ばれます)にあるローカル・ファイルに対してそれを監査して、監査イベント構造体を作成し、ステータス、イニシエータ、リソース、ECIDなどのイベント情報を収集します。
この部分を使用するには、OPSSスタンドアロン監査ローダーを構成する必要があります。
OPSS APIがバスストップに対してイベントを監査すると、OPSS監査ローダーがインスタンスで実行中のすべてのコンポーネントにわたって監査レコードを収集します。監査ストアとしてデータベースが構成されている場合、OPSS監査ローダーはバスストップからイベントをプルしてそのデータを監査ストアに移動します。
この機能用にOracle Tuxedoを構成するには、次の操作を実行します。
Oracle TuxedoレジストリへのOPSS監査プラグインの登録
Oracle Tuxedoレジストリは、プラグイン・モジュールに関連する情報を格納しておくディスク・ベースのリポジトリです。初期状態では、このレジストリはデフォルトのセキュリティ・プラグインに関する登録情報を保持しています。この機能を使用するためには、OPSSプラグイン用にこのレジストリを構成してからプラグインをインストールする必要があります。
この機能を今後使用しない場合は、次の操作を実行できます。
Oracle TuxedoレジストリへのOPSS監査プラグインの登録
Oracle Tuxedoレジストリ用のOPSSプラグインを登録するには、
epifregツールを使用する必要があります。OPSSプラグインを登録すると、デフォルトのOracle Tuxedo監査実装がULOGからOPSS監査に置き換わります。
リスト5-1
Oracle TuxedoレジストリへのOPSS監査プラグインの登録の例
epifregedt -s -k "SYSTEM/impl/bea/native/audfan" -a InterceptionSeq=bea/native/audopss
epifreg -r -p bea/native/audopss -i engine/security/auditing -v 1.0 -f libtux.so -e _ep_dl_audopss
Oracle TuxedoレジストリにOPSS監査プラグインを登録するには、
$TUXDIR/binにある次のシェル・スクリプト・ツールを使用します。
WindowsプラットフォームにOracle TuxedoのOPSS監査プラグインを登録するコマンド。
UNIXプラットフォームにOracle TuxedoのOPSS監査プラグインを登録するコマンド。
Oracle TuxedoレジストリからのOPSS監査プラグインの登録解除
Oracle TuxedoレジストリからOPSSプラグインを登録解除するには、
epifunregツールを使用する必要があります。OPSSプラグインを登録解除すると、デフォルトのOracle Tuxedo監査実装がULOGに復元されます。
リスト5-2
Oracle TuxedoレジストリからのOPSS監査プラグインの登録解除の例
epifunreg -p bea/native/audopss
Oracle TuxedoレジストリからOPSS監査プラグインを登録解除するには、
$TUXDIR/binにある次のシェル・スクリプト・ツールを使用します。
WindowsプラットフォームでOracle TuxedoのOPSS監査プラグインを登録解除するコマンド。
UNIXプラットフォームでOracle TuxedoのOPSS監査プラグインを登録解除するコマンド。
Oracle Tuxedo監査フレームワークの構成
この機能を使用するには、Oracle Tuxedo監査フレームワークを作成する必要があります。
•
|
Oracle Tuxedoプラグイン・フレームワークへのOPSS監査の追加
|
Oracle Tuxedo監査構成ルールに従って、Tuxedoプラグイン・フレームワークにOPSS監査を追加します。詳細は、
「監査」を参照してください。
•
|
UBBCONFIGのセキュリティ・オプションの構成
|
UBBCONFIGの
RESOURCESセクションで、
SECURITYオプションを
ACLまたは
MANDATORY_ACLに設定します。
Oracle Tuxedo OPSS監査モジュールの構成
この機能を使用するには、Oracle Tuxedo OPSS監査モジュールを構成する必要があります。
Oracle Tuxedo Javaサーバー(TMJAVASVR)の構成
Oracle Tuxedo OPSS監査モジュールは、Oracle Tuxedo Javaサーバー(
TMJAVASVR)で実行されるため、
UBBCONFIGに
TMJAVASVRを構成する必要があります。
TMJAVASVRは、監査リクエスト全体を処理して、監査モジュール
.TUXJPSAUDITを通知します。これは、OPSS監査があるOracle TuxedoシステムとOracle Tuxedoアプリケーション・サービスとのブリッジとして機能します。
リスト5-3に、
UBBCONFIGの
SERVERSセクションに
TMJAVASVRを構成する例を示します。
•
|
構成ファイル tpopss_audit.xmlを読み取ります。
|
•
|
監査モジュール .TUXJPSAUDITを通知します。これは、 tpopss_audit.xmlに従ってJavaコードで実装されています。
|
•
|
監査リクエストを .TUXJPSAUDITに転送します。
|
•
|
この .TUXJPSAUDITからの結果を取得して実行します。
|
CLOPT="-- -c /home/oracle/app/javaserver/tpopss_audit.xml"
MINDISPATCHTHREADS=2 MAXDISPATCHTHREADS=3
Oracle Tuxedo OPSS監査モジュールの構成
TMJAVASVRを構成したので、
${TUXDIR}/udataobj/tuxj/opssにある
tpospss_audit.xmlというOracle Tuxedo Javaサーバー構成ファイルにOracle Tuxedo OPSS監査モジュールを構成できます。
Oracle Tuxedo Javaサーバーがこの機能のために使用するパッケージが2つあります。
com.oracle.tuxedo.tjopss_12.2.2.0.jar (Oracle Tuxedoに同梱され、
${TUXDIR}/udataobj/tuxj/opssにあります)と
opss-manifest.jar (OPSSに同梱され、
-Dcommon.components.homeで指定されたパスにあります。たとえば、
-Dcommon.components.home=/testarea/tuxuser/opss_standalone/を指定した場合、この
opss-manifest.jarは
/testarea/tuxuser/opss_standalone/modules/oracle.jps_12.1.2/opss-manifest.jarにあります)です。
例は、
リスト5-4を参照してください。次の属性を指定しています。
次の
jvm-options属性を宣言し、設定したすべてのパスが絶対パスであることを確認します。
•
|
-Doracle.security.jps.config
|
これは、OPSS構成ファイル
jps-config.xmlの絶対パスを宣言します。
これは、
java.policyの絶対パスを宣言します。
•
|
-Doracle.tuxedo.opss.event.config.dir
|
これは、
component_events.xmlの絶対パスを宣言します。
•
|
-Doracle.tuxedo.audit.type
|
これは、
TMJAVASVR .TUXJPSAUDITのコンポーネント・タイプを宣言して、どのコンポーネント表がバスストップにレコードを格納するかを決定します。
•
|
-Doracle.tuxedo.audit.category
|
これは、
TMJAVASVR .TUXJPSAUDITのコンポーネント・イベント・カテゴリを宣言します。
これは、OPSSコンポーネント・ホーム・ディレクトリの絶対パスを宣言します。
•
|
オプションの jvm-optionsは次のとおりです
|
この2つのjvm-optionsをtrueに設定すると、JPSデバッグおよびトレース機能が開きます。
次の
classpath属性を宣言し、設定したすべてのパスが絶対パスであることを確認します。
•
|
com.oracle.tuxedo.tjopss_12.2.2.0.jar
|
Oracle Tuxedoには、OPSS監査モジュールを統合するための
com.oracle.tuxedo.tjopss_12.2.2.0.jarが同梱されています。このライブラリは、
$TUXDIR/udataobj/tuxj/opssに存在します。
このパスは、
tpopss_audit.xmlの
<classpath-config> classpath属性に宣言する必要があります。
Oracle OPSSモジュールには、
opss-manifest.jarが同梱されています。
このパスは、
tpopss_audit.xmlの
<classpath-config> classpath属性に宣言する必要があります。
リスト5-4
tpopss_audit.xmlの例
<?xml version="1.0" encoding="UTF-8"?>
<TJSconfig version="2.0">
do not forget modify $TUXDIR $COMMON_COMPONENTS_HOME $APPDIR to absolute path
<jvm-options>-Dtuxedo.tjatmi.strictly_check=yes</jvm-options>
<jvm-options>-Doracle.security.jps.config=${TUXDIR}/udataobj/tuxj/opss/jps-config.xml</jvm-options>
<jvm-options>-Djava.security.policy=${TUXDIR}/udataobj/tuxj/opss/java.policy</jvm-options>
<jvm-options>-Doracle.tuxedo.opss.event.config.dir=${TUXDIR}/udataobj/tuxj/opss/</jvm-options>
<jvm-options>-Doracle.tuxedo.audit.type=tuxedo_opss_template</jvm-options>
<jvm-options>-Doracle.tuxedo.audit.category=TUXEDOOPSSAUDIT</jvm-options>
<jvm-options>-Dcommon.components.home=${COMMON_COMPONENTS_HOME}</jvm-options>
<jvm-options>-Djps.auth.debug=true</jvm-options>
<jvm-options>-Djps.auth.debug.verbose=true</jvm-options>
<classpath>${TUXDIR}/udataobj/tuxj/opss/com.oracle.tuxedo.tjopss_13.1.1.0.jar</classpath>
<classpath>${COMMON_COMPONENTS_HOME}/modules/oracle.jps_12.1.2/opss-manifest.jar</classpath>
<server-class name="TuxAuditServer"/>
この機能を使用するには、次のOPSS構成ファイルを構成する必要があります。これらはすべて、
$TUXDIR/udataobj/tuxj/opssにあります。
Oracle Tuxedoは、OPSS監査プラグインを使用するための初期フィルタ設定が含まれている
jps-config.xmlランタイム構成ファイルを介して、Oracle Fusion Middleware監査フレームワークと統合されます。その絶対パスを
tpopss_audit.xml構成ファイルに宣言する必要があります(jvm-options:
-Doracle.security.jps.config)。詳細は、
「Oracle Tuxedo OPSS監査モジュールの構成」を参照してください。
例は、
リスト5-5を参照してください。
jps-config.xmlでは
serviceInstance auditを宣言しており、プロバイダを
audit.provider、場所を
./audit-store.xmlとしています。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jpsConfig xmlns="http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schema-major-version="11" schema-minor-version="1" xsi:schemaLocation="http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd jps-config-11_1.xsd">
<property name="oracle.security.jps.jaas.mode" value="off"/>
<property name="oracle.security.jps.enterprise.user.class" value="weblogic.security.principal.WLSUserImpl"/>
<property name="oracle.security.jps.enterprise.role.class" value="weblogic.security.principal.WLSGroupImpl"/>
<propertySet name="saml.trusted.issuers.1">
<property name="name" value="www.oracle.com"/>
<propertySet name="trust.provider.embedded">
<property name="trust.provider.className" value="oracle.security.jps.internal.trust.provider.embedded.EmbeddedProviderImpl"/>
<property name="trust.clockSkew" value="60"/>
<property name="trust.token.validityPeriod" value="1800"/>
<property name="trust.token.includeCertificate" value="false"/>
<serviceProvider type="POLICY_STORE" name="policystore.xml.provider" class="oracle.security.jps.internal.policystore.xml.XmlPolicyStoreProvider">
<description>XML-based PolicyStore Provider</description>
<serviceProvider type="AUDIT" name="audit.provider" class="oracle.security.jps.internal.audit.AuditProvider">
<description>Audit Service</description>
<serviceInstance name="policystore.xml" provider="policystore.xml.provider" location="./system-jazn-data.xml">
<description>File Based Policy Store Service Instance</description>
<serviceInstance name="audit" provider="audit.provider" location="./audit-store.xml">
<description>Audit Service</description>
<property name="audit.filterPreset" value="None"/>
<property name="audit.maxDirSize" value="0"/>
<property name="audit.maxFileSize" value="104857600"/>
<property name="audit.timezone" value="utc"/>
<property name="audit.loader.interval" value="15"/>
<property name="audit.loader.repositoryType" value="File"/>
<property name="auditstore.type" value="file"/>
<property name="audit.db.principal.map" value="AuditDbPrincipalMap"/>
<property name="audit.db.principal.key" value="AuditDbPrincipalKey"/>
<jpsContexts default="default">
<jpsContext name="default">
<serviceInstanceRef ref="policystore.xml"/>
<serviceInstanceRef ref="audit"/>
java.policyは、システム全体のコード権限を付与するシステム・ポリシー・ファイルです。このポリシーは、Javaプログラミング言語アプリケーション環境のポリシー・オブジェクトで表されます(様々なソースのコードに対してどの権限を使用できるかを指定し、様々なプリンシパルとして実行されます)。
特にこの機能の場合、OPSS監査APIを呼び出すには、このファイルを使用して、すべてのドメインに監査ストアへのアクセス権限を付与する必要があります。その絶対パスを
tpopss_audit.xml構成ファイルに宣言する必要があります(jvm-options:
-D Djava.security.policy)。詳細は、
「Oracle Tuxedo OPSS監査モジュールの構成」を参照してください。
例は、
リスト5-6を参照してください。次の2つの付与を特にこの機能用に追加しています。
•
|
これは、 file:${common.components.home}/modules/oracle.jps_12.1.2/*への権限を付与します。ここには、 opss-manifest.jarが存在します。
|
grant codeBase "file:${common.components.home}/modules/oracle.jps_12.1.2/*" {
permission java.security.AllPermission;
•
|
これは、 file:${oracle.deployed.app.dir}/*への権限を付与します。ここには、必須の構成ファイル( tpopss_audit.xml、 jps-config.xml、 component_events.xml、 audit-store.xml、 java.policyおよび system-jazn-data.xml)が存在します。
|
grant codeBase "file:${oracle.deployed.app.dir}/*" {
permission java.security.AllPermission;
// Standard extensions get all permissions by default
grant codeBase "file:${{java.ext.dirs}}/*" {
permission java.security.AllPermission;
// default permissions granted to all domains
// Allows any thread to stop itself using the java.lang.Thread.stop()
// method that takes no argument.
// Note that this permission is granted by default only to remain
// It is strongly recommended that you either remove this permission
// from this policy file or further restrict it to code sources
// that you specify, because Thread.stop() is potentially unsafe.
// See "http://java.sun.com/notes" for more information.
permission java.lang.RuntimePermission "stopThread";
// allows anyone to listen on un-privileged ports
permission java.net.SocketPermission "localhost:1024-", "listen";
// "standard" properies that can be read by anyone
permission java.util.PropertyPermission "java.version", "read";
permission java.util.PropertyPermission "java.vendor", "read";
permission java.util.PropertyPermission "java.vendor.url", "read";
permission java.util.PropertyPermission "java.class.version", "read";
permission java.util.PropertyPermission "os.name", "read";
permission java.util.PropertyPermission "os.version", "read";
permission java.util.PropertyPermission "os.arch", "read";
permission java.util.PropertyPermission "file.separator", "read";
permission java.util.PropertyPermission "path.separator", "read";
permission java.util.PropertyPermission "line.separator", "read";
permission java.util.PropertyPermission "java.specification.version", "read";
permission java.util.PropertyPermission "java.specification.vendor", "read";
permission java.util.PropertyPermission "java.specification.name", "read";
permission java.util.PropertyPermission "java.vm.specification.version", "read";
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
permission java.util.PropertyPermission "java.vm.specification.name", "read";
permission java.util.PropertyPermission "java.vm.version", "read";
permission java.util.PropertyPermission "java.vm.vendor", "read";
permission java.util.PropertyPermission "java.vm.name", "read";
grant codeBase "file:${common.components.home}/modules/oracle.jps_12.1.2/*" {
permission java.security.AllPermission;
grant codeBase "file:${common.components.home}/modules/oracle.iau_12.1.2/*" {
permission java.security.AllPermission;
grant codeBase "file:${classpath}/*" {
permission java.security.AllPermission;
grant codeBase "file:${oracle.deployed.app.dir}/*" {
permission java.security.AllPermission;
grant codeBase "file:${TUXDIR}/udataobj/tuxj/opss/*" {
permission java.security.AllPermission;
grant codeBase "file:${TUXDIR}/udataobj/tuxj/*" {
permission java.security.AllPermission;
component_events.xml (静的)およびaudit-store.xml (動的)
component_events.xmlは、OPSS監査プラグインによって生成されるすべての監査イベントを定義する静的ファイルです。
audit-store.xmlは、静的ファイル
component_events.xmlからマップされるすべての監査イベントを定義する動的ファイルです。
Oracle Tuxedo監査モジュール
.TUXJPSAUDITの
tmboot後、特定のコンポーネントの監査ポリシーが
audit-store.xmlに格納されます。
.TUXJPSAUDITは、自動的にイベント・コンポーネントを登録し、それを
component_events.xmlから
audit-store.xmlにマップします。イベント・コンポーネントを自動的に登録解除した後、
.TUXJPSAUDITはそれを
audit-store.xmlから削除します。
注意:
|
Oracle TuxedoはOPSSスタンドアロン・コンポーネントに依存しているため、実際には audit-store.xmlがこの機能のために主に使用されるファイルです。それでも、引き続き静的ファイル component_events.xmlを使用して監査ポリシーを調整し、 CLASSPATHに component_events.xmlを指定する必要があります。詳細は、 「監査ポリシーの変更」を参照してください。
|
component_events.xmlの絶対パスを
tpopss_audit.xml構成ファイルに宣言する必要があります(jvm-options:
-Doracle.tuxedo.opss.event.config.dir)。詳細は、
「Oracle Tuxedo OPSS監査モジュールの構成」を参照してください。
component_events.xml構成ファイルで、次のように設定する必要があります。
監査対応コンポーネントとは、Oracle Fusion Middleware監査フレームワークに統合され、監査ポリシーの構成とイベントの監査が可能なコンポーネントを指します。また、
tpopss_audit.xmlに
componentTypeを設定する必要があります(jvm-options:
-Doracle.tuxedo.audit.type)。
監査イベント・カテゴリには、機能領域内の関連イベントが含まれます。属性は、ベースに分類されます。また、
tpopss_audit.xmlに
categoryを設定する必要があります(jvm-options:
-Doracle.tuxedo.audit.category)。
•
|
componentTypeを tuxedo_opss_templateに設定しています( リスト5-4の" <jvm-options>-Doracle.tuxedo.audit.type=tuxedo_opss_template</jvm-options>"と同じです)。
|
•
|
categoryを TUXEDOOPSSAUDITに設定しています( リスト5-4の" <jvm-options>-Doracle.tuxedo.audit.category=TUXEDOOPSSAUDIT</jvm-options>"と同じです)。
|
リスト5-7
component_events.xmlの例
<?xml version="1.0" encoding="UTF-8"?>
<AuditConfig xmlns="http://xmlns.oracle.com/ias/audit/audit-2.0.xsd">
<AuditComponent minor="0" major="1" componentType="tuxedo_opss_template">
<Attributes version="1.0" ns="tuxedo_opss_template">
<Attribute order="1" displayName="visitor ID" required="true" searchable="true" maxLength="255" type="string" name="visitorid">
<HelpText>Visitor ID</HelpText>
<Attribute order="2" displayName="Start Time" required="true" searchable="true" maxLength="2048" type="dateTime" name="starttime">
<HelpText>The time a visitor enters.</HelpText>
<Attribute order="3" displayName="End Time" required="true" searchable="true" maxLength="2048" type="dateTime" name="endtime">
<HelpText>the time a visitor exists.</HelpText>
<Attribute order="4" displayName="Service Charge" required="true" searchable="true" maxLength="2048" type="float" name="fee">
<HelpText>the dollar amount a visitor pays.</HelpText>
<Attribute order="5" displayName="Service Item" required="true" searchable="true" maxLength="2048" type="float" name="item">
<HelpText>the name of an item a visitor borrows.</HelpText>
<Category displayName="TUXEDOOPSSAUDIT" name="TUXEDOOPSSAUDIT">
<Attribute version="1.1" ns="common" name="EventType">
<HelpText>The type of the audit event. Use wlst listAuditEvents to list out all the events.</HelpText>
<Attribute version="1.0" ns="tuxedo_opss_template" name="visitorid">
<HelpText>Visitor ID</HelpText>
<Attribute version="1.0" ns="tuxedo_opss_template" name="starttime">
<HelpText>The time a visitor centers.</HelpText>
<Attribute version="1.0" ns="tuxedo_opss_template" name="endtime">
<HelpText>the time a visitor exists.</HelpText>
<HelpText>TUXEDOOPSSAUDIT category</HelpText>
<Event displayName="SERVICECALL" name="SERVICECALL">
<HelpText>A service call enters the facility.</HelpText>
<Event displayName="ENQUEUE" name="ENQUEUE">
<HelpText>A enqueue enters the facility.</HelpText>
<Event displayName="DEQUEUE" name="DEQUEUE">
<HelpText>A dequeue enters the facility.</HelpText>
<Event displayName="POST" name="POST">
<HelpText>A post call enters the facility.</HelpText>
<Event displayName="CONNECT" name="CONNECT">
<HelpText>A connect enters the facility.</HelpText>
<Event displayName="IMPERSONATE" name="IMPERSONATE">
<HelpText>A impersonate enters the facility.</HelpText>
<Event displayName="LOGON" name="LOGON">
<HelpText>A logon enters the facility.</HelpText>
<Event displayName="LOGOFF" name="LOGOFF">
<HelpText>A logoff enters the facility.</HelpText>
<Event displayName="DECRYPT" name="DECRYPT">
<HelpText>A decrypt enters the facility.</HelpText>
<Event displayName="SERVICESIGNATURE" name="SERVICESIGNATURE">
<HelpText>A service signature enters the facility.</HelpText>
<Event displayName="SERVICEENCRYPTION" name="SERVICEENCRYPTION">
<HelpText>A service encryption enters the facility.</HelpText>
<Event displayName="QUEUESIGNATURE" name="QUEUESIGNATURE">
<HelpText>A queue signature enters the facility.</HelpText>
<Event displayName="EVENTSIGNATURE" name="EVENTSIGNATURE">
<HelpText>A event signature enters the facility.</HelpText>
<Event displayName="EVENTENCRYPTION" name="EVENTENCRYPTION">
<HelpText>A event encryption enters the facility.</HelpText>
<Event displayName="SIGNATURE" name="SIGNATURE">
<HelpText>A signature enters the facility.</HelpText>
<Event displayName="QUEUEENCRYPTION" name="QUEUEENCRYPTION">
<HelpText>A queue encryption enters the facility.</HelpText>
<Event displayName="UNKNOWN" name="UNKNOWN">
<HelpText>A unknown enters the facility.</HelpText>
<FilterPresetDefinitions>
<FilterPresetDefinition helpText="" displayName="Low" name="Low">
<FilterCategory enabled="partial" name="TUXEDOOPSSAUDIT">SERVICECALL,ENQUEUE,DEQUEUE,POST,CONNECT,IMPERSONATE,LOGON,LOGOFF,DECRYPT,SERVICESIGNATURE,SERVICEENCRYPTION,QUEUESIGNATURE,QUEUEENCRYPTION,EVENTSIGNATURE,EVENTENCRYPTION,SIGNATURE,UNKNOWN</FilterCategory>
</FilterPresetDefinition>
<FilterPresetDefinition helpText="" displayName="Medium" name="Medium">
<FilterCategory enabled="partial" name="TUXEDOOPSSAUDIT">SERVICECALL,ENQUEUE,DEQUEUE,POST,CONNECT,IMPERSONATE,LOGON,LOGOFF,DECRYPT,SERVICESIGNATURE,SERVICEENCRYPTION,QUEUESIGNATURE,QUEUEENCRYPTION,EVENTSIGNATURE,EVENTENCRYPTION,SIGNATURE,UNKNOWN</FilterCategory>
</FilterPresetDefinition>
</FilterPresetDefinitions>
<Policy filterPreset="Custom">
<FilterCategory enabled="partial" name="TUXEDOOPSSAUDIT">SERVICECALL,ENQUEUE,DEQUEUE,POST,CONNECT,IMPERSONATE,LOGON,LOGOFF,DECRYPT,SERVICESIGNATURE,SERVICEENCRYPTION,QUEUESIGNATURE,QUEUEENCRYPTION,EVENTSIGNATURE,EVENTENCRYPTION,SIGNATURE,UNKNOWN</FilterCategory>
<AttributesMapping version="1.0" tableName="IAU_CUSTOM" ns="tuxedo_opss_template">
<AttributeColumn datatype="string" column="IAU_STRING_001" attribute="visitorid"/>
<AttributeColumn datatype="dateTime" column="IAU_DATETIME_001" attribute="starttime"/>
<AttributeColumn datatype="dateTime" column="IAU_DATETIME_002" attribute="endtime"/>
<AttributeColumn datatype="float" column="IAU_FLOAT_001" attribute="fee"/>
<AttributeColumn datatype="float" column="IAU_FLOAT_002" attribute="item"/>
system-jazn-data.xmlはOPSS構成ファイルです。Oracle Tuxdoにはこのファイルがデフォルトで
$TUXDIR/udataobj/tuxj/opssに用意されており、この機能のために使用されます。このファイルはそのまま保持し、変更または削除しないでください。このファイルの詳細は、
『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。
この機能を使用するには、OPSS監査バスストップを構成する必要があります。
OPSS監査バスストップ・ファイルには、
audit_<rotation_index>.logという名前を付けます。アンダースコア(
_)をセパレータとして使用できます(現在のファイルには、
_<rotation_index>は不要です)。
監査バスストップ・ファイルの場所は、現時点では構成できません。Oracle Tuxedo OPSS監査バスストップ・ファイルは、
jps-config.xmlの親ディレクトリにあります。次に例を示します。
<parent directory of jps-config.xml>/logs/auditLogs/<componentType>
リスト5-8
OPSS監査バスストップ・ファイルの例
#Fields:Date Time Initiator EventType EventStatus MessageText AuditUser ApplicationName AuditService:TransactionId ContextFields DomainName ECID EventCategory FailureCode HomeInstance HostId HostNwaddr MajorVersion MinorVersion RID RemoteIP Resource Roles SessionId Target TargetComponentType TenantId ThreadId TransactionId UserSession:AuthenticationMethod UserTenantId tuxedo_opss_template:endtime tuxedo_opss_template:fee tuxedo_opss_template:item tuxedo_opss_template:starttime tuxedo_opss_template:visitorid
#Remark Values:ComponentType="tuxedo_opss_template" ReleaseVersion="MAIN"
2015-05-12 06:27:39.259 - "SERVICECALL" true "WARN: TUXEDO AUDIT: who = U1, operation_name = SERVICECALL, operation_target = TOUPPER, status = operation success" - - - - - "0000Kp6nelk8TsS_MDS4ye1LKPpR000002,0" "TUXEDOOPSSAUDIT" - - "wyhbj" "10.182.54.145" "1" "0" - - - - - - - - "12" - - - 2015-05-12 06:27:38.794 - - 2015-05-12 06:27:38.794 "U1"
静的構成ファイル
component_events.xmlでイベントを追加、削除または変更して、監査ポリシーをいつでも変更できます。監査ポリシーへの変更は、Oracle Tuxedoを再起動するとすぐに有効になります(
tmboot後、
.TUXJPSAUDITは対応する動的
audit-store.xmlで監査ポリシーを自動的に更新します)。