プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティの管理
12c (12.2.1.3.0)
E90347-06
目次へ移動
目次

前
次

8 WebLogic監査プロバイダの構成

ドメイン構成に変更が加えられるか、ドメイン内のいずれかのリソースで管理操作が呼び出されると、セキュリティ操作(認証や認可など)の実行前と後に、WebLogicセキュリティ・フレームワークによって監査プロバイダが呼び出されます。個々のイベントを監査するかどうかの決定は監査プロバイダによって行われ、特定の監査基準または重大度レベルに基づいて決定することができます。監査情報を記載した記録は、LDAPサーバー、データベース、シンプル・ファイルなどの出力リポジトリに書き出すことができます。

この章の内容は次のとおりです。

監査プロバイダの概要

監査とは、リクエストの操作とそれらのリクエストの結果に関する情報を、否認防止を目的として収集、格納、および配布するプロセスのことです。 言い換えれば、監査プロバイダはコンピュータのアクティビティの電子的な記録を生成します。

監査プロバイダの構成はオプションです。デフォルト・セキュリティ・レルム(myrealm)には監査プロバイダは構成されていません。WebLogic Serverには、WebLogic監査プロバイダ(WebLogic Server管理コンソールではDefaultAuditor)というプロバイダが用意されています。また、カスタム監査プロバイダを開発することもできます。詳細は、『Oracle WebLogic Serverセキュリティ・プロバイダの開発』の監査プロバイダに関する項を参照してください。

WebLogic監査プロバイダによってログに記録されるイベント

WebLogic監査プロバイダが有効になっている場合、認証、認可、ユーザー・アカウント・ステータスといったイベントをログに記録することができます。WebLogic監査プロバイダは、表8-1で説明するイベントのログを記録できます。

表8-1 WebLogic監査プロバイダのイベント

監査イベント 意味
AUTHENTICATE

単純認証(ユーザー名とパスワード)が発生しました。

ASSERTIDENTITY

境界認証(トークン・ベース)が発生しました。

USERLOCKED

無効なログイン試行によってユーザー・アカウントがロックされました。

USERUNLOCKED

ユーザー・アカウントのロックがクリアされました。

USERLOCKOUTEXPIRED

ユーザー・アカウントのロックの期限が切れました。

ISAUTHORIZED

認可処理の試行が発生しました。

ROLEEVENT

getRolesイベントが発生しました。

ROLEDEPLOY

deployRoleイベントが発生しました。

ROLEUNDEPLOY

undeployRoleイベントが発生しました。

POLICYDEPLOY

deployPolicyイベントが発生しました。

POLICYUNDEPLOY

undeployPolicyイベントが発生しました。

START_AUDIT

監査プロバイダが起動しました。

STOP_AUDIT

監査プロバイダが停止しました。

構成オプション

WebLogic監査プロバイダの構成オプションは大部分がデフォルトであらかじめ定義されています。また、WebLogic監査プロバイダはアクティブなセキュリティ・レルムに追加されると監査イベントの記録を開始します。 ただし、次の設定については定義する必要があります。これらの設定は管理コンソールのプロバイダの「構成」「プロバイダ固有」ページで行えます。WebLogic Scripting ToolまたはJava Management Extensions (JMX) APIを使用して監査プロバイダを構成することもできます。
  • ローテーション時間(分) - 新しいDefaultAuditRecorder.logファイルを作成するまでの分数を指定します。指定された時間が経過すると、監査ファイルが閉じられて新しい監査ファイルが作成されます。DefaultAuditRecorder.YYYYMMDDHHMM.log (たとえば、DefaultAuditRecorder.200405130110.log)という名前のバックアップ・ファイルが同じディレクトリ内に作成されます。

  • 重大度 - WebLogic Serverデプロイメントに適した重大度です。WebLogic監査プロバイダは、指定された重大度のセキュリティ・イベント、およびそれより高い重大度のすべてのイベントを監査します。たとえば、重大度ERRORに設定した場合、WebLogic監査プロバイダは重大度がERROR、SUCCESS、およびFAILUREのセキュリティ・イベントを監査します。重大度をCUSTOMに設定すると、監査の必要な特定の重大度レベル(ERRORイベント、FAILUREイベントのみなど)を対象にすることもできます。監査イベントには、重大度の名前と数値順位が含まれています。このため、カスタム監査プロバイダは、名前または数値順位のいずれかによってイベントをフィルタ処理できます。監査は、以下のレベルのセキュリティ・イベントが発生したときに実行されます。

    イベントの重大度 ランク

    INFORMATION

    1

    WARNING

    2

    ERROR

    3

    SUCCESS

    4

    FAILURE

    5

