セキュリティー・コンポーネントのトラブルシューティングのヒント
ここでは、WebSphere® Application Server のセキュリティー関連の問題を診断するための 基本的なリソースとステップについて説明します。
調査対象のログ・ファイルおよび確認する情報
- 調査対象およびSDSF の使用のために確認する情報
- セキュリティー問題の切り分けと解決のためのセキュリティー関連の問題をトラブルシューティングするための一般的な方法。
- トレースのセキュリティーの場合と方法。
コンポーネント・トレース (CTRACE) の設定は、トレース・アクティビティーを補助するトピックです。
CSIv2 CORBA マイナー・コードの概要と一覧表。
- セキュリティーを使用可能にした後のエラーおよびアクセス問題
セキュリティーを使用可能にすると、パフォーマンスが低下します。 制限されていないポリシー・ファイルの使用に関しては、グローバル・セキュリティーを使用可能にするを参照してください。
- SSL を使用可能にした後のエラー、 または SSL 関連のエラー・メッセージ
セキュリティーを構成および使用可能にしようとする際のエラー
これらのステップで問題が解決されない場合は、『問題の診断および修正: 学習用リソース』の項目内のリンクを使用して、問題が特定され、文書化されているかどうかを確認してください。
類似した問題が見つからない場合、または提供されている情報では問題が解決されない場合は、『IBM からのトラブルシューティングのヘルプ』を参照してください。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
![[z/OS]](../images/ngzos.gif)
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
ログ・ファイル
SASRas A CWWSA0001I: Security configuration initialized.
SASRas A CWWSA0002I: Authentication protocol: CSIV2/IBM
SASRas A CWWSA0003I: Authentication mechanism: SWAM
SASRas A CWWSA0004I: Principal name: MYHOSTNAME/aServerID
SASRas A CWWSA0005I: SecurityCurrent registered.
SASRas A CWWSA0006I: Security connection interceptor initialized.
SASRas A CWWSA0007I: Client request interceptor registered.
SASRas A CWWSA0008I: Server request interceptor registered.
SASRas A CWWSA0009I: IOR interceptor registered.
NameServerImp I CWNMS0720I: Do Security service listener registration.
SecurityCompo A CWSCJ0242A: Security service is starting
UserRegistryI A CWSCJ0136I: Custom Registry:com.ibm.ws.security.registry.nt.
NTLocalDomainRegistryImpl has been initialized
SecurityCompo A CWSCJ0202A: Admin application initialized successfully
SecurityCompo A CWSCJ0203A: Naming application initialized successfully
SecurityCompo A CWSCJ0204A: Rolebased authorizer initialized successfully
SecurityCompo A CWSCJ0205A: Security Admin mBean registered successfully
SecurityCompo A CWSCJ0243A: Security service started successfully
SecurityCompo A CWSCJ0210A: Security enabled true
SASRas A CWWSA0001I: Security configuration initialized.
SASRas A CWWSA0002I: Authentication protocol: CSIV2/IBM
SASRas A CWWSA0003I: Authentication mechanism: SWAM
SASRas A CWWSA0004I: Principal name: MYHOSTNAME/aServerID
SASRas A CWWSA0005I: SecurityCurrent registered.
SASRas A CWWSA0006I: Security connection interceptor initialized.
SASRas A CWWSA0007I: Client request interceptor registered.
SASRas A CWWSA0008I: Server request interceptor registered.
SASRas A CWWSA0009I: IOR interceptor registered.
NameServerImp I CWNMS0720I: Do Security service listener registration.
SecurityCompo A CWSCJ0242A: Security service is starting
UserRegistryI A CWSCJ0136I: Custom Registry:com.ibm.ws.security.
registry.nt.NTLocalDomainRegistryImpl has been initialized
Authenticatio E CWSCJ4001E: Login failed for badID/<null>
javax.security.auth.login.LoginException: authentication failed: bad user/password
SASRas A CWWSA0001I: Security configuration initialized.
SASRas A CWWSA0002I: Authentication protocol: CSIV2/IBM
SASRas A CWWSA0003I: Authentication mechanism: LTPA
SASRas A CWWSA0004I: Principal name: MYHOSTNAME/anID
SASRas A CWWSA0005I: SecurityCurrent registered.
SASRas A CWWSA0006I: Security connection interceptor initialized.
SASRas A CWWSA0007I: Client request interceptor registered.
SASRas A CWWSA0008I: Server request interceptor registered.
SASRas A CWWSA0009I: IOR interceptor registered.
NameServerImp I CWNMS0720I: Do Security service listener registration.
SecurityCompo A CWSCJ0242A: Security service is starting
UserRegistryI A CWSCJ0136I: Custom Registry:com.ibm.ws.security.registry.nt.
NTLocalDomainRegistryImpl has been initialized
SecurityServe E CWSCJ0237E: One or more vital LTPAServerObject configuration
attributes are null or not available. The attributes and values are password :
LTPA password does exist, expiration time 30, private key <null>, public key <null>,
and shared key <null>.
SASRas A CWWSA0001I: Security configuration initialized.
SASRas A CWWSA0002I: Authentication protocol: CSIV2/IBM
SASRas A CWWSA0003I: Authentication mechanism: SWAM
SASRas A CWWSA0004I: Principal name: MYHOSTNAME/aServerId
SASRas A CWWSA0005I: SecurityCurrent registered.
SASRas A CWWSA0006I: Security connection interceptor initialized.
SASRas A CWWSA0007I: Client request interceptor registered.
SASRas A CWWSA0008I: Server request interceptor registered.
SASRas A CWWSA0009I: IOR interceptor registered.
SASRas E CWWSA0026E: [SecurityTaggedComponentAssistorImpl.register]
Exception connecting object to the ORB. SSL 構成をチェックして、SSL keyStore と trustStore のプロパティーが正しく設定されていることを確認してください。
問題が解決しない場合は、サポートに連絡して支援を得てください。
org.omg.CORBA.OBJ_ADAPTER: ORB_CONNECT_ERROR (5) - couldn't get Server Subcontract minor code: 4942FB8F completed: No
SDSF の使用
セキュリティー・コンポーネントのトラブルシューティングを行う場合は、システム表示/検索機能 (SDSF) を使用して、アクセスしようとしているリソースをホストするサーバーのログを参照します。 以下は、セキュリティー・サービスが正常に開始したサーバーから表示されるメッセージのサンプルです。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
+BBOM0001I com_ibm_authMechanisms_type_OID: No OID for this mechanism.
+BBOM0001I com_ibm_security_SAF_unauthenticated: WSGUEST.
+BBOM0001I com_ibm_security_SAF_EJBROLE_Audit_Messages_Suppress: 0.
+BBOM0001I com_ibm_ws_logging_zos_errorlog_format_cbe: NOT SET, 280
DEFAULT=0.
+BBOM0001I com_ibm_CSI_performClientAuthenticationRequired: 0.
+BBOM0001I com_ibm_CSI_performClientAuthenticationSupported: 1.
+BBOM0001I com_ibm_CSI_performTransportAssocSSLTLSRequired: 0.
+BBOM0001I com_ibm_CSI_performTransportAssocSSLTLSSupported: 1.
+BBOM0001I com_ibm_CSI_rmiInboundPropagationEnabled: 1.
+BBOM0001I com_ibm_CSI_rmiOutboundLoginEnabled: 0.
+BBOM0001I com_ibm_CSI_rmiOutboundPropagationEnabled: 1.
+BBOM0001I security_assertedID_IBM_accepted: 0.
+BBOM0001I security_assertedID_IBM_sent: 0.
+BBOM0001I security_disable_daemon_ssl: NOT SET, DEFAULT=0.
+BBOM0001I security_sslClientCerts_allowed: 0.
+BBOM0001I security_sslKeyring: NOT SET.
+BBOM0001I security_zOS_domainName: NOT SET.
+BBOM0001I security_zOS_domainType: 0.
+BBOM0001I security_zSAS_ssl_repertoire: SY1/DefaultIIOPSSL.
+BBOM0001I security_EnableRunAsIdentity: 0.
+BBOM0001I security_EnableSyncToOSThread: 0.
+BBOM0001I server_configured_system_name: SY1.
+BBOM0001I server_generic_short_name: BBOC001.
+BBOM0001I server_generic_uuid: 457
*** Message beginning with BBOO0222I apply to Java within ***
*** WebSphere Application Server Security ***
+BBOO0222I: SECJ6004I: Security Auditing is disabled.
+BBOO0222I: SECJ0215I: Successfully set JAAS login provider 631
configuration class to com.ibm.ws.security.auth.login.Configuration.
+BBOO0222I: SECJ0136I: Custom 632
Registry:com.ibm.ws.security.registry.zOS.SAFRegistryImpl has been initialized
+BBOO0222I: SECJ0157I: Loaded Vendor AuthorizationTable: 633
com.ibm.ws.security.core.SAFAuthorizationTableImpl
![[z/OS]](../images/ngzos.gif)
BBOM0001I security_zOS_domainName: NOT SET.
BBOM0001I security_zOS_domainType: 0.
BBOM0001I security_SMF_record_first_auth_user: NOT SET, DEFAULT=1.
BBOJ0077I: java.security.policy = /WebSphere/V8R5/AppServer/profil
BBOJ0077I: es/default/properties/server.pol
BBOJ0077I: icy
BBOJ0077I: java.security.auth.login.config = /WebSphere/V8R5/AppServer
BBOJ0077I: /profiles/default/properties/wsj
BBOJ0077I: aas.conf
BBOO0222I: SECJ6004I: Security Auditing is disabled.
BBOO0222I: SECJ0215I: Successfully set JAAS login provider
configuration class to com.ibm.ws.security.auth.login.Configuration.
BBOO0222I: JSAS0001I: Security configuration initialized.
BBOO0222I: JSAS0003I: Authentication mechanism: LTPA
BBOO0222I: JSAS0004I: Principal name: DEFAULT/CBSYMSR1
BBOO0222I: JSAS0006I: Security connection interceptor initialized.
BBOO0222I: JSAS0009I: IOR interceptor registered.
BBOO0222I: SECJ0136I: Custom
Registry:com.ibm.ws.security.registry.zOS.SAFRegistryImpl has been initialized
BBOO0222I: SECJ6214I: SAF authorization is enabled.
BBOO0222I: ACWA0002I: WorkArea service not enabled on server1.
BBOO0222I: SECJ6216I: SAF delegation is enabled.
BBOO0222I: SECJ6216I: SAF delegation is enabled.
BBOO0222I: SECJ6216I: SAF delegation is enabled.
BBOO0222I: SRVE0169I: Loading Web Module: WIM.
BBOO0222I: CHFW0019I: The Transport Channel Service has started chain
WCInboundAdmin.
BBOO0222I: CHFW0019I: The Transport Channel Service has started chain
WCInboundDefault.
BBOO0222I: CHFW0019I: The Transport Channel Service has started chain
WCInboundAdminSecure.
BBOO0222I: CHFW0019I: The Transport Channel Service has started chain
WCInboundDefaultSecure.
BBOO0222I: WSVR0001I: Server SERVANT PROCESS server1 open for
e-business
BBOO0020I INITIALIZATION COMPLETE FOR WEBSPHERE FOR Z/OS SERVANT
PROCESS BBOS001.
./bborjtr.cpp+953 ... BBOO0222I: SECJ0231I: The Security component's FFDC Diagnostic Module com.ibm.ws.security.core.Sec
urityDM registered
successfully: true.
BossLog: { 0013} 2013/07/12 16:46:00.104 01 SYSTEM=SY1 SERVER=BBOS001 PID=0X02010022 TID=0X266AF610 00000000 c=UNK
./bborjtr.cpp+953 ... BBOO0222I: SECJ0309I: Java 2 Security is disabled.
BossLog: { 0014} 2013/07/12 16:46:00.143 01 SYSTEM=SY1 SERVER=BBOS001 PID=0X02010022 TID=0X266AF610 00000000 c=UNK
./bborjtr.cpp+953 ... BBOO0222I: SECJ0212I: WCCM JAAS configuration information successfully pushed to login provider
class.
BossLog: { 0015} 2013/07/12 16:46:00.258 01 SYSTEM=SY1 SERVER=BBOS001 PID=0X02010022 TID=0X266AF610 00000000 c=UNK
./bborjtr.cpp+953 ... BBOO0222I: SECJ0240I: Security service initialization completed successfully
BossLog: { 0016} 2013/07/12 16:46:00.448 01 SYSTEM=SY1 SERVER=BBOS001 PID=0X02010022 TID=0X266AF610 00000000 c=UNK
./bborjtr.cpp+953 ... FFDC0009I: FFDC opened incident stream file /WebSphere/V8R5/AppServer/profiles/default/logs/ffdc/S
Y1_SY1_server1_STC
00042_BBOS001S_06.07.12_16.46.00_0.txt
BossLog: { 0017} 2013/07/12 16:46:00.532 01 SYSTEM=SY1 SERVER=BBOS001 PID=0X02010022 TID=0X266AF610 00000000 c=UNK
./bborjtr.cpp+953 ... FFDC0010I: FFDC closed incident stream file /WebSphere/V8R5/AppServer/profiles/default/logs/ffdc/S
Y1_SY1_server1_STC
00042_BBOS001S_06.07.12_16.46.00_0.txt
./bborjtr.cpp+953 ... BBOO0222I: SECJ0243I: Security service started successfully
BossLog: { 0035} 2013/07/12 16:46:24.670 01 SYSTEM=SY1 SERVER=BBOS001 PID=0X02010022 TID=0X266AF610 00000000 c=UNK
./bborjtr.cpp+953 ... BBOO0222I: SECJ0210I: Security enabled true
BossLog: { 0036} 2013/07/12 16:46:24.795 01 SYSTEM=SY1 SERVER=BBOS001 PID=0X02010022 TID=0X266AF610 00000000 c=UNK
セキュリティー関連の問題をトラブルシューティングするための一般的な方法
- 問題は、セキュリティーを使用不可にしたときに発生するか。
- この質問は、問題がセキュリティーに関連しているかどうかを判別するのに適切な質問です。 ただし、問題がセキュリティーを使用可能にしたときに発生するということだけでは、必ずしもセキュリティーに問題があるとは限りません。 問題が本当にセキュリティーに関連していることを確認するために、さらにトラブルシューティングが必要です。
- セキュリティーは正しく初期化されているか。
- 初期化中には、多くのセキュリティー・コードが使用されます。
そのため、問題が構成に関連しているものであれば、通常はまず初期化の時点で問題が発生します。
SystemOut.log 内に 生成される以下の一連のメッセージは、アプリケーション・サーバーの通常のコード初期化を示しています。 このシーケンスは構成によって異なりますが、メッセージは似たものになります。
SASRas A CWWSA0001I: Security configuration initialized. SASRas A CWWSA0002I: Authentication protocol: CSIV2/IBM SASRas A CWWSA0003I: Authentication mechanism: SWAM SASRas A CWWSA0004I: Principal name: BIRKT20/pbirk SASRas A CWWSA0005I: SecurityCurrent registered. SASRas A CWWSA0006I: Security connection interceptor initialized. SASRas A CWWSA0007I: Client request interceptor registered. SASRas A CWWSA0008I: Server request interceptor registered. SASRas A CWWSA0009I: IOR interceptor registered. NameServerImp I CWNMS0720I: Do Security service listener registration. SecurityCompo A CWSCJ0242A: Security service is starting UserRegistryI A CWSCJ0136I: Custom Registry:com.ibm.ws.security.registry.nt. NTLocalDomainRegistryImpl has been initialized SecurityCompo A CWSCJ0202A: Admin application initialized successfully SecurityCompo A CWSCJ0203A: Naming application initialized successfully SecurityCompo A CWSCJ0204A: Rolebased authorizer initialized successfully SecurityCompo A CWSCJ0205A: Security Admin mBean registered successfully SecurityCompo A CWSCJ0243A: Security service started successfully SecurityCompo A CWSCJ0210A: Security enabled true
SDSF アクティブ・ログ内に生成される以下の一連のメッセージは、 アプリケーション・サーバーの通常のコード初期化を示しています。 セキュリティー以外のメッセージは、 その後に続くシーケンスから除去されています。 このシーケンスは構成によって異なりますが、 メッセージは似たものになります。Trace: 2013/05/06 17:27:31.539 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: printProperties SourceId: com.ibm.ws390.orb.CommonBridge Category: AUDIT ExtendedMessage: BBOJ0077I java.security.policy = /WebSphere/V8R5M0/AppServer/profiles/default/pr Trace: 2013/05/06 17:27:31.779 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: printProperties SourceId: com.ibm.ws390.orb.CommonBridge Category: AUDIT ExtendedMessage: BBOJ0077I java.security.auth.login.config = /WebSphere/V8R5M0/AppServer/profiles/default/pr Trace: 2013/05/06 17:27:40.892 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.security.core.SecurityDM SourceId: com.ibm.ws.security.core.SecurityDM Category: INFO ExtendedMessage: BBOO0222I: SECJ0231I: The Security component's FFDC Diagnostic Module com.ibm.ws.security.core.Secur red successfully: true. Trace: 2013/05/06 17:27:40.892 01 t=8E96E0 c=UNK key=P8 (0000000A) Description: Log Boss/390 Error from filename: ./bborjtr.cpp at line: 932 error message: BBOO0222I: SECJ0231I: The Security component's FFDC Diagnostic Module com.ibm.ws.security.core.Securit d successfully: true. Trace: 2013/05/06 17:27:41.054 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.security.audit.AuditServiceImpl SourceId: com.ibm.ws.security.audit.AuditServiceImpl Category: AUDIT ExtendedMessage: BBOO0222I: SECJ6004I: Security Auditing is disabled. Trace: 2013/05/06 17:27:41.282 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.security.core.distSecurityComponentImpl SourceId: com.ibm.ws.security.core.distSecurityComponentImpl Category: INFO ExtendedMessage: BBOO0222I: SECJ0309I: Java 2 Security is disabled. Trace: 2013/05/06 17:27:41.282 01 t=8E96E0 c=UNK key=P8 (0000000A) Description: Log Boss/390 Error from filename: ./bborjtr.cpp at line: 932 error message: BBOO0222I: SECJ0309I: Java 2 Security is disabled. Trace: 2013/05/06 17:27:42.239 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.security.auth.login.Configuration SourceId: com.ibm.ws.security.auth.login.Configuration Category: AUDIT ExtendedMessage: BBOO0222I: SECJ0215I: Successfully set JAAS login provider configuration class to com.ibm.ws.securit Configuration. Trace: 2013/05/06 17:27:42.253 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.security.core.distSecurityComponentImpl SourceId: com.ibm.ws.security.core.distSecurityComponentImpl Category: INFO ExtendedMessage: BBOO0222I: SECJ0212I: WCCM JAAS configuration information successfully pushed to login provider clas Trace: 2013/05/06 17:27:42.254 01 t=8E96E0 c=UNK key=P8 (0000000A) Description: Log Boss/390 Error from filename: ./bborjtr.cpp at line: 932 error message: BBOO0222I: SECJ0212I: WCCM JAAS configuration information successfully pushed to login provider class. Trace: 2013/05/06 17:27:42.306 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.security.core.distSecurityComponentImpl SourceId: com.ibm.ws.security.core.distSecurityComponentImpl Category: INFO ExtendedMessage: BBOO0222I: SECJ0240I: Security service initialization completed successfully Trace: 2013/05/06 17:27:42.306 01 t=8E96E0 c=UNK key=P8 (0000000A) Description: Log Boss/390 Error from filename: ./bborjtr.cpp at line: 932 error message: BBOO0222I: SECJ0240I: Security service initialization completed successfully Trace: 2013/05/06 17:27:42.952 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.objectpool.ObjectPoolService SourceId: com.ibm.ws.objectpool.ObjectPoolService Category: INFO ExtendedMessage: BBOO0222I: OBPL0007I: Object Pool Manager service is disabled. Trace: 2013/05/06 17:27:53.512 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.security.registry.UserRegistryImpl SourceId: com.ibm.ws.security.registry.UserRegistryImpl Category: AUDIT ExtendedMessage: BBOO0222I: SECJ0136I: Custom Registry:com.ibm.ws.security.registry.zOS.SAFRegistryImpl has been init Trace: 2013/05/06 17:27:55.229 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.security.role.PluggableAuthorizationTableProxy SourceId: com.ibm.ws.security.role.PluggableAuthorizationTableProxy Category: AUDIT ExtendedMessage: BBOO0222I: SECJ0157I: Loaded Vendor AuthorizationTable: com.ibm.ws.security.core.SAFAuthorizationTab Trace: 2013/05/06 17:27:56.481 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.security.core.distSecurityComponentImpl SourceId: com.ibm.ws.security.core.distSecurityComponentImpl Category: INFO ExtendedMessage: BBOO0222I: SECJ0243I: Security service started successfully Trace: 2013/05/06 17:27:56.481 01 t=8E96E0 c=UNK key=P8 (0000000A) Description: Log Boss/390 Error from filename: ./bborjtr.cpp at line: 932 error message: BBOO0222I: SECJ0243I: Security service started successfully Trace: 2013/05/06 17:27:56.482 01 t=8E96E0 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.security.core.distSecurityComponentImpl SourceId: com.ibm.ws.security.core.distSecurityComponentImpl Category: INFO ExtendedMessage: BBOO0222I: SECJ0210I: Security enabled true Trace: 2013/05/06 17:27:56.483 01 t=8E96E0 c=UNK key=P8 (0000000A) Description: Log Boss/390 Error from filename: ./bborjtr.cpp at line: 932 error message: BBOO0222I: SECJ0210I: Security enabled true
- スタック・トレースまたは例外がシステム・ログ・ファイルに出力されているか。
- 単一のスタック・トレースで問題について多くのことがわかります。失敗したコードを開始したのはどのコードか。失敗したコンポーネントはどれか。 失敗が実際にどのクラスで発生したか。問題の解決に必要なものがスタック・トレースだけであり、スタック・トレースで根本原因を特定できる場合もあります。または、スタック・トレースが手掛かりにしかならない場合や、実際には誤った方向に導く場合もあります。 サポート部門でスタック・トレースを分析する際、問題が何であるか明確でないときには追加のトレースが要求される場合があります。 問題がセキュリティー関連であると判断され、スタック・トレースまたは問題の説明から解決法を決定できない場合は、関連するすべてのプロセスから SASRas=all=enabled:com.ibm.ws.security.*=all=enabled のトレース仕様を収集するように求められます。
- 分散セキュリティー問題か、ローカル・セキュリティー問題か。
- 問題がローカルである場合、つまり関係するコードがリモート・メソッド呼び出しを行わない場合は、トラブルシューティングは単一のプロセスに切り分けられます。 コンポーネントの中でも、特にオブジェクト・リクエスト・ブローカー (ORB) の振る舞いはローカルと分散のいずれであるかによって異なるため、問題がどちらであるかを知ることは重要です。 リモート・メソッド呼び出しが行われると、完全に異なるセキュリティー・コード・パスに入ります。
- 複数のサーバーが問題に関係していることがわかっている場合は、トラブルシューティングの手法は異なります。関係するすべてのサーバーを同時にトレースし、問題に関するクライアント・サイドおよびサーバー・サイドの情報がトレースに示されるようにする必要があります。
2 つの異なるプロセスから要求と応答の対を見つけることができるように、すべてのマシンのタイム・スタンプをできるだけ一致させるようにします。
トレース仕様 SASRas=all=enabled:com.ibm.ws.security.*=all=enabled を使用して、Secure Authentication Service (SAS) または z/SAS と、セキュリティー・トレースの両方を使用可能にします。
トレースの使用可能化について詳しくは、トレースおよびロギングの構成の項目を参照してください。
トレースの使用可能化について詳しくは、トレースの操作を参照してください。
- 問題は認証または許可に関連しているか。
- ほとんどのセキュリティー問題は、これらの 2 つのカテゴリーのいずれかに分類されます。 認証は、呼び出し元を確認するプロセスです。 許可は、要求されたメソッドを呼び出すための適切な権限が呼び出し元にあるかどうかを検証するプロセスです。 認証が失敗した場合、通常は、認証プロトコル、認証メカニズムまたはユーザー・レジストリーのいずれかが関連しています。 許可が失敗した場合、通常は、アセンブリーおよびデプロイメントからのアプリケーション・バインディング、およびメソッドにアクセスしている呼び出し元の ID と、メソッドに必要なロールが関連しています。
- Web 要求か EJB 要求か。
Web 要求と Enterprise JavaBeans (EJB) 要求はコード・パスが完全に異なります。 Web 要求には EJB 要求とは異なるセキュリティー・フィーチャーがあり、解決に必要な知識の内容はまったく異なります。例えば、Lightweight Third Party Authentication (LTPA) 認証メカニズムを使用する場合、Web 要求にはシングル・サインオン (SSO) フィーチャーを使用できますが、EJB 要求には使用できません。プロトコルの違いにより、Web 要求には EJB 要求に必要のない HTTP ヘッダー情報が含まれています。 また、プロセス全体に Web コンテナーまたはサーブレット・エンジンが関係しています。これらのコンポーネントのいずれもが問題に関係する可能性があるため、要求のタイプおよび失敗が発生した箇所に基づいて、トラブルシューティング時にはすべてを考慮する必要があります。
セキュアな EJB 要求は RMI/IIOP プロトコル経由で送信されるため、この要求には ORB コンポーネントおよびネーミング・コンポーネントが大きく関係しています。さらに、作業負荷マネージャー (WLM) が使用可能になっている場合は、コード内のその他の振る舞いの変更を監視できます。 この環境では、セキュリティーが適切に動作するように、これらのコンポーネントがすべて密接に相互作用します。場合によっては、この領域の問題をトラブルシューティングするために、これらのコンポーネントのいずれか、またはすべてのトレースが必要になります。
最初のトレース仕様は SASRas=all=enabled:com.ibm.ws.security.*=all=enabled です。 SAS/Security トレースで問題を特定できない場合は、ORB トレースも非常に有用です。
セキュア EJB 要求は、コントローラーからサーバントに渡されます。 Web 要求は、コントローラーによってほとんど無視されます。 その結果、EJB 要求は、最初にセキュリティーの z/SAS または Common Security Interoperability バージョン 2 (CSIv2) レイヤーによって処理され、 認証されます。 許可はサーバントによって行われます。 認証障害が発生した場合、 z/SAS タイプのレベルのトレースをオンにして、問題を診断する必要があります。 その他の問題は、WebSphere Application Server のコンポーネント・トレース (CTRACE) 機能を使用して診断できます。
- 問題は Secure Sockets Layer (SSL) に関連していると考えられるか?
SSL は、完全に独立した別個のセキュリティー・レイヤーです。 SSL の問題のトラブルシューティングは、認証および許可の問題のトラブルシューティングとは別のものであり、いくつもの考慮事項があります。 通常、SSL の問題は、構成の難しさによる初回セットアップの問題です。 各クライアントにはサーバーの署名者証明書が格納されている必要があります。 相互認証の際、各サーバーにクライアントの署名者証明書がなければなりません。 また、プロトコルの相違 (SSLv3 と Transport Layer Security (TLS))、および失効した相互運用オブジェクト参照 (IOR)、つまり、サーバー再始動前のポートを反映しているサーバーの IOR に関連したリスナー・ポート問題の可能性もあります。
z/OS では、SSL の 2 つのバリエーションが使用されます。 z/OS における SSL の問題の原因を判別するには、 どのプロトコルが使用されているかを認識しておく必要があります。
- システム SSL は、Internet Inter-ORB Protocol (IIOP) および HTTPS プロトコルによって使用されます。
- Java Secure Socket Extension (JSSE) は、その他すべてのプロトコル (例えば、SOAP) によって使用されます。
- システム SSL 要求は、コントローラーで処理され、z/SAS および CSIv2 セキュリティーによって使用されます。
- JSSE は、主にサーバントによって使用されますが、コントローラーで使用される場合もあります。
SSL 問題については、SSL ハンドシェークで起こっていることを確認するために、SSL トレースが必要になる場合があります。 SSL ハンドシェークは、クライアントがサーバーとのソケットをオープンする際に発生するプロセスです。 鍵交換や暗号の交換などで問題が起きると、ハンドシェークは失敗し、ソケットは有効になりません。 JSSE (WebSphere Application Server で使用される SSL の実装) をトレースするには、以下のステップを実行する必要があります。- クライアント・プロセスおよびサーバー・プロセスにシステム・プロパティー -Djavax.net.debug=true を設定する。 サーバーの場合は、 システム・プロパティーを Java 仮想 マシン設定ページの「汎用 JVM 引数」プロパティーに追加します。
ORB トレースもオンにします。
- 問題を再現する。
両方のプロセスの SystemOut.log に JSSE トレースが含まれています。 次の例のようなトレースが出力されます。
SSLConnection: install <com.ibm.sslite.e@3ae78375> >> handleHandshakeV2 <com.ibm.sslite.e@3ae78375> >> handshakeV2 type = 1 >> clientHello: SSLv2. SSL client version: 3.0 ... ... ... JSSEContext: handleSession[Socket[addr=null,port=0,localport=0]] << sendServerHello. SSL version: 3.0 SSL_RSA_WITH_RC4_128_MD5 HelloRandom ... ... ... << sendCertificate. << sendServerHelloDone. >> handleData <com.ibm.sslite.e@3ae78375> >> handleHandshake <com.ibm.sslite.e@3ae78375> >> handshakeV3 type = 16 >> clientKeyExchange. >> handleData <com.ibm.sslite.e@3ae78375> >> handleChangeCipherSpec <com.ibm.sslite.e@3ae78375> >> handleData <com.ibm.sslite.e@3ae78375> >> handleHandshake <com.ibm.sslite.e@3ae78375> >> handshakeV3 type = 20 >> finished. << sendChangeCipherSpec. << sendFinished.
領域の始動済み タスクの SYSOUT データ・セットには、JSSE トレースが含まれています。 SDSF を使用しているため、このトレースは以下のようなものになります。
JSSEContext: handleConnection[Socket [addr=boss0106.plex1.l2.ibm.com/9.38.48.108,port=2139,localport=8878]] JSSEContext: handleConnection[Socket [addr=boss0106.plex1.l2.ibm.com/9.38.48.108,port=2140,localport=8878]] TrustManagerFactoryImpl: trustStore is : /WebSphere/V8R50M0/AppServer/etc/DummyServerTrustFile.jks TrustManagerFactoryImpl: trustStore type is : JKS TrustManagerFactoryImpl: init truststore JSSEContext: handleConnection[Socket [addr=boss0106.plex1.l2.ibm.com/9.38.48.108,port=2142,localport=8878]] KeyManagerFactoryImpl: keyStore is : /WebSphere/V8R5M0/AppServer/etc/DummyServerKeyFile.jks KeyManagerFactoryImpl: keyStore type is : JKS KeyManagerFactoryImpl: init keystore KeyManagerFactoryImpl: init keystore JSSEContext: handleConnection[Socket [addr=boss0106.plex1.l2.ibm.com/9.38.48.108,port=2143,localport=8878]] JSSEContext: handleSession[Socket [addr=BOSSXXXX.PLEX1.L2.IBM.COM/9.38.48.108,port=8879,localport=2145]] JSSEContext: confirmPeerCertificate [Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM/9.38.48.108,port=8879, localport=2145]] X509TrustManagerImpl: checkServerTrusted X509TrustManagerImpl: Certificate [ [ Version: V3 Subject: CN=jserver, OU=SWG, O=IBM, C=US Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4 0 Key: IBMJCE RSA Public Key: modulus: 10094996692239509074796828756118539107568369566313889955538950668 6622953008589748001058216362638201577071902071311277365773252660799 128781182947273802312699983556527878615792292244995317112436562491 489904381884265119355037731265408654007388863303101746314438337601 264540735679944205391693242921331551342247891 public exponent: 65537 0 Validity: [From: Fri Jun 21 20:08:18 GMT 2013, To: Thu Mar 17 20:08:18 GMT 2014] Issuer: CN=jserver, OU=SWG, O=IBM, C=US SerialNumber: [ 3d1387b2 ] 0] Algorithm: [MD5withRSA] Signature: 0000: 54 DC B5 FA 64 C9 CD FE B3 EF 15 22 3D D0 20 31 T...d......"=. 1 0010: 99 F7 A7 86 F9 4C 82 9F 6E 4B 7B 47 18 2E C6 25 .....L..nK.G...% 0020: 5B B2 9B 78 D8 76 5C 82 07 95 DD B8 44 62 02 62 [..x.v¥.....Db.b 0030: 60 2A 0A 6D 4F B9 0A 98 14 27 E9 BB 1A 84 8A D1 `*.mO....'...... 0040: C2 22 AF 70 9E A5 DF A2 FD 57 37 CE 3A 63 1B EB .".p.....W7.:c.. 0050: E8 91 98 9D 7B 21 4A B5 2C 94 FC A9 30 C2 74 72 .....!J.,...0.tr 0060: 95 01 54 B1 29 E7 F8 9E 6D F3 B5 D7 B7 D2 9E 9B ..T.)...m....... 0070: 85 D8 E4 CF C2 D5 3B 64 F0 07 17 9E 1E B9 2F 79 ......;d....../y 0] X509TrustManagerImpl: Certificate [ [ Version: V3 Subject: CN=jserver, OU=SWG, O=IBM, C=US Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4 0 Key: IBMJCE RSA Public Key: modulus: 1009499669223950907479682875611853910756836956631388995553895066866 22953008589748001058216362638201577071902071311277365773252660799 1287811829472738023126999835565278786157922922449953171124365624914 89904381884265119355037731265408654007388863303101746314438337601 264540735679944205391693242921331551342247891 public exponent: 65537 0 Validity: [From: Fri Jun 21 20:08:18 GMT 2013, To: Thu Mar 17 20:08:18 GMT 2015] Issuer: CN=jserver, OU=SWG, O=IBM, C=US SerialNumber: [ 3d1387b2 ] 0] Algorithm: [MD5withRSA] Signature: 0000: 54 DC B5 FA 64 C9 CD FE B3 EF 15 22 3D D0 20 31 T...d......"=. 1 0010: 99 F7 A7 86 F9 4C 82 9F 6E 4B 7B 47 18 2E C6 25 .....L..nK.G...% 0020: 5B B2 9B 78 D8 76 5C 82 07 95 DD B8 44 62 02 62 [..x.v¥.....Db.b 0030: 60 2A 0A 6D 4F B9 0A 98 14 27 E9 BB 1A 84 8A D1 `*.mO....'...... 0040: C2 22 AF 70 9E A5 DF A2 FD 57 37 CE 3A 63 1B EB .".p.....W7.:c.. 0050: E8 91 98 9D 7B 21 4A B5 2C 94 FC A9 30 C2 74 72 .....!J.,...0.tr 0060: 95 01 54 B1 29 E7 F8 9E 6D F3 B5 D7 B7 D2 9E 9B ..T.)...m....... 0070: 85 D8 E4 CF C2 D5 3B 64 F0 07 17 9E 1E B9 2F 79 ......;d....../y 0] JSSEContext: handleConnection[Socket[addr=boss0106.plex1.l2.ibm.com /9.38.48.108,port=2144,localport=8878]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2145]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2146]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2147]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2148]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2149]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2150]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2151]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2152]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2153]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2154]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2155]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2156]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2157]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2158]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2159]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2160]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2161]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2162]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2163]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2164]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2165]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2166]] JSSEContext: handleSession[Socket[addr=boss0106.plex1.l2.ibm.com /9.38.48.108,port=9443,localport=2167]] JSSEContext: confirmPeerCertificate[Socket[addr=boss0106.plex1.l2.ibm.com /9.38.48.108,port=9443,localport=2167]] X509TrustManagerImpl: checkServerTrusted X509TrustManagerImpl: Certificate [ [ Version: V3 Subject: CN=WAS z/OS Deployment Manager, O=IBM Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5 0 Key: IBMJCE RSA Public Key: modulus: 12840948267119651469312486548020957441946413494498370439558603901582589 8755033448419534105183133064366466828741516428176579440511007 6258795528749232737808897160958348495006972731464152299032614592135114 19361539962555997136085140591098259345625853617389396340664766 649957749527841107121590352429348634287031501 public exponent: 65537 0 Validity: [From: Fri Jun 25 05:00:00 GMT 2013, To: Mon Jun 26 04:59:59 GMT 2015] Issuer: CN=WAS CertAuth, C=US SerialNumber: [ 02] 0Certificate Extensions: 3 [1]: ObjectId: 2.16.840.1.113730.1.13 Criticality=false Extension unknown: DER encoded OCTET string = 0000: 04 3C 13 3A 47 65 6E 65 72 61 74 65 64 20 62 79 .<.:Generated by 0010: 20 74 68 65 20 53 65 63 75 72 65 57 61 79 20 53 the SecureWay S 0020: 65 63 75 72 69 74 79 20 53 65 72 76 65 72 20 66 ecurity Server f 0030: 6F 72 20 7A 2F 4F 53 20 28 52 41 43 46 29 or z/OS (RACF) -[2]: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 05 6A CD 7F AE AF 89 78 99 A8 F1 5B 64 8B 9F AF .j.....x...[d... 0010: 73 1B 58 65 s.Xe ] ] 0[3]: ObjectId: 2.5.29.35 Criticality=false AuthorityKeyIdentifier [ KeyIdentifier [ 0000: 7E D1 7B 17 74 D3 AD D1 7D D8 F8 33 85 19 04 F8 ....t......3.... 0010: 36 51 57 16 6QW. ] 0] 0] Algorithm: [SHA1withRSA] Signature: 0000: 73 0D FC E1 8A B3 42 E1 04 73 72 B1 C6 C9 87 54 s.....B..sr....T 0010: 87 57 02 FA 41 32 D8 B0 39 09 86 CB 6B 03 B6 F9 .W..A2..9...k... 0020: 62 8D 95 36 56 0E D4 D2 F7 7A 8D 4B FB 0B FD 91 b..6V....z.K.... 0030: 89 A8 08 41 30 E2 27 DC 15 5F 2C F4 CD 2F 6B 8E ...A0.'.._,../k. 0040: 21 2A 88 53 46 27 68 9B 55 14 38 8E 1F 50 95 BC !*.SF'h.U.8..P.. 0050: A8 46 F6 68 97 9E 7B 65 9E E8 A7 34 B2 C8 63 CF .F.h...e...4..c. 0060: 73 C8 4E 25 0A EF C5 8F 04 A4 EB 8C CC 33 84 26 s.N%.........3.& 0070: 5D FD 7C AD 7B 02 13 5A 86 A1 89 93 1E A4 93 63 ]......Z.......c 0] X509TrustManagerImpl: Certificate [ [ Version: V3 Subject: CN=WAS CertAuth, C=US Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5 0 Key: IBMJCE RSA Public Key: modulus: 1167408593733331602218385578183389496484587418638676352829560040529918 40558681208199977833401609895748222369066230329785148883251144 2382911186804921983976695395381692334250582278359056431484427844566504 41491799952592864895242987037929408453455627552772317382077015 828713585220212502839546496071839496308430393 public exponent: 65537 0 Validity: [From: Fri Jun 25 05:00:00 GMT 2013, To: Sat Jun 24 04:59:59 GMT 2015] Issuer: CN=WAS CertAuth, C=US SerialNumber: [ 0 ] 0Certificate Extensions: 4 [1]: ObjectId: 2.16.840.1.113730.1.13 Criticality=false Extension unknown: DER encoded OCTET string = 0000: 04 3C 13 3A 47 65 6E 65 72 61 74 65 64 20 62 79 .<.:Generated by 0010: 20 74 68 65 20 53 65 63 75 72 65 57 61 79 20 53 the SecureWay S 0020: 65 63 75 72 69 74 79 20 53 65 72 76 65 72 20 66 ecurity Server f 0030: 6F 72 20 7A 2F 4F 53 20 28 52 41 43 46 29 or z/OS (RACF) -[2]: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 7E D1 7B 17 74 D3 AD D1 7D D8 F8 33 85 19 04 F8 ....t......3.... 0010: 36 51 57 16 6QW. ] ] 0[3]: ObjectId: 2.5.29.15 Criticality=true KeyUsage [ Key_CertSign Crl_Sign ] 0[4]: ObjectId: 2.5.29.19 Criticality=true BasicConstraints:[ CA:true PathLen:2147483647 ] 0] Algorithm: [SHA1withRSA] Signature: 0000: 43 88 AB 19 5D 00 54 57 5E 96 FA 85 CE 88 4A BF C...].TW^.....J. 0010: 6E CB 89 4C 56 BE EF E6 8D 2D 74 B5 83 1A EF 9C n..LV....-t..... 0020: B3 82 F2 16 84 FA 5C 50 53 2A B4 FD EB 27 98 5D ......¥PS*...'.] 0030: 43 48 D3 74 85 21 D1 E1 F2 63 9E FB 58 2A F3 6A CH.t.!...c..X*.j 0040: 44 D2 F5 7D B2 55 B9 5E 32 11 78 B6 34 8E 4B 1D D....U.^2.x.4.K. 0050: F3 82 1D C1 5F 7B 3F AD C9 29 FA FF D1 D1 13 2C ...._.?..)....., 0060: 57 F7 7B 51 02 99 6F ED 54 E1 51 34 B8 51 BE 97 W..Q..o.T.Q4.Q.. 0070: 30 AC 4F 89 AB AA 8A B2 E1 40 89 2E 18 C7 0E 15 0.O......@...... 0] JSSEContext: handleConnection[Socket[addr=boss0106.plex1.l2.ibm.com /9.38.48.108,port=9443,localport=2167]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2168]] JSSEContext: handleConnection[Socket[addr=boss0106.plex1.l2.ibm.com /9.38.48.108,port=2235,localport=8878]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8879,localport=2236]] JSSEContext: handleSession[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8880,localport=2238]] JSSEContext: confirmPeerCertificate[Socket [addr=BOSSXXXX.PLEX1.L2.IBM.COM /9.38.48.108,port=8880,localport=2238]] X509TrustManagerImpl: checkServerTrusted X509TrustManagerImpl: Certificate [ [ Version: V3 Subject: CN=jserver, OU=SWG, O=IBM, C=US Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4 0 Key: IBMJCE RSA Public Key: modulus: 100949966922395090747968287561185391075683695663138899555389506686622953 008589748001058216362638201577071902071311277365773252660799 1287811829472738023126999835565278786157922922449953171124365624914 89904381884265119355037731265408654007388863303101746314438337601 264540735679944205391693242921331551342247891 public exponent: 65537 0 Validity: [From: Fri Jun 21 20:08:18 GMT 2013, To: Thu Mar 17 20:08:18 GMT 2015] Issuer: CN=jserver, OU=SWG, O=IBM, C=US SerialNumber: [ 3d1387b2 ] 0] Algorithm: [MD5withRSA] Signature: 0000: 54 DC B5 FA 64 C9 CD FE B3 EF 15 22 3D D0 20 31 T...d......"=. 1 0010: 99 F7 A7 86 F9 4C 82 9F 6E 4B 7B 47 18 2E C6 25 .....L..nK.G...% 0020: 5B B2 9B 78 D8 76 5C 82 07 95 DD B8 44 62 02 62 [..x.v¥.....Db.b 0030: 60 2A 0A 6D 4F B9 0A 98 14 27 E9 BB 1A 84 8A D1 `*.mO....'...... 0040: C2 22 AF 70 9E A5 DF A2 FD 57 37 CE 3A 63 1B EB .".p.....W7.:c.. 0050: E8 91 98 9D 7B 21 4A B5 2C 94 FC A9 30 C2 74 72 .....!J.,...0.tr 0060: 95 01 54 B1 29 E7 F8 9E 6D F3 B5 D7 B7 D2 9E 9B ..T.)...m....... 0070: 85 D8 E4 CF C2 D5 3B 64 F0 07 17 9E 1E B9 2F 79 ......;d....../y 0] X509TrustManagerImpl: Certificate [ [ Version: V3 Subject: CN=jserver, OU=SWG, O=IBM, C=US Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4 0 Key: IBMJCE RSA Public Key: modulus: 100949966922395090747968287561185391075683695663138899555389506 686622953008589748001058216362638201577071902071311277365773252660799 12878118294727380231269998355652787861579229224499531711243656249 1489904381884265119355037731265408654007388863303101746314438337601 264540735679944205391693242921331551342247891 public exponent: 65537 0 Validity: [From: Fri Jun 21 20:08:18 GMT 2013, To: Thu Mar 17 20:08:18 GMT 2015] Issuer: CN=jserver, OU=SWG, O=IBM, C=US SerialNumber: [ 3d1387b2 ] 0] Algorithm: [MD5withRSA] Signature: 0000: 54 DC B5 FA 64 C9 CD FE B3 EF 15 22 3D D0 20 31 T...d......"=. 1 0010: 99 F7 A7 86 F9 4C 82 9F 6E 4B 7B 47 18 2E C6 25 .....L..nK.G...% 0020: 5B B2 9B 78 D8 76 5C 82 07 95 DD B8 44 62 02 62 [..x.v¥.....Db.b 0030: 60 2A 0A 6D 4F B9 0A 98 14 27 E9 BB 1A 84 8A D1 `*.mO....'...... 0040: C2 22 AF 70 9E A5 DF A2 FD 57 37 CE 3A 63 1B EB .".p.....W7.:c.. 0050: E8 91 98 9D 7B 21 4A B5 2C 94 FC A9 30 C2 74 72 .....!J.,...0.tr 0060: 95 01 54 B1 29 E7 F8 9E 6D F3 B5 D7 B7 D2 9E 9B ..T.)...m....... 0070: 85 D8 E4 CF C2 D5 3B 64 F0 07 17 9E 1E B9 2F 79 ......;d....../y 0] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM/ 9.38.48.108,port=8880,localport=2238]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM/ 9.38.48.108,port=8880,localport=2239]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM/ 9.38.48.108,port=8880,localport=2240]] JSSEContext: handleConnection[Socket[addr=BOSSXXXX.PLEX1.L2.IBM.COM/ 9.38.48.108,port=8880,localport=2241]]
トレースのセキュリティー
- com.ibm.ws.security.*
- com.ibm.websphere.security.*
- com.ibm.WebSphereSecurityImpl.*
SASRas
- Virtual Member Manager (VMM) リポジトリーでトレースするための com.ibm.ws.wim.*
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- com.ibm.ws.security.*=all=enabled:com.ibm.WebSphereSecurityImpl.*= all=enabled:com.ibm.websphere.security.*=all=enabled。このトレース・ステートメントはセキュリティー・ランタイム用のトレースを収集します。
- com.ibm.ws.console.security.*=all=enabled。このトレー ス・ステートメントは、セキュリティー・センター管理コンソール用のトレースを収集します。
- SASRas=all=enabled。このトレース・ステートメントは、 SAS (下位の認証ロジック) のトレースを収集します。
- com.ibm.ws.wim.*=all=enabled:com.ibm.websphere.wim.*=all=enabled。 このトレース・ステートメントは VMM 用のトレースを収集します。
SAS トレースの微調整:
SAS/CSIv2 コンポーネントについてクラスのサブセットをトレースする必要がある場合は、 以下のように複数のクラス名をコンマで区切って、システム・プロパティーを指定できます。com.ibm.CORBA.securityTraceFilter=SecurityConnectionInterceptorImpl, VaultImpl, ...
- セキュリティーのトレースの微調整:
- パッケージのサブセットをトレースする必要がある場合は、com.ibm.ws.security.*=all=enabled よりも詳細なトレース仕様を指定します。 例えば、動的ポリシー・コードのみをトレースするには、com.ibm.ws.security.policy.*=all=enabled を指定します。 動的ポリシーのトレースを使用不可にするには、com.ibm.ws.security.policy.*=all=disabled を指定します。
CSIv2 または z/SAS トレース設定の構成
CSIv2 と z/SAS 認証プロトコルのトレースを調べると、難しい問題のトラブルシューティングに役立つ場合があります。 このセクションでは、CSIv2 と z/SAS トレースを使用可能にする方法について説明します。
- クライアント・サイドの CSIv2 と z/SAS トレースの使用可能化
- ピュア・クライアント上で CSIv2 と z/SAS トレースを使用可能にするには、以下のステップを実行する必要があります。
- /WebSphere/AppServer/properties ディレクトリーの TraceSettings.properties ファイルを編集します。
- このファイルで、traceFileName= が出力ファイルの作成先となるパスを指すように変更します。 それぞれのサブディレクトリーの間に二重の円記号 (¥¥) を入れるようにしてください。例えば、traceFileName=c:¥¥WebSphere¥¥AppServer¥¥logs¥¥sas_client.log のようになります。
- このファイルに、トレース仕様ストリング SASRas=all=enabled を追加します。 追加のトレース・ストリングは、別々の行に追加できます。
- クライアント・アプリケーション内から、このファイルを参照します。クライアントを
立ち上げる Java コマンド行で、
システム・プロパティー -DtraceSettingsFile=TraceSettings.properties
を追加します。
注: TraceSettings.properties ファイルには、完全修飾パスを指定しないでください。 クラスパスに TraceSettings.properties ファイルがあることを確認してください。
サーバー・サイドの CSIv2 と z/SAS トレースの使用可能化
アプリケーション・サーバーで z/SAS トレースを使用可能にするには、以下を実行します。
- トレース仕様 SASRas=all=enabled を server.xml ファイルに追加するか、 管理コンソール内でトレース設定値に追加します。
- 通常、これは、認証プロトコル・ランタイムに加えて、認証セキュリティー・ランタイムもトレースする最適な方法です。これを行うには、SASRas=all=enabled:com.ibm.ws.security.*=all=enabled の 2 つのトレース仕様を組み合わせて使用します。
- 接続タイプ問題のトラブルシューティング時には、 CSIv2 と SAS または CSIv2 と z/SAS および ORB の両方をトレースすると役立 ちます。 これを行うには、SASRas=all=enabled:com.ibm.ws.security.*=all=enabled:ORBRas=all=enabled の 3 つのトレース仕様を使用します。
- これらのトレース仕様に加えて、ORB トレースには、同様に設定が必要ないくつかのシステム・プロパティーがあります。 これらのプロパティーを設定するには、ORB トレーシング (ORB tracing)」オプションを選択します。この オプションでは、以前のリリースで手動で設定する必要があった 2 つのプロパティーが 設定されます。詳しくは、オブジェクト・リクエスト・ブローカー・サービスの設定に関する トピックを参照してください。 とクリックします。「
CSIv2、または SAS トレース設定の構成
CSIv2 または SAS 認証プロトコルのトレースを調べると、難しい問題のトラブルシューティングに役立つ場合があります。 このセクションでは、CSIv2 と SAS トレースを使用可能にする方法について説明します。
クライアント・サイドの CSIv2 と SAS トレースの使用可能化
ピュア・クライアント上で CSIv2 と SAS トレースを使用可能にするには、以下のステップを実行する必要があります。
- /WebSphere/AppServer/properties ディレクトリーの TraceSettings.properties ファイルを編集します。
- このファイルで、traceFileName= が出力ファイルの作成先となるパスを指すように変更します。 それぞれのサブディレクトリーの間に二重の円記号 (¥¥) を入れるようにしてください。例えば、traceFileName=c:¥¥WebSphere¥¥AppServer¥¥logs¥¥sas_client.log のようになります。
- このファイルに、トレース仕様ストリング SASRas=all=enabled を追加します。 追加のトレース・ストリングは、別々の行に追加できます。
- クライアント・アプリケーション内から、このファイルを参照します。クライアントを
立ち上げる Java コマンド行で、
システム・プロパティー -DtraceSettingsFile=TraceSettings.properties
を追加します。
注: TraceSettings.properties ファイルには、完全修飾パスを指定しないでください。 クラスパスに TraceSettings.properties ファイルがあることを確認してください。
クライアント・サイドの CSIv2 と SAS トレースの使用可能化
ピュア・クライアント上で CSIv2 と SAS トレースを使用可能にするには、以下のステップを実行する必要があります。
- /WebSphere/AppServer/properties ディレクトリーの TraceSettings.properties ファイルを編集します。例えば、profile_root/properties/TraceSettings.properties を編集します。
- このファイルで、traceFileName= が出力ファイルの作成先となるパスを指すように変更します。 例えば、traceFileName=profile_root/logs/sas_client などです。
- このファイルに、トレース仕様ストリング SASRas=all=enabled を追加します。 追加のトレース・ストリングは、別々の行に追加できます。
- クライアント・アプリケーション内から、このファイルを参照します。クライアントを
立ち上げる Java コマンド行で、
システム・プロパティー -DtraceSettingsFile=TraceSettings.properties
を追加します。
注: TraceSettings.properties ファイルには、完全修飾パスを指定しないでください。 クラスパスに TraceSettings.properties ファイルがあることを確認してください。
- サーバー・サイドの CSIv2 と SAS トレースの使用可能化
- アプリケーション・サーバーで SAS トレースを使用可能にするには、以下を実行します。
- トレース仕様 SASRas=all=enabled を server.xml ファイルに追加するか、 または WebConsole GUI 内でトレース設定に追加します。
- 通常、これは、認証プロトコル・ランタイムに加えて、認証セキュリティー・ランタイムもトレースする最適な方法です。 これを行うには、SASRas=all=enabled:com.ibm.ws.security.*=all=enabled の 2 つのトレース仕様を組み合わせて使用します。
- 接続タイプ問題のトラブルシューティング時には、 CSIv2 と SAS または CSIv2 と z/SAS および ORB の両方をトレースすると役立 ちます。 これを行うには、SASRas=all=enabled:com.ibm.ws.security.*=all=enabled:ORBRas=all=enabled の 3 つのトレース仕様を使用します。
- これらのトレース仕様に加えて、ORB トレースには、同様に設定が必要ないくつかのシステム・プロパティーがあります。 GUI の ORB 設定に進み、com.ibm.CORBA.Debug=true および com.ibm.CORBA.CommTrace=true の 2 つのプロパティーを追加してください。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
![[z/OS]](../images/ngzos.gif)
CSIv2 CORBA マイナー・コード
クライアントまたはサーバーのセキュリティー・コード内で起こる例外はすべて、 結局は Common Object Request Broker Architecture (CORBA) 例外になります。 したがって、どのような例外が発生しても、それは CORBA 例外に組み込まれます。これは、セキュリティー・サービスが独自のプロセス間通信に CORBA アーキテクチャーを使用するためです。 CORBA 例外は一般的であり、2 つのコンポーネント間の通信における問題を示します。 CORBA マイナー・コードはそれよりも具体的で、 コンポーネントが要求を完了できなかった根底の理由を示します。
次に示すのは、クライアントが認証など、 セキュリティー関連の要求を実行した後に受け取ることがある CORBA マイナー・コードです。 ここには、マイナー・コードが表示される CORBA 例外タイプも示されています。
以下の例外は CORBA 例外の一例で、マイナー・コードは 49424300 であり、認証障害を示します。 通常、例外には記述メッセージも組み込まれていて、 問題のトラブルシューティングに役立ちます。この場合、詳細なメッセージは、「Exception caught invoking authenticateBasicAuthData from SecurityServer for user jdoe.Reason: com.ibm.WebSphereSecurity.AuthenticationFailedException」となります。 これは、ユーザー jdoe に対する認証が失敗したことを示しています。
例外の完了フィールドには、メソッドが完了したかどうかが示されます。 NO_PERMISSION の場合は、メッセージが呼び出されないため、 状況は常に completed:No です。サーバー・サイドでキャッチされるその他の例外では、完了状況は「Maybe」または「Yes」となります。
org.omg.CORBA.NO_PERMISSION: Caught WSSecurityContextException in
WSSecurityContext.acceptSecContext(),
reason: Major Code[0] Minor Code[0] Message[Exception caught invoking
authenticateBasicAuthData from SecurityServer for user jdoe. Reason:
com.ibm.WebSphereSecurity.AuthenticationFailedException] minor code: 49424300
completed: No
at com.ibm.ISecurityLocalObjectBaseL13Impl.PrincipalAuthFailReason.map_auth_fail_to_minor_code(PrincipalAuthFailReason.java:83)
at com.ibm.ISecurityLocalObjectBaseL13Impl.CSIServerRI.receive_request(CSIServerRI.java:1569)
at com.ibm.rmi.pi.InterceptorManager.iterateReceiveRequest(InterceptorManager.java:739)
at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:398)
at com.ibm.rmi.iiop.ORB.process(ORB.java:313)
at com.ibm.CORBA.iiop.ORB.process(ORB.java:1581)
at com.ibm.rmi.iiop.GIOPConnection.doWork(GIOPConnection.java:1827)
at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:81)
at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:91)
at com.ibm.ws.util.CachedThread.run(ThreadPool.java:149)
マイナー・コード名 | マイナー・コード値 (16 進数) | 例外タイプ (すべてパッケージ org.omg.CORBA.* 内にある) | マイナー・コードの説明 | スタンドアロンのクライアントによって実行される再試行 (authenticationRetryEnabled = true の場合) | クライアントとして動作するサーバーによって実行される再試行 (authenticationRetryEnabled = true の場合) |
---|---|---|---|---|---|
AuthenticationFailed | 49424300 | NO_PERMISSION | このコードは、一般的な認証障害エラーです。 ユーザー ID またはパスワードが有効かどうかについての詳細は提供されません。 このタイプのエラー・コードを使用できるユーザー・レジストリーもありますが、 もっと詳細な次の 3 つのタイプの使用を選択するレジストリーもあります。 | はい | はい |
InterceptLocateException | 494210B8 | INTERNAL | これは、受信した locate 要求を処理する場合に問題があることを示しています。 | いいえ | いいえ |
InvalidUserid | 49424301 | NO_PERMISSION | このコードは、レジストリーが無効なユーザー ID を戻した場合に発生します。 | はい | いいえ |
InvalidPassword | 49424302 | NO_PERMISSION | このコードは、レジストリーが無効なパスワードを戻した場合に発生します。 | はい | いいえ |
InvalidSecurityCredentials | 49424303 | NO_PERMISSION | これは、何らかの理由でクレデンシャルが無効であることを示す一般エラーです。 正しい属性が設定されていない可能性があります。 | クライアントが BasicAuth クレデンシャルを持っている場合は、 あり (トークン・ベースのクレデンシャルは最初に拒否されます)。 | はい |
InvalidRealm | 49424304 | NO_PERMISSION | このコードは、クライアントから受け取ったトークンの REALM が、 サーバーの現行レルムと一致しない場合に発生します。 | いいえ | いいえ |
ValidationFailed | 49424305 | NO_PERMISSION | 妥当性検査失敗は、 トークンがクライアントまたはサーバーからターゲット・サーバーに送信されたものの、 トークンのフォーマットまたは有効期限が無効である場合に起こります。 | クライアントが BasicAuth クレデンシャルを持っている場合は、 あり (トークン・ベースのクレデンシャルは最初に拒否されます)。 | はい |
CredentialTokenExpired | 49424306 | NO_PERMISSION | このコードは、妥当性検査が失敗した理由をより詳しく説明したものです。 この場合、トークンは絶対存続時間を持っており、この存続時間は有効期限切れとなっています。 したがって、このトークンは有効ではなくなり、使用できません。 | クライアントが BasicAuth クレデンシャルを持っている場合は、 あり (トークン・ベースのクレデンシャルは最初に拒否されます)。 | はい |
InvalidCredentialToken | 49424307 | NO_PERMISSION | この例外は、妥当性検査が失敗した理由をより詳しく説明したものです。 この場合は、トークンを暗号化解除できないか、 トークン内のデータを読み取れないかのいずれかです。 | クライアントが BasicAuth クレデンシャルを持っている場合は、 あり (トークン・ベースのクレデンシャルは最初に拒否されます)。 | いいえ |
SessionDoesNotExist | 49424308 | NO_PERMISSION | このコードは、CSIv2 セッションがサーバー上に存在しないことを示しています。 通常は、再試行が自動的に行われ、新規セッションが正常に作成されます。 | はい | はい |
SessionConflictingEvidence | 49424309 | NO_PERMISSION | この例外は、 クライアントが送信した context_id と一致するセッションがサーバー上に既に存在していることを示しています。 ただし、この EstablishContext メッセージにクライアントが提供した情報が、 そのセッションの確立のために最初に提供された情報とは異なります。 | はい | はい |
SessionRejected | 4942430A | NO_PERMISSION | この例外は、クライアントが参照したセッションが、 以前にサーバーに拒否されたことがあることを示しています。 | はい | はい |
SecurityServerNotAvailable | 4942430B | NO_PERMISSION | このエラーが発生するのは、サーバーが、 認証または妥当性検査のためにローカルまたはリモートのセキュリティー・サーバーに接続できない場合です。 | いいえ | いいえ |
InvalidIdentityToken | 4942430C | NO_PERMISSION | このエラーは、ID アサーションが使用可能になっているときに、識別トークンから ID を取得できないことを示しています。 | いいえ | いいえ |
IdentityServerNotTrusted | 4942430D | NO_PERMISSION | このコードは、送信サーバーのサーバー ID が、
ターゲット・サーバーのトラステッド・プリンシパル・リストにないことを示しています。
|
いいえ | いいえ |
InvalidMessage | 4942430E | NO_PERMISSION | このコードは、 CSIv2 メッセージ・フォーマットが受信サーバーでは無効であることを示しています。 | いいえ | いいえ |
MappingFailed | 4942430F | NO_PERMISSION | これは、RMI インバウンド・システム・ログイン構成を使用してインバウンド・サブジェクトをマッピングしようとしたときにエラーが発生したことを示します。 | いいえ | いいえ |
RevokedSecurityName | 49424310 | NO_PERMISSION | これは、ユーザー ID が取り消されたことを示します。 | はい | いいえ |
ExpiredPassword | 49424311 | NO_PERMISSION | これは、パスワードの有効期限が切れたことを示します。 | はい | いいえ |
AuthenticationNotSupported | 49421090 | NO_PERMISSION | このエラーが発生するのは、 メカニズムが認証をサポートしていない場合です (ほとんどないケースです)。 | いいえ | いいえ |
InvalidSecurityMechanism | 49421091 | NO_PERMISSION | これは、 指定されたセキュリティー・メカニズムが不明であることを示すのに使用されます。 | いいえ | いいえ |
CredentialNotAvailable | 49421092 | NO_PERMISSION | これは、クレデンシャルが必要なときに利用できないことを示しています。 | いいえ | いいえ |
SecurityMechanismNotSupported | 49421093 | NO_PERMISSION | このエラーが発生するのは、 CSIv2 トークンで指定したセキュリティー・メカニズムが、サーバー上で実装されていない場合です。 | いいえ | いいえ |
ValidationNotSupported | 49421094 | NO_PERMISSION | このエラーが発生するのは、 メカニズムが LocalOS などの妥当性検査をサポートしていない場合です。 LocalOS クレデンシャルは転送できないため、このエラーが起こるはずはなく、 したがって、このクレデンシャルでは、妥当性検査の呼び出しが必要になることはありません。 | いいえ | いいえ |
CredentialTokenNotSet | 49421095 | NO_PERMISSION | これは、クレデンシャル内のトークンがヌルであることを示すために使用されます。 | いいえ | いいえ |
InvalidEvidence | 49421096 | NO_PERMISSION | このエラーは、サーバーでクライアント認証が必要であることを 示します。しかし、クライアントからのメソッド要求に認証情報が入っていません。 | いいえ | いいえ |
UserRegistryMethod_Protected | 49421098 | NO_PERMISSION | このエラーは、保護された UserRegistry メソッドに リモートでアクセスしようという試みがあったことを示します。 | いいえ | いいえ |
ServerConnectionFailed | 494210A0 | COMM_FAILURE | このエラーが使用されるのは、接続の試みに失敗した場合です。 | あり (ORB 再試行を介して) | あり (ORB 再試行を介して) |
CorbaSystemException | 494210B0 | INTERNAL | このコードは、システム・コードでの CORBA 固有の一般例外です。 | いいえ | いいえ |
JavaException | 494210B1 | INTERNAL | これは一般エラーで、予期しない Java 例外が発生したことを示しています。 | いいえ | いいえ |
ValueIsNull | 494210B2 | INTERNAL | このコードは、 渡された値またはパラメーターがヌルであったことを示すために使用されます。 | いいえ | いいえ |
EffectivePolicyNotPresent | 494210B3 | INTERNAL | これは、CSIv2 で有効なポリシー・オブジェクトが存在しないことを示しています。 このオブジェクトは、指定されたセキュリティー構成フィーチャーを判別するために使用されます。 | いいえ | いいえ |
NullPointerException | 494210B4 | INTERNAL | これは、 実行時に NullPointerException がキャッチされたことを示す場合に使用されます。 | いいえ | いいえ |
ErrorGettingClassInstance | 494210B5 | INTERNAL | これは、クラスを動的にロードする際に問題があることを示しています。 | いいえ | いいえ |
MalFormedParameters | 494210B6 | INTERNAL | これは、パラメーターが無効であることを示しています。 | いいえ | いいえ |
DuplicateSecurityAttributeType | 494210B7 | INTERNAL | これは、set_attributes オペレーション中に、重複クレデンシャル属性が指定されたことを示します。 | いいえ | いいえ |
MethodNotImplemented | 494210C0 | NO_IMPLEMENT | これは、呼び出されたメソッドが実装されていないことを示します。 | いいえ | いいえ |
GSSFormatError | 494210C5 | BAD_PARAM | このコードは、Generic Security Service (GSS) エンコードまたはデコード・ルーチンで例外が作成されたことを示します。 | いいえ | いいえ |
TagComponentFormatError | 494210C6 | BAD_PARAM | このコードは、タグ・コンポーネントを正しく読み取れないことを示しています。 | いいえ | いいえ |
InvalidSecurityAttributeType | 494210C7 | BAD_PARAM | このコードは、set_attributes オペレーション中に指定した属性タイプが、無効なタイプであることを示しています。 | いいえ | いいえ |
SecurityConfigError | 494210CA | INITIALIZE | このコードは、クライアント構成とサーバー構成の間に問題が存在することを示しています。 | いいえ | いいえ |