OPSS共通の監査フレームワークの使用

<このテキストを削除しないでください。これは、ブラウザ実行時に生成される"主要"なトピック一覧のプレースホルダです。>

目的

このチュートリアルでは、Oracle Platform Security Services(OPSS)共通の監査フレームワークの使用について説明します。

この演習を完了すると、以下のことができるようになります。

このOBEでは、監査データベース・ストアの構成と使用、および監査データベース・ストアに関連する機能については説明していません。

所要時間

約1時間

概要

OPSSは、Java SE環境およびJava EE環境でセキュリティ・サービスを開発し、管理するためのオラクルのセキュリティ・フレームワークです。 このチュートリアルは、OPSS共通の監査フレームワークの使用です。

JavaコンポーネントでOPSS共通の監査フレームワークを使用する

これは、Javaコンポーネント環境のOPSS共通の監査フレームワークを示したアーキテクチャです。 このOBEでは、WebLogicドメインでOPSS監査機能を使用する方法について説明します。 この環境は、次の要素で構成されています。

システム・コンポーネントでOPSS共通の監査フレームワークを使用する

これは、システム・コンポーネント環境のOPSS共通の監査フレームワークを示したアーキテクチャです。 このOBEでは、IdMドメインでOPSS監査機能を使用する方法について説明します。 この環境は、次の要素で構成されています。

ソフトウェア要件とハードウェア要件

要件は以下のとおりです。

前提条件

このチュートリアルを始める前に、次の前提条件を完了しておく必要があります。

.

このOBEを始める前に、『OPSS環境のセットアップ』のOBEを完了する必要があります。

.

このOBEを始める前に、『WebLogicでのOID認証プロバイダの構成』のOBEを完了する必要があります。

JavaコンポーネントでOPSS共通の監査フレームワークを使用する

以下のステップに従って、JavaコンポーネントでOPSS監査機能を構成および使用します。

.

myxmldomainを起動する

」アイコンをクリックして、ターミナル・ウィンドウを開きます。 次のコマンドを入力して、myxmldomain AdminServerを起動します。

cd $DOMAINS/myxmldomain
./startWebLogic.sh

次のステップへ進む前に、WebLogic Serverが実行中であることを確認します。

 

.

OpssADFDemoAppをデプロイする

次のコマンドを実行して、ドメインに演習用のアプリケーションをデプロイします。

cd $LAB_HOME/bin
./deployapp.sh

出力結果は以下のようになります。

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Connecting to t3://localhost:7001 with userid weblogic ...
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'myxmldomain'.

Warning: An insecure protocol was used to connect to the
server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.

***Connected successfully***
Deploying OpssADFDemoApp application: /home/oracle/labs/apps/OpssADFDemoApp.ear
Deploying application from /home/oracle/labs/apps/OpssADFDemoApp.ear to targets (upload=false) ...
<Mar 26, 2012 12:50:03 AM PDT> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating deploy operation for application, OpssADFDemoApp [archive: /home/oracle/labs/apps/OpssADFDemoApp.ear], to AdminServer .>
........Completed the deployment of Application with status completed
Current Status of your Deployment:
Deployment command type: deploy
Deployment State : completed
Deployment Message : [Deployer:149194]Operation 'deploy' on application 'OpssADFDemoApp [Version=V2.0]' has succeeded on 'AdminServer'

 

.

OPSS監査関連ファイルを確認する

JavaコンポーネントでOPSS監査機能を使用する場合、次のファイルが使用されます。 各ファイルを見つけて開き、ファイルのコンテンツを確認して内容を把握します。

