安全性组件故障诊断技巧
本文档介绍了诊断安全相关问题的基本资源和步骤WebSphere® Application Server。
什么日志文件看看以及在其中寻找什么。
- 看什么和寻找什么使用SDSF。
- 解决安全相关问题的通用方法隔离并解决安全问题。
- 何时以及如何追踪安全。
设置组件跟踪(CTRACE)是一个将有助于您的追踪活动的主题。
概述和表格CSIv2 CORBA 次要代码。
- 启用安全性后出现错误和访问问题
启用了安全性之后,就可以实现性能降级。 看实现全球安全有关使用不受限制的策略文件的信息。
- 启用 SSL 后出现错误,或与 SSL 相关的错误消息
尝试配置和启用安全性时出错
如果这些步骤都不能解决此问题,请使用“诊断和修正问题:学习资源”中的链接来检查是否已识别和记录了此问题。
如果您没有看到与您的问题相似的问题,或者提供的信息无法解决您的问题,请参阅故障排除帮助IBM为进一步协助。
日志文件
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 认证CWSCJ4001E:登录失败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埃CWSCJ0237E:一个或多个重要LTPAServerObject配置 属性为空或不可用。 The attributes and values are password : LTPA 密码确实存在,有效期 30 天,私钥 <null>,公钥 <null>, 和共享密钥<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 。登记] 连接对象到 ORB 时发生异常。 检查 SSL 配置以确保 SSLkeyStore和trustStore属性设置正确。 如果问题 仍然存在,请联系支持人员寻求帮助。 org.omg.CORBA.OBJ_ADAPTER: ORB_CONNECT_ERROR (5) - couldn't get Server Subcontract minor code: 4942FB8F completed: No
使用 SDSF
对安全性组件进行故障诊断时,使用系统显示和搜索功能 (SDSF) 来浏览主管您正尝试访问的资源的服务器的日志。 下面的消息样本帮助您查看在哪个服务器中成功启动了安全服务:
+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 *** 消息开头为BBOO0222I申请 Java 需在 *** 内 *** WebSphere Application Server安全 *** +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 com.ibm.ws.security.registry.zOS.SAFRegistryImpl +BBOO0222I: SECJ0157I: Loaded Vendor AuthorizationTable: 633 com.ibm.ws.security.core.SAFAuthorizationTableImpl
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已
已初始化
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:运输通道服务已启动链
WCInboundAdmin.
BBOO0222I: CHFW0019I:运输通道服务已启动链
WCInboundDefault.
BBOO0222I: CHFW0019I:运输通道服务已启动链
WCInboundAdminSecure.
BBOO0222I: CHFW0019I:运输通道服务已启动链
WCInboundDefaultSecure.
BBOO0222I: WSVR0001I:服务器SERVANT进程server1开放
电子商务
BBOO0020I WEBSPHERE FOR Z/OS SERVANT 初始化完成
过程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 安全性已禁用。
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
班级。
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 活动日志中生成的以下消息序列表明应用程序服务器的正常代码初始化。 非安全性消息已从以下的序列中移除。 此序列将根据配置而改变,但消息类似于:追踪:2013/05/06 17:27:31.539 01 t=8E96E0韋克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:安全组件的 FFDC 诊断模块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 错误信息: BBOO0222I: SECJ0231I:安全组件的 FFDC 诊断模块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:设置成功JAAS登录 提供程序配置类com.ibm.ws.securit 配置。 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:世界气候模型委员会JAAS配置信息 已成功推送至登录提供商类 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 错误信息: BBOO0222I: SECJ0212I:世界气候模型委员会JAAS配置信息 成功推送至登录提供程序类。 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:安全服务初始化 成功完成 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 错误信息: BBOO0222I: SECJ0240I:安全服务初始化 成功完成 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:对象池管理器服务 已禁用。 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:风俗 Registry:com.ibm.ws.security.registry.zOS.SAFRegistryImpl 已初始化 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:已加载供应商 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。
有关启用跟踪的详细信息,请参阅使用 Trace 。
- 问题与认证相关还是与授权相关?
- 大多数安全性问题被归入这两个类别中的一个。 认证是确定谁是调用者的过程。 授权是验证调用者有正确的权限调用所请求方法的进程。 当认证失败时,通常此故障与认证协议、认证机制或用户注册表相关。 当授权失败时,这通常与来自组装和部署的应用程序绑定以及正在访问方法及方法所需角色的调用者标识相关。
- 这是 Web 请求还是 EJB 请求?
Web 请求的代码路径与 Enterprise 完全不同JavaBeans (EJB)请求。 Web 请求和 EJB 请求具有不同的安全性功能,需要一个完全不同的知识主体来解决。 例如,当使用轻量级第三方认证 (LTPA) 认证机制时,单点登录功能 (SSO) 可用于 Web 请求但不可用于 EJB 请求。 由于协议差异,Web 请求包含 HTTP 头信息(而 EJB 请求不需要)。 并且,在整个过程中都将涉及到 Web 容器或 Servlet 引擎。 根据请求类型以及故障发生位置,问题可能涉及这些组件中的任何组件,在故障诊断期间必须考虑所有组件。
安全 EJB 请求大量涉及 ORB 和命名组件,因为它们通过 RMI/IIOP 协议流动。 另外,当启用工作负载管理器 (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 变体。 要确定 SSL 问题的原因z/OS,您必须知道正在使用什么协议。
- 因特网 ORB 间协议 (IIOP) 和 HTTPS 协议使用系统 SSL。
- 所有其他协议(例如 SOAP)都使用 Java 安全套接字扩展 (JSSE)。
- 系统 SSL 请求在控制器中处理,并由 z/SAS 和 CSIv2 安全性使用。
- SJSSE 主要由服务方使用,但也有在控制器中使用的例子。
对于 SSL 问题,有时可能会接收到 SSL 跟踪请求,用来确定 SSL 握手发生了什么问题。 SSL 握手是当客户机打开到服务器的套接字时发生的进程。 如果在执行交换密钥或交换密码等操作时发生了任何问题,那么握手将失败,因此套接字无效。 跟踪 JSSE(用于WebSphere Application Server) 涉及以下步骤:- 在客户机和服务器进程上设置下列系统属性:-Djavax.net.debug=true。 对于服务器,将系统属性添加到通用 JVM 参数Java 虚拟机设置页面的属性。
同样打开 ORB 跟踪。
- 重新创建此问题。
这SystemOut.log两个进程都包含 JSSE 跟踪。 可以找到类似下例的跟踪:
SSLConnection:安装<com.ibm.sslite.e@3ae78375> >> handleHandshakeV2 <com.ibm.sslite.e@3ae78375> >>handshakeV2类型 = 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类型 = 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类型 = 20 >> 完成。 << 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] 签名: 0000:54 直流B5足总杯 64 C9光盘版B3英孚 15 22 3D D0 20 31 T...d......”=. 1 0010:99 F7 A7 86 F9 4C 82 9F6E 4B 7B 47 18 2E C6 25.....L..nK。G...% 0020: 5B B2 9B 78 D8 76 5C 82 07 95 日B8 44 62 02 62 [..x.v\.....Db.b 0030:60 2A 0A 6D 4FB9 0A 98 14 27 E9 BB 1A 84 8A D1 `*.mO....’...... 0040: C2 22 AF 70 9E A5自由度A2 FD 57 37 公元3A 63 1B EB”。p......W7.:c.. 0050: E8 91 98 9D 7B 21 4A B5 2C 94 足球俱乐部A9三十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] 签名: 0000:54 直流B5足总杯 64 C9光盘版B3英孚 15 22 3D D0 20 31 T...d......”=. 1 0010:99 F7 A7 86 F9 4C 82 9F6E 4B 7B 47 18 2E C6 25.....L..nK。G...% 0020: 5B B2 9B 78 D8 76 5C 82 07 95 日B8 44 62 02 62 [..x.v\.....Db.b 0030:60 2A 0A 6D 4FB9 0A 98 14 27 E9 BB 1A 84 8A D1 `*.mO....’...... 0040: C2 22 AF 70 9E A5自由度A2 FD 57 37 公元3A 63 1B EB”。p......W7.:c.. 0050: E8 91 98 9D 7B 21 4A B5 2C 94 足球俱乐部A9三十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 主题:CN=WASz/OS部署经理,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 53SecureWay年代 0020: 65 63 75 72 69 74 79 20 53 65 72 76 65 72 20 66 ecurity Server f 0030: 6F72 20 7A 2F4F53 20 28 52 41 43 46 29 或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] 签名: 0000:73 0D足球俱乐部E1 8A B3四十二E1 04 73 72 B1 C6 C9 87 54 秒.....嗯……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 直流 15 5F2C F4光盘2F6B 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广告7B 02 13 5A 86 A1 89 93 1E A4 93 63 ......離.......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 53SecureWay年代 0020: 65 63 75 72 69 74 79 20 53 65 72 76 65 72 20 66 ecurity Server f 0030: 6F72 20 7A 2F4F53 20 28 52 41 43 46 29 或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] 签名: 0000:43 88 AB 19 5D 00 54 57 5E 96 梵蒂冈 85 公元 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 足总杯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三十四8E 4B 1D德....U.^2.x.4.K. 0050: F3 82 1D C1 5F7B 3F广告C9 29 足总杯D1 D1十三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] 签名: 0000:54 直流B5足总杯 64 C9光盘版B3英孚 15 22 3D D0 20 31 T...d......”=. 1 0010:99 F7 A7 86 F9 4C 82 9F6E 4B 7B 47 18 2E C6 25.....L..nK。G...% 0020: 5B B2 9B 78 D8 76 5C 82 07 95 日B8 44 62 02 62 [..x.v\.....Db.b 0030:60 2A 0A 6D 4FB9 0A 98 14 27 E9 BB 1A 84 8A D1 `*.mO....’...... 0040: C2 22 AF 70 9E A5自由度A2 FD 57 37 公元3A 63 1B EB”。p......W7.:c.. 0050: E8 91 98 9D 7B 21 4A B5 2C 94 足球俱乐部A9三十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] 签名: 0000:54 直流B5足总杯 64 C9光盘版B3英孚 15 22 3D D0 20 31 T...d......”=. 1 0010:99 F7 A7 86 F9 4C 82 9F6E 4B 7B 47 18 2E C6 25.....L..nK。G...% 0020: 5B B2 9B 78 D8 76 5C 82 07 95 日B8 44 62 02 62 [..x.v\.....Db.b 0030:60 2A 0A 6D 4FB9 0A 98 14 27 E9 BB 1A 84 8A D1 `*.mO....’...... 0040: C2 22 AF 70 9E A5自由度A2 FD 57 37 公元3A 63 1B EB”。p......W7.:c.. 0050: E8 91 98 9D 7B 21 4A B5 2C 94 足球俱乐部A9三十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.*
SAS 系统
- com.ibm.ws.wim.* 使用虚拟成员管理器 (VMM) 存储库进行跟踪
- 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。 例如,编辑配置文件根/properties/TraceSettings.properties。
- 在此文件中,更改 traceFileName= 以指向您要创建输出文件的路径。 例如,traceFileName=配置文件根/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。
CSIv2 CORBA 次代码
当在客户机或服务器上的安全性代码中发生异常时,最终的异常都将成为公共对象请求代理体系结构 (CORBA) 异常。 发生的任何异常都会嵌入到 CORBA 异常中,因为安全服务使用 CORBA 体系结构来进行进程内通信。 CORBA 异常是常见异常,指示两个组件之间的通信存在问题。 CORBA 次代码有针对性一些,并指示组件无法完成请求的根本原因。
下列显示运行与安全性相关的请求(如,认证)后客户机期望可以接收到的 CORBA 次代码。 它还包括次代码将在其中出现的 CORBA 异常类型。
以下异常显示 CORBA 异常的示例(其中次代码是 49424300)并指示认证失败。 通常,在该异常中还包括描述性消息以辅助故障诊断此问题。 以下是详细信息:调用时捕获异常authenticateBasicAuthData从SecurityServer对于用户 jdoe。 原因: com.ibm.WebSphereSecurity.AuthenticationFailedException
这表明用户身份验证失败杰多。
异常中的“是否完成”字段指示方法是否已完成。 在 NO_PERMISSION 的情况下,从未调用该消息;因此它始终是 completed:No。 在服务器端捕获的其他异常的完成状态可以是或许
或者是的
。
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. 原因:
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 | 内部 | 此代码指示处理入局定位请求时发生问题。 | 否 | 否 |
| 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 | 内部 | 此代码是系统代码中常见的特定于 CORBA 的异常。 | 否 | 否 |
| JavaException | 494210B1 | 内部 | 这是一个一般错误,表示发生了意外的 Java 异常。 | 否 | 否 |
| ValueIsNull | 494210B2 | 内部 | 此代码用来表明传入的值或参数为空。 | 否 | 否 |
| EffectivePolicyNotPresent | 494210B3 | 内部 | 表明用于 CSIv2 的有效 Policy 对象不存在。 该对象用于确定已指定的安全性配置功能部件。 | 否 | 否 |
| NullPointerException | 494210B4 | 内部 | 此代码用于表明在运行时中捕获到 NullPointerException。 | 否 | 否 |
| ErrorGettingClassInstance | 494210B5 | 内部 | 表明动态装入类的问题。 | 否 | 否 |
| MalFormedParameters | 494210B6 | 内部 | 表明参数无效。 | 否 | 否 |
| DuplicateSecurityAttributeType | 494210B7 | 内部 | 此代码指示在 set_attributes 操作期间指定了重复的凭证属性。 | 否 | 否 |
| MethodNotImplemented | 494210C0 | NO_IMPLEMENT | 此代码指示所调用的方法尚未实现。 | 否 | 否 |
| GSSFormatError | 494210C5 | BAD_PARAM | 此代码表明类属安全性服务 (GSS) 编码或译码例程产生了错误。 | 否 | 否 |
| TagComponentFormatError | 494210C6 | BAD_PARAM | 此代码表明无法正确读标记组件。 | 否 | 否 |
| InvalidSecurityAttributeType | 494210C7 | BAD_PARAM | 此代码表明在 set_attributes 操作期间指定的属性类型是无效类型。 | 否 | 否 |
| SecurityConfigError | 494210CA | INITIALIZE | 此代码指示客户机和服务器配置之间存在问题。 | 否 | 否 |