WebLogic監査プロバイダによって記録されるすべての監査情報は、デフォルトではWL_HOME\yourdomain\yourserver\logs\DefaultAuditRecorder.logに保存されます。監査プロバイダはセキュリティ・レルム単位で構成されますが、各サーバーは監査データをサーバー・ディレクトリにある各自のログ・ファイルに書き込みます。次のJava起動オプションを使用すると、コマンド・ラインでDefaultAuditRecorder.log用に新しいディレクトリを指定できます。

-Dweblogic.security.audit.auditLogDir=c:\foo

新しいファイルの場所は、c:\foo\yourserver\logs\DefaultAuditRecorder.logになります。

『Oracle WebLogic Serverコマンド・リファレンス』のセキュリティに関する項を参照してください。

ノート:

監査プロバイダを使用すると、わずか数個のイベントのログが記録される際にもWebLogic Serverのパフォーマンスに影響が及びます。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプ監査プロバイダの構成に関する項を参照してください。

ContextHandler要素の監査

ContextHandlerインタフェースは、コンテキスト・ハンドラ・エントリをサポートする監査プロバイダを管理するために使用されます。ContextHandler Entries属性を設定すると、どのContextElementエントリが監査プロバイダによって記録されるかを指定できます。

監査イベントには、様々な情報やオブジェクトを保持できるContextHandlerが組み込まれています。WebLogic監査プロバイダのActive ContextHandler Entries属性を設定すると、ContextHandler内のどのContextElementエントリが監査プロバイダによって記録されるかを指定できます。デフォルトでは、どのContextElementsも監査されません。ContextHandler内のオブジェクトは、ほとんどの場合toStringメソッドを使用してログに記録されます。表8-2に、利用できるContextHandlerエントリの一覧を示します。

ノート:

WebLogic監査プロバイダでは、実装されている特定の機能に関する属性のみを監査できます。デフォルトでは、すべてのコンテキスト・ハンドラ要素を監査できるわけではありません。たとえば、HTTPを使用してWebLogic Server管理コンソールにログインしている場合、認証はHTTPサーブレット・リクエストのコンテキストにおいて実行され、監査プロバイダではHTTPサーブレットの要素が監査されます。あるいは、WLSTからの認証では、t3プロトコルが使用されます。t3認証の場合、監査プロバイダでは、com.bea.contextelement.channel.Protocolcom.bea.contextelement.channel.RemoteAddressなどのチャネル・コンテキスト要素が監査されます。いずれの場合も、監査プロバイダでは、実装されている機能(HTTPまたはt3)のみが監査されます。

表8-2 監査用のコンテキスト・ハンドラ・エントリ

コンテキスト要素名 説明とタイプ
com.bea.contextelement.servlet.HttpServletRequest

HTTPによるサーブレット・アクセス・リクエストまたはSOAPメッセージ。

javax.http.servlet.HttpServletRequest
com.bea.contextelement.servlet.HttpServletResponse

HTTPによるサーブレット・アクセス・レスポンスまたはSOAPメッセージ。

javax.http.servlet.HttpServletResponse
com.bea.contextelement.wli.Message

Oracle WebLogic Integrationメッセージ。メッセージは監査ログに送られます。

java.io.InputStream
com.bea.contextelement.channel.Port

リクエストの受け付けまたは処理を行うネットワーク・チャネルの内部リスニング・ポート。

java.lang.Integer
com.bea.contextelement.channel.PublicPort

リクエストの受け付けまたは処理を行うネットワーク・チャネルの外部リスニング・ポート。

java.lang.Integer
com.bea.contextelement.channel.RemotePort

リクエストの受け付けまたは処理を行うネットワーク・チャネルのTCP/IP接続のリモート・エンドのポート。

java.lang.Integer
com.bea.contextelement.channel.Protocol