ファイル 目的とロケーション
jps-config.xml メインのOPSS構成ファイルです。 FMW ControlまたはWLSTを使用して変更を行った場合は、このファイルに構成が保存されます。 このファイルは、$DOMAIN_HOME/config/fmwconfigフォルダにあります。 監査用の構成が含まれたserviceInstance要素を見つけます。
audit-store.xml ファイルベースの監査メタデータ・ストア・ファイルです。 このファイルには、監査ログに書き込まれる監査イベント・レコードの形式が含まれます。 このファイルは、$DOMAIN_HOME/config/fmwconfigフォルダにあります。
audit_1_0.log すべての監査イベント・レコードが書き込まれるドメインのバスストップ・ファイルです。 このファイルは、監査レコードが書き込まれると、作成されます。 また、このファイルは、$DOMAIN_HOME/servers/${SERVER_NAME}/logs/auditlogs/JPSフォルダに作成されます。

 

.

監査ポリシーを構成する

次のコマンドを実行して、アプリケーションによる認可リクエストCheckPermissionCheckSubjectIsAccessAllowedコールに対して監査イベントをトリガーする、カスタム監査ポリシーを構成します。

$ $MW_HOME/Oracle_IDM1/common/bin/wlst.sh
$ connect('weblogic','welcome1')
$ setAuditPolicy(filterPreset='Custom',addCustomEvents='JPS: CheckPermission, CheckSubject, IsAccessAllowed', componentType='JPS')
$ exit()

サーバーを再起動する必要はありません。 監査ポリシーが構成されて、OPSS監査メタデータ・ストアに保存されました。

 

.

アプリケーションを実行する

ドメインに監査ポリシーを構成したため、OPSS認可リクエストを実行するアプリケーションを実行して、レコードが監査ログに書き込まれるよう、監査イベントをトリガーする必要があります。

OpssADFDemoAppアプリケーションを使用するため、Firefoxを使用してhttp://localhost:7001/OpssADFDemoApp/faces/view1に移動します。 以下に示す「Start Here」ボタンをクリックします。

ページにログが表示されます。 以下の資格証明のいずれかを使用して、監査イベントをトリガーします。

資格証明1:
ユーザー名: joeuser
パスワード: welcome1

資格証明2:
ユーザー名: weblogic
パスワード: welcome1

アプリケーション内で、開発ワークスペースのカレンダーが表示されているタスク・フローに、ログイン中のユーザーがアクセスできるかどうかを確認するため、認可リクエストが作成されます。 カレンダーが表示されるユーザーはアクセスが許可されており、カレンダーが表示されないユーザーはアクセスが拒否されています。 これらのイベントで、監査レコードがトリガーされて、ドメインの監査ログ・ファイルに書き込まれます。 アカウントjoeuserにはカレンダーが表示され、ユーザーweblogicにはカレンダーは表示されません。

 

.

バスストップ・ファイルを確認する

ターミナル・ウィンドウで、$DOMAIN_HOME/servers/AdminServer/logs/auditlogs/JPS/audit_1_0.logファイルを開いて表示します。 ファイル内で、実行したログインに関連する監査レコードを探します。

出力は次のエントリのようになっています。

2012-04-27 01:24:50.779 - "CheckSubject" true "Executing privileged action in doAsPrivileged mode as subject null." "OpssADFDemoApp(V2.0)" - - "11d1def534ea1be0:-7ee78cc2:136f07dd47b:-8000-000000000000018c,0" "Authorization" "success" - - - - - - - - - "file:/u01/app/oracle/Middleware/oracle_common/modules/oracle.jps_11.1.1/jps-ee.jar" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "[]" - - - - - - - - - - - - - - - - - - - - - - "(principals([(Name:joeuser) (Class name:weblogic.security.principal.WLSUserImpl)] [(Name:employees) (Class name:weblogic.security.principal.WLSGroupImpl)] [(Name:authenticated-role) (Class name:oracle.security.jps.internal.core.principals.JpsAuthenticatedRoleImpl)] [(Name:Developer) (Class name:oracle.security.jps.service.policystore.ApplicationRole)] [(Name:anonymous-role) (Class name:oracle.security.jps.internal.core.principals.JpsAnonymousRoleImpl)] ))" - - - - - - - - "1" "0" - - - - - - - "96" -

