安全性审计使您能够对 Web Service 运行时操作的可审计事件进行跟踪和归档。对 Web Service 启用了安全性审计时,事件生成器实用程序会收集签名、加密、安全性、认证和委派事件并将其记录在审计事件记录中。可以分析这些审计事件记录,以标识环境的安全性配置中可能的安全性违规或潜在不足。
在事件生成器可为 Web Service 安全性运行时收集审计记录之前,必须对 WebSphere® Application Server 启用审计安全性子系统。通过启用安全性审计子系统来完成对可审计安全性事件的记录。有关启用安全性审计的更多信息,请参阅“启用安全性审计子系统”主题。
仅会对 JAX-WS 运行时启用 Web Service 安全性审计。当接收到 SOAP 消息时,会发生若干审计事件。在各种
Web Service 安全性运行时操作(例如,验证 SOAP 消息的数字签名、对消息进行解密或检查消息安全性头)期间,会收集审计数据。审计数据由事件生成器存储并管理,并且存储在审计日志中以供将来分析。
Web Service 的可审计事件包括下列各项:
签名
因为会验证每个 SOAP 消息部件中的数字签名,所以会将
SECURITY_SIGNING 事件与结果(可以是 SUCCESS 或 ERROR)一起发送至事件生成器。还会发送原因码(VALID_SIGNATURE
或 INVALID_SIGNATURE)。会对消息的完整性进行审计,并且对 SECURITY_SIGNING 事件以及结果 SUCCESS 或 DENIED
进行审计。原因码为 INTEGRITY 或 INTEGRITY_BAD。下表概述了签名事件:
表 1. 签名审计事件. 使用签名审计事件记录来标识安全性配置中可能存在的安全性违规或潜在不足。事件类型 |
可能的结果 |
原因码 |
SECURITY_SIGNING(数字签名) |
SUCCESS
ERROR
|
VALID_SIGNATURE
INVALID_SIGNATURE
|
SECURITY_SIGNING(完整性) |
SUCCESS
DENIED
|
INTEGRITY
INTEGRITY_BAD
|
如果 SECURITY_SIGNING 事件结果为 DENIED,并且原因码为 INTEGRITY_BAD,那么这意味着,至少一个必须由安全策略签署的消息部件未能通过签名验证。如果
SECURITY_SIGNING 事件结果为 ERROR,并且原因码为 INVALID_SIGNATURE,那么这意味着,数字签名验证失败。根据安全策略是否需要数字签名,这可导致审计记录中出现原因码
INTEGRITY_BAD。
加密
会按以下两部分执行加密审计:首先,对 SOAP 消息的已加密部件进行处理,然后,对该消息的机密性进行审计。为了对该消息的每个已加密部件进行审计,会发送
SECURITY_ENCRYPTION 事件。仅当该事件的结果为 ERROR(意味着遇到异常)时,才会创建事件记录。原因码为 DECRYPTION_ERROR。接着,会通过另一
SECURITY_ENCRYPTION 事件来检查消息的机密性,该事件的可能结果为 SUCCESS 或 DENIED。此事件的原因码为 CONFIDENTIALITY 或 CONFIDENTIALITY_BAD。下表概述了加密事件:
表 2. 加密审计事件. 使用加密审计事件记录来标识安全性配置中可能存在的安全性违规或潜在不足。事件类型 |
可能的结果 |
原因码 |
SECURITY_ENCRYPTION(已加密消息部件) |
ERROR |
DECRYPTION_ERROR |
SECURITY_ENCRYPTION(机密性) |
SUCCESS
DENIED
|
CONFIDENTIALITY
CONFIDENTIALITY_BAD
|
如果 SECURITY_ENCRYPTION 事件结果为 DENIED,并且原因码为 CONFIDENTIALITY_BAD,那么这意味着,至少一个需要加密的消息部件未正确加密。根据是否需要加密消息,审计记录中的
DECRYPTION_ERROR 可导致原因码 CONFIDENTIALITY_BAD。
时间戳记
对于每条 SOAP 消息,当 SECURITY_RESOURCE_ACCESS 事件被发送至事件生成器时,会对时间戳记进行审计。此事件的可能结果为
SUCCESS 或 DENIED。原因码为 TIMESTAMP 或 TIMESTAMP_BAD。下表概述了时间戳记事件:
表 3. 时间戳记审计事件. 使用时间戳记审计事件记录来标识安全性配置中可能存在的安全性违规或潜在不足。事件类型 |
可能的结果 |
原因码 |
SECURITY_RESOURCE_ACCESS |
SUCCESS
DENIED
|
TIMESTAMP
TIMESTAMP_BAD
|
安全性头
会对安全性头进行审计,以确保 SOAP 消息中不缺少该头。会发送
SECURITY_RESOURCE_ACCESS 事件,如果缺少该头,那么结果为 DENIED,原因码为 SECURITY_HEADER_MISSING。下表概述了安全性头事件:
表 4. 安全性头审计事件. 使用安全性审计事件记录来标识安全性配置中可能存在的安全性违规或潜在不足。事件类型 |
可能的结果 |
原因码 |
SECURITY_RESOURCE_ACCESS |
DENIED |
SECURITY_HEADER_MISSING |
认证
会对用来认证消息的安全性令牌进行审计,以确定认证是否成功,并且会将有关认证类型、提供程序名称和提供程序状态的信息保存在审计事件记录中。还会记录令牌标识以及特定于令牌类型(例如用户名或密钥库)的信息。不会将敏感信息(例如令牌本身或令牌密码)记录在审计事件记录中。下表中描述了为每个令牌类型记录的信息:
表 5. 记录在审计事件记录中的令牌信息. 使用认证审计事件记录来标识安全性配置中可能存在的安全性违规或潜在不足。令牌类型 |
已记录的信息 |
用户名令牌 |
|
LTPA |
|
LTPAPropagate |
|
SecureConversation |
|
DerivedKey |
|
Kerberos |
|
X509 |
- 证书
- 主体集
- 签发者
- 密钥库
- 令牌标识
- TrustAny
|
PKP 路径(公共密钥基础结构) |
- 证书
- 主体集
- 签发者
- 密钥库
- 令牌标识
- TrustAny
|
PKCS7(公用密钥密码术标准) |
- 证书
- 主体集
- 签发者
- 密钥库
- 令牌标识
- TrustAny
|
SAML 令牌 |
|
消息认证是通过使用 SECURITY_AUTHN 事件审计的。该事件的可能结果为
SUCCESS、DENIED 或 FAILURE。原因码为 AUTHN_SUCCESS、AUTHN_LOGIN_EXCEPTION 或 AUTHN_PRIVILEDGE_ACTION_EXCEPTION。下表概述了认证事件:
表 6. 认证审计事件. 使用认证审计事件记录来标识安全性配置中可能存在的安全性违规或潜在不足。事件类型 |
可能的结果 |
原因码 |
SECURITY_AUTHN |
SUCCESS
DENIED
FAILURE
|
AUTHN_SUCCESS
AUTHN_LOGIN_EXCEPTION
AUTHN_PRIVILEDGE_ACTION_EXCEPTION
|
委派
可以委派对 SOAP 消息进行认证,委派功能是通过使用 SECURITY_AUTHN_DELEGATION
事件进行审计的。当传播客户机标识或委派涉及特殊标识的使用时,会发送此事件。在 Web Service 安全性运行时中,仅当委派类型设置为“身份断言”时,才会记录审计事件。可能的结果为
SUCCESS 或 DENIED,原因码为 AUTHN_SUCCESS 或 AUTHN_DENIED。会收集其他信息(例如委派类型、角色名称和标识名称)并将其存储在审计事件记录中。下表概述了委派事件:
表 7. 委派审计事件. 使用委派审计事件记录来标识安全性配置中可能存在的安全性违规或潜在不足。事件类型 |
可能的结果 |
原因码 |
SECURITY_AUTHN_DELEGATION |
SUCCESS
DENIED
|
AUTHN_SUCCESS
AUTHN_DENIED
|
验证
作为通用安全性令牌登录模块支持的一部分,安全性令牌服务可以使用
WS-Trust Validate 请求来验证令牌。此验证操作会返回一个令牌来交换正在验证的令牌。所交换的信息位于有关对通用安全性令牌进行审计的文档中。下表显示了所记录的令牌交换信息。
表 8. 令牌交换. 使用令牌交换信息来跟踪令牌交换过程。事件 |
描述 |
TokenSentForExchangeId |
此信息标识所发送的要进行验证且已交换的令牌。 |
TokenSentForExchangeType |
此信息标识所发送的要进行验证且已交换的令牌的类型。 |
ExchangedTokenId |
此信息标识所接收到的在处理验证请求期间交换的令牌。 |
ExchangedTokenType |
此信息标识所接收到的在处理验证请求期间交换的令牌的类型。 |
如果验证了令牌,但是未交换令牌,那么将仅记录令牌标识。