リクエストの受け付けまたは処理を行うネットワーク・チャネルのリクエストを行うためのプロトコル。

java.lang.String
com.bea.contextelement.channel.Address

リクエストの受け付けまたは処理を行うネットワーク・チャネルの内部リスニング・アドレス。

java.lang.String
com.bea.contextelement.channel.PublicAddress

リクエストの受け付けまたは処理を行うネットワーク・チャネルの外部リスニング・アドレス。

java.lang.String
com.bea.contextelement.channel.RemoteAddress

リクエストの受け付けまたは処理を行うネットワーク・チャネルのTCP/IP接続のリモート・アドレス。

java.lang.String
com.bea.contextelement.channel.ChannelName 

リクエストの受け付けまたは処理を行うネットワーク・チャネルの名前。

java.lang.String
com.bea.contextelement.channel.Secure

SSLによるリクエストの受け付けまたは処理を行うネットワーク・チャネルかどうかを示します。

java.lang.Boolean
com.bea.contextelement.ejb20.Parameter[1-N] 

パラメータに基づくオブジェクト。

com.bea.contextelement.wsee.SOAPMessage
javax.xml.rpc.handler.MessageContext
com.bea.contextelement.entitlement.EAuxiliaryID

WebLogic Serverの内部プロセスで使用されます。

weblogic.entitlement.expression.EAuxiliary
com.bea.contextelement.security.ChainPrevalidatedBySSL

SSLフレームワークが証明書チェーンを検証しました。つまり、チェーン内の証明書が相互に適切に署名しており、チェーンが終了する証明書がサーバーの信頼性のあるCAの1つであり、チェーンが基本制約ルールに準拠していて、チェーン内の証明書が期限切れではありませんでした。

java.lang.Boolean
com.bea.contextelement.xml.SecurityToken

このリリースのWebLogic Serverでは使用されません。

weblogic.xml.crypto.wss.provider.SecurityToken
com.bea.contextelement.xml.SecurityTokenAssertion

このリリースのWebLogic Serverでは使用されません。

java.util.Map
com.bea.contextelement.webservice.Integrity{id:XXXXX}
javax.security.auth.Subject
com.bea.contextelement.saml.SSLClientCertificateChain

SSLクライアント証明書チェーンがSSL接続から取得され、sender-vouches SAMLアサーションが受信されました。

java.security.cert.X509Certificate[]
com.bea.contextelement.saml.MessageSignerCertificate

Webサービス・メッセージに署名するための証明書。

java.security.cert.X509Certificate
com.bea.contextelement.saml.subject.ConfirmationMethod

SAMLアサーションのタイプ(bearer、artifact、sender-vouches、holder-of-key)。

java.lang.String
com.bea.contextelement.saml.subject.dom.KeyInfo

holder-of-key SAMLアサーションでのサブジェクト確認のために使用される <ds:KeyInfo>要素。

org.w3c.dom.Element

構成監査

管理サーバーを構成して、ユーザーがドメイン内のリソースの構成を変更したときやドメイン内のリソースの管理操作を呼び出したときに、ログ・メッセージの送信と監査イベントの生成を行うようにすることができます。 たとえば、ユーザーがドメイン内の管理対象サーバーのSSLを無効にすると、管理サーバーからログ・メッセージが送信されます。WebLogic監査プロバイダを有効にしている場合は、さらにセキュリティ・ログに監査イベントが書き込まれます。こうしたログ・メッセージと監査イベントにより、ドメインの構成の変更を監査、追跡できます。この機能を、構成監査といいます。

構成監査メッセージは、管理サーバーのローカル・ログ・ファイルに書き込まれます。デフォルトではドメイン全体のメッセージ・ログには書き込まれません。

構成監査情報は、認可イベントに格納されます。そのため、認可イベントを消費して構成監査情報にアクセスする方法もあります。ただし、認可イベント内の情報は構成の変更の実行が許可されたかどうかを示すものであり、構成の変更が実際に成功したかどうかは示されません(たとえば、変更が無効だったため失敗してしまっている場合もあります)。

構成監査を有効化するには、構成監査の有効化を参照してください。

構成監査の有効化

構成監査を有効にする様々な方法を学習します。