2012-04-27 01:24:52.779 "joeuser" "CheckPermission" true "Authorization check permission succeeded." "OpssADFDemoApp(V2.0)" - - "11d1def534ea1be0:-7ee78cc2:136f07dd47b:-8000-0000000000000190,0" "Authorization" "success" - - - - - - - - - "file:/u01/app/oracle/Middleware/oracle_common/modules/oracle.adf.share_11.1.1/adf-share-support.jar" - - - - - - - - - - - - - - - - - - - - - - - - - - "view" "true" "TaskFlowPermission" - - "/WEB-INF/taskFlowCall1.xml#taskFlowCall1" - - - - - - - - - - - - - - - - - - - - - - - "" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "1" "0" - - "oracle.adf.controller.security.TaskFlowPermission//WEB-INF/taskFlowCall1.xml#taskFlowCall1/view" - - - - "103" -

 

.

アプリケーションをアンデプロイしてmyxmldomainをシャットダウンする

このOBE演習では、FMW Controlを使用したOpssADFDemoAppのデプロイについて説明します。 これが適切に動作するよう、アプリケーションをアンデプロイする必要があります。 次のコマンドを実行して、ドメインから演習用のアプリケーションをアンデプロイします。

cd $LAB_HOME/bin
./undeployapp.sh

出力結果は以下のようになります。

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Connecting to t3://localhost:7001 with userid weblogic ...
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'myxmldomain'.

Warning: An insecure protocol was used to connect to the
server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.

***Connected successfully***
Undeploying OpssADFDemoApp application...
Undeploying application OpssADFDemoApp ...
<Mar 26, 2012 8:22:59 AM PDT> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating undeploy operation for application, OpssADFDemoApp#V2.0 [archive: null], to AdminServer .>
.Completed the undeployment of Application with status completed
Current Status of your Deployment:
Deployment command type: undeploy
Deployment State : completed
Deployment Message : [Deployer:149194]Operation 'remove' on application 'OpssADFDemoApp [Version=V2.0]' has succeeded on 'AdminServer'

起動したターミナル・ウィンドウで[Ctrl]キーと[C]キーを押してmyxmldomainをシャットダウンします。

 

システム・コンポーネントでOPSS共通の監査フレームワークを使用する

以下のステップに従って、システム・コンポーネントでOPSS監査機能を構成および使用します。

.

IDMDomainを起動する

」アイコンをクリックして、ターミナル・ウィンドウを開きます。 次のコマンドを入力して、IDMDomain AdminServerを起動します。

cd $DOMAINS/IDMDomain
./startWebLogic.sh

サーバーを起動するためのブート資格証明として、weblogicおよびwelcome1を入力します。

次のステップに進む前に、WebLogic Serverが実行されていることを確認します。

 

.

OPSS監査関連ファイルを確認する

システム・コンポーネントでOPSS監査機能を使用する場合、次のファイルが使用されます。

ファイル 目的とロケーション
audit-config.xml

このファイルは、Oracle HTTP Server、Oracle Web Cacheなどのシステム・コンポーネントに対する監査を構成するために使用されます。 これらのコンポーネントには、jps-config.xmlファイルはありません。

jps-config-jse.xml このファイルは、Oracle Reports、Oracle Virtual Directoryなどのシステム・コンポーネントに監査を構成するために使用されます。 OIDの監査構成はデータベースに格納されます。
audit-store.xml ファイルベースの監査メタデータ・ストア・ファイルです。 このファイルには、監査ログに書き込まれる監査イベント・レコードの形式が含まれます。 このファイルは、$DOMAIN_HOME/config/fmwconfigフォルダにあります。
audit_$PID.log これは、すべての監査イベント・レコードが書き込まれるコンポーネント・インスタンスのバスストップ・ファイルです。 このファイルは、監査レコードが書き込まれると、作成されます。 このファイルは、INSTANCE_HOME/auditlogs/<コンポーネント・タイプ>/<コンポーネント名>フォルダにあります。 そのため、OIDインスタンスの場合は、通常$MW_HOME/asinst1/auditlogs/OID/oid1にあります。

 

