安全性组件故障诊断技巧
本文档说明诊断 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. Check the SSL configuration to ensure
that the SSL keyStore and trustStore properties are set properly. If the problem
persists, contact support for assistance. 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) 行为在本地和分布式之间是有区别的。进行远程方法调用,输入完全不同的安全性代码路径。
- 当您知道问题包含两个或多个服务器时,故障诊断技术将更改。需要同时跟踪所涉及的所有服务器,以使跟踪能够显示问题的客户机端和服务器端。确保所有机器上的时间戳记尽可能地匹配,这样您可以从两个不同的进程找到请求和应答对。使用以下跟踪规范启用安全认证服务 (SAS) 或
z/SAS 和安全性跟踪:SASRas=all=enabled:com.ibm.ws.security.*=all=enabled。
有关启用跟踪的更多信息,请参阅“跟踪和记录配置”一文。
有关启用跟踪的更多信息,请参阅使用跟踪。
- 问题与认证相关还是与授权相关?
- 大多数安全性问题被归入这两个类别中的一个。认证是确定谁是调用者的过程。授权是验证调用者有正确的权限调用所请求方法的进程。当认证失败时,通常此故障与认证协议、认证机制或用户注册表相关。当授权失败时,这通常与来自汇编和部署的应用程序绑定以及正在访问方法及方法所需角色的调用者标识相关。
- 这是 Web 请求还是 EJB 请求?
Web 请求具有与 Enterprise JavaBeans (EJB) 请求完全不同的代码路径。Web 请求和 EJB 请求具有不同的安全性功能,需要一个完全不同的知识主体来解决。例如,当使用轻量级第三方认证 (LTPA) 认证机制时,单点登录功能 (SSO) 可用于 Web 请求但不可用于 EJB 请求。由于协议差异,Web 请求包含 HTTP 头信息(而 EJB 请求不需要)。并且,在整个过程中都将涉及到 Web 容器或 Servlet 引擎。根据请求类型以及故障发生位置,问题可能涉及这些组件中的任何组件,在故障诊断期间必须考虑所有组件。
由于安全 EJB 请求是通过 RMI/IIOP 协议传输,所以,它们极有可能涉及 ORB 和命名组件。另外,当启用工作负载管理器 (WLM) 时,还可观察到代码中的其他行为更改。为安全起见,所有这些组件紧密交互以便 在此环境中正确工作。有时,任何或所有这些组件中的跟踪对于故障诊断此区域中的问题是必需的。
首先的跟踪规范是 SASRas=all=enabled:com.ibm.ws.security.*=all=enabled。 当 SAS/安全性跟踪似乎不指出此问题时,ORB 跟踪也非常有用。
安全 EJB 请求从控制器传递到服务方。Web 请求大多被控制器忽略。因此,EJB 请求首先被处理并由 zSAS 或公共安全性互操作性版本 2 (CSIv2) 层安全性认证。权限由服务方完成。如果发生认证失败,那么必须打开 zSAS 类型级别跟踪以诊断问题。可使用 WebSphere Application Server 组件跟踪 (CTRACE) 工具来诊断其他问题。
- 问题似乎与安全套接字层 (SSL) 相关吗?
SSL 是一个完全不同的安全性分隔层。对 SSL 问题进行故障诊断通常独立于对认证和授权问题进行的故障诊断,需要考虑多个方面。通常,SSL 问题是最初进行设置时发生的问题,这是因为配置可能比较困难。每个客户机必须包含服务器的签署者证书。在相互认证期间,每个服务器必须包含客户机的签署者证书。并且,可能存在协议差异(SSLv3 与传输层安全性 (TLS))和与过时的“互操作对象引用”IOR(即来自某个服务器(此服务器反映服务器重新启动之前的端口)的 IOR)相关的侦听器端口问题。
在 z/OS 中,使用 SSL 的两个变种。要确定 z/OS 上 SSL 问题的原因,必须知道使用的是什么协议。
- 因特网 ORB 间协议 (IIOP) 和 HTTPS 协议使用系统 SSL。
- 所有其他协议,例如 SOAP 使用 Java 安全套接字扩展 (JSSE)。
- 系统 SSL 请求在控制器中处理,并由 z/SAS 和 CSIv2 安全性使用。
- SJSSE 主要由服务方使用,但也有在控制器中使用的例子。
对于 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
- com.ibm.ws.wim.* 用于跟踪虚拟成员管理器 (VMM) 存储库
![[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。
- 当对连接类型问题进行故障诊断时,最好同时跟踪 CSIv2 与 SAS 或 CSIv2 与 zSAS 和 ORB。为此,请使用以下三个跟踪规范:SASRas=all=enabled:com.ibm.ws.security.*=all=enabled:ORBRas=all=enabled。
- 除了添加这些跟踪规范,对于 ORB 跟踪,存在一对也需要设置的系统属性。要设置这些属性,请单击ORB 跟踪选项。此选项设置您在前发行版中必须手动设置的两个属性。有关更多信息,请参阅“对象请求代理服务设置”主题。 。选择
配置 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。
- 当对连接类型问题进行故障诊断时,最好同时跟踪 CSIv2 与 SAS 或 CSIv2 与 zSAS 和 ORB。为此,请使用以下三个跟踪规范:SASRas=all=enabled:com.ibm.ws.security.*=all=enabled:ORBRas=all=enabled。
- 除了添加这些跟踪规范,对于 ORB 跟踪,存在一对也需要设置的系统属性。转至 GUI 中的 ORB 设置,并添加以下两个属性:com.ibm.CORBA.Debug=true 和 com.ibm.CORBA.CommTrace=true。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
![[z/OS]](../images/ngzos.gif)
CSIv2 CORBA 次代码
当在客户机或服务器上的安全性代码中发生异常时,最终的异常都将成为公共对象请求代理体系结构 (CORBA) 异常。发生的任何异常都会嵌入到 CORBA 异常中,因为安全服务使用 CORBA 体系结构来进行进程内通信。CORBA 异常是常见异常,指示两个组件之间的通信存在问题。CORBA 次代码有针对性一些,并指示组件无法完成请求的根本原因。
下列显示运行与安全性相关的请求(如,认证)后客户机期望可以接收到的 CORBA 次代码。它还包括次代码将在其中出现的 CORBA 异常类型。
以下异常显示 CORBA 异常的示例(其中次代码是 49424300)并指示认证失败。通常,在该异常中还包括描述性消息以辅助故障诊断此问题。在此,详细消息是:“为 jdoe 用户从 SecurityServer 调用 authenticateBasicAuthData 而捕获到异常。原因: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)
次代码名称 | 次代码值(十六进制) | 异常类型(所有类型都在 org.omg.CORBA .* 包中) | 次代码描述 | 独立客户机执行重试(当 authenticationRetryEnabled = true 时) | 由充当客户机的服务器执行重试(当 authenticationRetryEnabled = true 时) |
---|---|---|---|---|---|
AuthenticationFailed | 49424300 | NO_PERMISSION | 此代码是常见认证失败错误。它没有提供有关用户标识或密码是否有效的任何详细信息。可以选择某些用户注册表以使用此类错误代码,可以选择其他注册表以使用后面三个更具有针对性的类型。 | 是 | 是 |
InterceptLocateException | 494210B8 | INTERNAL | 此代码指示处理入局定位请求时发生问题。 | 否 | 否 |
InvalidUserid | 49424301 | NO_PERMISSION | 此代码在注册表返回错误的用户标识时出现。 | 是 | 否 |
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 | 此错误表明当启用身份声明时,无法从身份令牌中获得该标识。 | 否 | 否 |
IdentityServerNotTrusted | 4942430D | NO_PERMISSION | 此代码指示发送服务器的服务器标识不在目标服务器的可信主体列表中。
|
否 | 否 |
InvalidMessage | 4942430E | NO_PERMISSION | 此代码指示 CSIv2 消息格式对于接收服务器无效。 | 否 | 否 |
MappingFailed | 4942430F | NO_PERMISSION | 这表明使用 RMI 入站系统登录配置来映射入站主题时发生错误。 | 否 | 否 |
RevokedSecurityName | 49424310 | NO_PERMISSION | 这表明用户标识被撤销。 | 是 | 否 |
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 的有效 Policy 对象不存在。该对象用于确定已指定的安全性配置功能部件。 | 否 | 否 |
NullPointerException | 494210B4 | INTERNAL | 此代码用于表明在运行时中捕获到 NullPointerException。 | 否 | 否 |
ErrorGettingClassInstance | 494210B5 | INTERNAL | 表明动态装入类的问题。 | 否 | 否 |
MalFormedParameters | 494210B6 | INTERNAL | 表明参数无效。 | 否 | 否 |
DuplicateSecurityAttributeType | 494210B7 | INTERNAL | 此代码指示在 set_attributes 操作期间指定了重复的凭证属性。 | 否 | 否 |
MethodNotImplemented | 494210C0 | NO_IMPLEMENT | 此代码指示所调用的方法尚未实现。 | 否 | 否 |
GSSFormatError | 494210C5 | BAD_PARAM | 此代码表明类属安全性服务 (GSS) 编码或译码例程产生了错误。 | 否 | 否 |
TagComponentFormatError | 494210C6 | BAD_PARAM | 此代码表明无法正确读标记组件。 | 否 | 否 |
InvalidSecurityAttributeType | 494210C7 | BAD_PARAM | 此代码表明在 set_attributes 操作期间指定的属性类型是无效类型。 | 否 | 否 |
SecurityConfigError | 494210CA | INITIALIZE | 此代码指示客户机和服务器配置之间存在问题。 | 否 | 否 |