構成監査の有効化は、以下のいずれかの方法で行えます。

  • WebLogic Server管理コンソールを使用する。ドメインの「構成」「全般」ページで、「構成監査のタイプ」を設定します。Oracle WebLogic Server管理コンソール・オンライン・ヘルプ構成監査の有効化に関する項を参照してください。

  • 管理サーバーの起動時に、weblogic.Serverコマンドに次のJavaオプションのいずれかを含めます。

    • -Dweblogic.domain.ConfigurationAuditType="audit"

      ドメインによって監査イベントのみが送信されます。

    • -Dweblogic.domain.ConfigurationAuditType="log"

      ドメインによって構成監査メッセージのみが管理サーバーのログ・ファイルに書き込まれます。

    • -Dweblogic.domain.ConfigurationAuditType="logaudit"

      ドメインによって監査イベントが送信され、構成監査メッセージが管理サーバーのログ・ファイルに書き込まれます。

    『Oracle WebLogic Serverコマンド・リファレンス』のweblogic.Serverコマンドライン・リファレンスに関する項を参照してください。

  • WebLogic Scripting Toolを使用して、DomainMBeanConfigurationAuditType属性の値を変更します。『WebLogic Scripting Toolの理解』を参照してください。

構成監査メッセージ

構成監査の重大度レベルは、SUCCESSFAILUREおよびERRORです。

表8-3 構成監査メッセージの重大度

Severity 説明

SUCCESS

構成の変更が正常に行われました。

FAILURE

ユーザーの資格証明が十分でなかったため構成が変更されませんでした。

ERROR

内部エラーのため構成が変更されませんでした。

構成監査メッセージは、159900 - 159910の範囲のメッセージIDで識別されます。

構成監査メッセージでは、MBeanオブジェクト名を使用してリソースを特定します。WebLogic Server MBeanのオブジェクト名は、階層データ・モデル内でのMBeanの場所を反映しています。この場所を反映させるために、オブジェクト名には親MBeanからの名前と値のペアが含まれています。たとえば、サーバーのLogMBeanのオブジェクト名は、mydomain:Name=myserverlog,Type=Log,Server=myserverです。『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』のWebLogic Server MBeanのデータ・モデルに関する項を参照してください。

表 8-4に、これらのメッセージをまとめます。

表8-4 構成監査メッセージの概要

このイベントが発生した場合... WebLogic ServerはこのIDのメッセージを生成します... ...そしてこのメッセージ・テキストは...

認可されたユーザーがリソースを作成します。

159900 
USER username CREATED MBean-name 

ここで、usernameはログインしてリソースを作成したWebLogic Serverユーザーを示します。

認可されていないユーザーがリソースを作成しようとします。

159901 
USER username CREATED MBean-name 
FAILED weblogic.management.
NoAccessRuntimeException: 
exception-text stack-trace 

ここで、usernameは認可されていないWebLogic Serverユーザーを示します。

認可されたユーザーがリソースを削除します。

159902
USER username REMOVED MBean-name 
where username identifies the WebLogic Server user who logged in and deleted a resource. 

認可されていないユーザーがリソースを削除しようとします。

159903
USER username REMOVE MBean-name 
FAILED weblogic.management.
NoAccessRuntimeException: 
exception-text stack-trace 
where username identifies the unauthorized WebLogic Server user. 

認可されたユーザーがリソースの構成を変更します。

159904
USER username MODIFIED MBean-name 
ATTRIBUTE attribute-name 
FROM old-value TO new-value 

ここで、usernameはログインしてリソースの構成を変更したWebLogic Serverユーザーを示します。

認可されていないユーザーがリソースの構成を変更しようとします。

159905 
USER username MODIFY MBean-name 
ATTRIBUTE attribute-name 
FROM old-value TO new-value 
FAILED weblogic.management.
NoAccessRuntimeException:
exception-text stack-trace 

ここで、usernameは認可されていないWebLogic Serverユーザーを示します。

認可されたユーザーがリソース操作を呼び出します。

たとえば、ユーザーがアプリケーションをデプロイするか、サーバー・インスタンスを起動します。

159907
USER username INVOKED ON
MBean-name 
METHOD operation-name 
PARAMS specified-parameters 

ここで、usernameはログインしてリソース操作を呼び出したWebLogic Serverユーザーを示します。

認可されていないユーザーがリソース操作を呼び出そうとします。