.

監査ポリシーを構成する

Firefoxを開いてhttp://localhost:7001/emに移動し、Enterprise Manager(EM)を開いてFMW Controlにアクセスします。 次の資格証明を使用して、ログインします。

ユーザー名: weblogic
パスワード: welcome1

左側のペインで「Identity and Access」ノードを展開し、「oid1」を右クリックして「Security」→「Audit Policy」を選択し、Audit Policyページを開きます。

Oracle Identity Management」ノードを展開します(まだ展開していない場合)。 インタフェースをしばらく自由に確認してください。 準備ができたら、Audit Levelに「Custom」を選択し、メインの「Enable Audit」チェック・ボックスを選択します。 これにより、OIDのすべてのチェック・ボックスが自動的に選択されて、 ログイン・イベントやログアウト・イベントなど、OIDに対して作成されるすべての認証リクエストに監査が構成されます。 「Apply」をクリックして変更を保存し、変更を有効にします。

 

.

監査イベント・レコードを生成する

OIDコンポーネントに監査ポリシーを構成したため、監査レコードがログ・ファイルに書き込まれるように、監査イベントをトリガーする操作をいくつか実行する必要があります。

使用可能なターミナル・ウィンドウで、次のコマンドを実行してOIDの監査イベントを確認します。

cd $MW_HOME/asinst_1/auditlogs/OID/oid1

ディレクトリ参照を実行して、正しいファイルが表示されることを確認します。

ls -l

今日の日付のファイルを見つけて、プロセス識別子(PID)を書き留めます。

次のコマンドを実行して、監査ファイルのオープン・テールを保持します。 ファイル名のPID部分を、前の手順で書きとめたPIDに置き換えます。

tail -f audit-pidPID.log

出力に、フィールドまたは監査レコードが表示されます。 [Enter]キーを数回押して空の行をいくつか作成すると、新しいレコードがある場合に容易に確認できます。

OPSS環境のセットアップ』のOBEで行ったように、JXplorerを開きます。 JXplorerを使用して、OIDとの間で接続切断を実行します。 これらの各イベントは、OIDへのログイン・イベントとログアウト・イベントであるため、ログインおよびログアウトを行うと、ターミナル・ウィンドウに、これらのログイン・イベントとログアウト・イベントに関連する監査レコードが表示されます。 また、エラーの監査イベントが表示されるよう、無効な資格証明を使用してログインしてみます。

次に、参照用にOIDログイン資格証明を示します。

ユーザー名: joeuser
パスワード: welcome1

2012-03-26 22:39:31.677037 "OID" - - - "10" - - "UserLogout" TRUE - "cn=emd admin,cn=oracle internet directory" "Operation name: unbind" - "::ffff:127.0.0.1" - - - - "unbind" -


2012-03-26 23:00:48.642235 "OID" "004j2pOMJ6EFw000jzwkno0000rL00002I,0" - - "13" - - "UserLogin" TRUE - "cn=orcladmin" "Operation name: bind" - "::ffff:127.0.0.1" - - - - "bind" "Simple:SSL NoAuth:DN/Password Based"


2012-03-26 23:07:49.255195 "OID" - - - "13" - - "UserLogout" TRUE - "cn=orcladmin" "Operation name: unbind" - "::ffff:127.0.0.1" - - - - "unbind" -

 

.

IDMDomainをシャットダウンする

起動するのに使用したターミナル・ウィンドウで[Ctrl]キーと[C]キーを押してIDMDomainをシャットダウンします。

 

まとめ

OPSS共通の監査フレームワークの使用のOBEを完了しました。 このシリーズに含まれている他のOBEチュートリアルに進む準備ができました。

このチュートリアルで学習した内容は、以下のとおりです。

参考資料

著者

Hardware and Software Engineered to Work Together Copyright © 2012, Oracle and/or its affiliates. All rights reserved