159908 
USER username INVOKED ON
MBean-name 
METHOD operation-name 
PARAMS specified-parameters  
FAILED weblogic.management.
NoAccessRuntimeException:
exception-text stack-trace 

ここで、usernameは認可されていないWebLogic Serverユーザーを示します。

認可されたユーザーが構成監査を有効にします。

159909 
USER username, Configuration Auditing is enabled 

ここで、usernameは構成監査を有効にしたWebLogic Serverユーザーを示します。

認可されたユーザーが構成監査を無効にします。

159910 
USER username, Configuration Auditing is disabled 

ここで、usernameは構成監査を無効にしたWebLogic Serverユーザーを示します。

ノート:

構成監査が有効かどうかに関係なく、認可されたユーザーがリソースを追加、変更、または削除するたびに、管理サブシステムからも重大度InfoのメッセージがID 140009で生成されます。たとえば:

<Sep 15, 2005 11:54:47 AM EDT> <Info> <Management> <140009> <Configuration changes for domain saved to the repository.>

このメッセージでは、ドメインの構成が変更されたことは分かりますが、構成監査メッセージのような詳細情報は提供されません。また、このメッセージは、リソース操作を呼び出したときには生成されません。

表8-5に、構成監査メッセージの他のメッセージ属性をまとめます。これらの属性は、すべての構成監査メッセージで共通です。

表8-5 共通のメッセージ属性と値

メッセージ属性 属性値

Severity

Info

サブシステム

Configuration Audit 

ユーザーID

kernel identity 

この値は、どのユーザーがリソースの変更やリソース操作の呼出しを実行しても常にkernel identityになります。

サーバー名

AdminServerName 

ドメイン内のすべてのリソースの構成データが管理サーバーに保持されているため、この値は常に管理サーバーの名前になります。

マシン名

AdminServerHostName 

ドメイン内のすべてのリソースの構成データが管理サーバーに保持されているため、この値は常に管理サーバーのホスト・マシンの名前になります。

スレッドID

execute-thread 

この値は、管理サーバーで現在実行されている実行スレッドの数によって異なります。

タイムスタンプ

メッセージが生成されたときのtimeStamp

監査イベントと監査プロバイダ

監査イベントは、監査プロバイダによって読み込まれ、特定の方法で処理されるオブジェクトです。 監査プロバイダは、リクエストの操作とそれらのリクエストの結果に関する情報を、否認防止を目的として収集、格納、および配布する場合にセキュリティ・レルムによって使用されるプラガブルなコンポーネントです。

ドメインで監査イベントの送信を有効にすると、イベントが送信されます(表8-6を参照)。ドメインに対して構成されているすべての監査プロバイダは、これらのイベントを処理できます。

イベントの重大度はすべてSUCCESSになり、アクションを開始したセキュリティ・プリンシパル、権限が付与されていたかどうか、およびリクエストされたアクションのオブジェクト(MBeanまたはMBean属性)が示されます。

表8-6 構成監査の監査イベントのサマリー

このイベントが発生した場合... ...WebLogic Serverはこの監査イベント・オブジェクトを生成します...

新しい構成アーティファクトを作成するリクエストが許可または回避されました。

weblogic.security.spi.AuditCreateConfigurationEvent

既存の構成アーティファクトを削除するリクエストが許可または回避されました。

weblogic.security.spi.AuditDeleteConfigurationEvent

既存の構成アーティファクトを変更するリクエストが許可または回避されました。

weblogic.security.spi.AuditInvokeConfigurationEvent

既存の構成アーティファクトに対する操作の呼出しが許可または回避されました。

weblogic.security.spi.AuditSetAttributeConfigurationEvent

デフォルトのWebLogic Server監査プロバイダを有効にすると、すべての監査イベントがログ・メッセージとしてその独自のログ・ファイルに書き込まれます。

作成または購入されたその他の監査プロバイダは、これらのイベントをフィルタ処理して、それらをLDAPサーバー、データベース、シンプル・ファイルなどの出力リポジトリに書き出すことができます。さらに、他のタイプのセキュリティ・プロバイダは、監査プロバイダからの監査サービスをリクエストできます。『Oracle WebLogic Serverセキュリティ・プロバイダの開発』の監査プロバイダに関する項を参照してください。